@consta/uikit 4.24.0 → 4.26.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 (395) hide show
  1. package/ComboboxCanary/index.d.ts +1 -0
  2. package/ComboboxCanary/index.js +1 -0
  3. package/SelectCanary/index.d.ts +1 -0
  4. package/SelectCanary/index.js +1 -0
  5. package/UserSelectCanary/index.d.ts +1 -0
  6. package/UserSelectCanary/index.js +1 -0
  7. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteCanary.js +1 -1
  8. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteCanary.js.map +1 -1
  9. package/__internal__/src/components/AutoCompleteCanary/helpers.d.ts +8 -2
  10. package/__internal__/src/components/AutoCompleteCanary/types.d.ts +13 -2
  11. package/__internal__/src/components/AutoCompleteCanary/types.js.map +1 -1
  12. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.d.ts +6 -0
  13. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.js +1 -1
  14. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.js.map +1 -1
  15. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabs.css +1 -0
  16. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabs.d.ts +4 -0
  17. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabs.js +2 -0
  18. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabs.js.map +1 -0
  19. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.css +1 -0
  20. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.d.ts +4 -0
  21. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.js +2 -0
  22. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.js.map +1 -0
  23. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/index.d.ts +1 -0
  24. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/index.js +2 -0
  25. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/index.js.map +1 -0
  26. package/__internal__/src/components/BookmarkTabsCanary/helper.d.ts +281 -0
  27. package/__internal__/src/components/BookmarkTabsCanary/helper.js +2 -0
  28. package/__internal__/src/components/BookmarkTabsCanary/helper.js.map +1 -0
  29. package/__internal__/src/components/BookmarkTabsCanary/index.d.ts +2 -0
  30. package/__internal__/src/components/BookmarkTabsCanary/index.js +2 -0
  31. package/__internal__/src/components/BookmarkTabsCanary/index.js.map +1 -0
  32. package/__internal__/src/components/BookmarkTabsCanary/types.d.ts +88 -0
  33. package/__internal__/src/components/BookmarkTabsCanary/types.js +2 -0
  34. package/__internal__/src/components/BookmarkTabsCanary/types.js.map +1 -0
  35. package/__internal__/src/components/BookmarkTabsCanary/useBookmarkTabs.d.ts +24 -0
  36. package/__internal__/src/components/BookmarkTabsCanary/useBookmarkTabs.js +2 -0
  37. package/__internal__/src/components/BookmarkTabsCanary/useBookmarkTabs.js.map +1 -0
  38. package/__internal__/src/components/Button/Button.css +1 -1
  39. package/__internal__/src/components/Collapse/Collapse.css +1 -1
  40. package/__internal__/src/components/CollapseGroup/helpers.d.ts +3 -3
  41. package/__internal__/src/components/Combobox/helpers.d.ts +2 -2
  42. package/__internal__/src/components/ComboboxCanary/ComboboxCanary.d.ts +4 -0
  43. package/__internal__/src/components/ComboboxCanary/ComboboxCanary.js +2 -0
  44. package/__internal__/src/components/ComboboxCanary/ComboboxCanary.js.map +1 -0
  45. package/__internal__/src/components/ComboboxCanary/helpers.d.ts +186 -0
  46. package/__internal__/src/components/ComboboxCanary/helpers.js +2 -0
  47. package/__internal__/src/components/ComboboxCanary/helpers.js.map +1 -0
  48. package/__internal__/src/components/ComboboxCanary/index.d.ts +2 -0
  49. package/__internal__/src/components/ComboboxCanary/index.js +2 -0
  50. package/__internal__/src/components/ComboboxCanary/index.js.map +1 -0
  51. package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.d.ts +1 -1
  52. package/__internal__/src/components/ContextMenu/helpers.d.ts +2 -2
  53. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.d.ts +3 -3
  54. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.d.ts +4 -4
  55. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.d.ts +3 -3
  56. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.d.ts +4 -4
  57. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.d.ts +3 -3
  58. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.d.ts +4 -4
  59. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.d.ts +3 -3
  60. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.d.ts +3 -3
  61. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.d.ts +4 -4
  62. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
  63. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
  64. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
  65. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js.map +1 -1
  66. package/__internal__/src/components/EventInterceptor/propsHandlers/useTextFieldEventsHandler.d.ts +4 -4
  67. package/__internal__/src/components/Select/helpers.d.ts +1 -1
  68. package/__internal__/src/components/SelectCanary/SelectCanary.d.ts +4 -0
  69. package/__internal__/src/components/SelectCanary/SelectCanary.js +2 -0
  70. package/__internal__/src/components/SelectCanary/SelectCanary.js.map +1 -0
  71. package/__internal__/src/components/SelectCanary/helpers.d.ts +159 -0
  72. package/__internal__/src/components/SelectCanary/helpers.js +2 -0
  73. package/__internal__/src/components/SelectCanary/helpers.js.map +1 -0
  74. package/__internal__/src/components/SelectCanary/index.d.ts +1 -0
  75. package/__internal__/src/components/SelectCanary/index.js +2 -0
  76. package/__internal__/src/components/SelectCanary/index.js.map +1 -0
  77. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js +1 -1
  78. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js.map +1 -1
  79. package/__internal__/src/components/SelectComponentsCanary/Select.css +1 -0
  80. package/__internal__/src/components/SelectComponentsCanary/SelectContainer/SelectContainer.d.ts +20 -0
  81. package/__internal__/src/components/SelectComponentsCanary/SelectContainer/SelectContainer.js +2 -0
  82. package/__internal__/src/components/SelectComponentsCanary/SelectContainer/SelectContainer.js.map +1 -0
  83. package/__internal__/src/components/SelectComponentsCanary/SelectContainer/index.d.ts +1 -0
  84. package/__internal__/src/components/SelectComponentsCanary/SelectContainer/index.js +2 -0
  85. package/__internal__/src/components/SelectComponentsCanary/SelectContainer/index.js.map +1 -0
  86. package/__internal__/src/components/SelectComponentsCanary/SelectCreateButton/SelectCreateButton.css +1 -0
  87. package/__internal__/src/components/SelectComponentsCanary/SelectCreateButton/SelectCreateButton.d.ts +15 -0
  88. package/__internal__/src/components/SelectComponentsCanary/SelectCreateButton/SelectCreateButton.js +2 -0
  89. package/__internal__/src/components/SelectComponentsCanary/SelectCreateButton/SelectCreateButton.js.map +1 -0
  90. package/__internal__/src/components/SelectComponentsCanary/SelectCreateButton/index.d.ts +1 -0
  91. package/__internal__/src/components/SelectComponentsCanary/SelectCreateButton/index.js +2 -0
  92. package/__internal__/src/components/SelectComponentsCanary/SelectCreateButton/index.js.map +1 -0
  93. package/__internal__/src/components/SelectComponentsCanary/SelectDropdown/SelectDropdown.css +1 -0
  94. package/__internal__/src/components/SelectComponentsCanary/SelectDropdown/SelectDropdown.d.ts +41 -0
  95. package/__internal__/src/components/SelectComponentsCanary/SelectDropdown/SelectDropdown.js +2 -0
  96. package/__internal__/src/components/SelectComponentsCanary/SelectDropdown/SelectDropdown.js.map +1 -0
  97. package/__internal__/src/components/SelectComponentsCanary/SelectDropdown/index.d.ts +1 -0
  98. package/__internal__/src/components/SelectComponentsCanary/SelectDropdown/index.js +2 -0
  99. package/__internal__/src/components/SelectComponentsCanary/SelectDropdown/index.js.map +1 -0
  100. package/__internal__/src/components/SelectComponentsCanary/SelectGroupLabel/SelectGroupLabel.d.ts +10 -0
  101. package/__internal__/src/components/SelectComponentsCanary/SelectGroupLabel/SelectGroupLabel.js +2 -0
  102. package/__internal__/src/components/SelectComponentsCanary/SelectGroupLabel/SelectGroupLabel.js.map +1 -0
  103. package/__internal__/src/components/SelectComponentsCanary/SelectGroupLabel/index.d.ts +1 -0
  104. package/__internal__/src/components/SelectComponentsCanary/SelectGroupLabel/index.js +2 -0
  105. package/__internal__/src/components/SelectComponentsCanary/SelectGroupLabel/index.js.map +1 -0
  106. package/__internal__/src/components/SelectComponentsCanary/SelectItem/SelectItem.css +1 -0
  107. package/__internal__/src/components/SelectComponentsCanary/SelectItem/SelectItem.d.ts +17 -0
  108. package/__internal__/src/components/SelectComponentsCanary/SelectItem/SelectItem.js +2 -0
  109. package/__internal__/src/components/SelectComponentsCanary/SelectItem/SelectItem.js.map +1 -0
  110. package/__internal__/src/components/SelectComponentsCanary/SelectItem/index.d.ts +1 -0
  111. package/__internal__/src/components/SelectComponentsCanary/SelectItem/index.js +2 -0
  112. package/__internal__/src/components/SelectComponentsCanary/SelectItem/index.js.map +1 -0
  113. package/__internal__/src/components/SelectComponentsCanary/SelectItemAll/SelectItemAll.css +1 -0
  114. package/__internal__/src/components/SelectComponentsCanary/SelectItemAll/SelectSelectAll.d.ts +14 -0
  115. package/__internal__/src/components/SelectComponentsCanary/SelectItemAll/SelectSelectAll.js +2 -0
  116. package/__internal__/src/components/SelectComponentsCanary/SelectItemAll/SelectSelectAll.js.map +1 -0
  117. package/__internal__/src/components/SelectComponentsCanary/SelectItemAll/index.d.ts +1 -0
  118. package/__internal__/src/components/SelectComponentsCanary/SelectItemAll/index.js +2 -0
  119. package/__internal__/src/components/SelectComponentsCanary/SelectItemAll/index.js.map +1 -0
  120. package/__internal__/src/components/SelectComponentsCanary/SelectLoader/SelectLoader.css +1 -0
  121. package/__internal__/src/components/SelectComponentsCanary/SelectLoader/SelectLoader.d.ts +3 -0
  122. package/__internal__/src/components/SelectComponentsCanary/SelectLoader/SelectLoader.js +2 -0
  123. package/__internal__/src/components/SelectComponentsCanary/SelectLoader/SelectLoader.js.map +1 -0
  124. package/__internal__/src/components/SelectComponentsCanary/SelectLoader/index.d.ts +1 -0
  125. package/__internal__/src/components/SelectComponentsCanary/SelectLoader/index.js +2 -0
  126. package/__internal__/src/components/SelectComponentsCanary/SelectLoader/index.js.map +1 -0
  127. package/__internal__/src/components/SelectComponentsCanary/SelectValueTag/SelectValueTag.css +1 -0
  128. package/__internal__/src/components/SelectComponentsCanary/SelectValueTag/SelectValueTag.d.ts +12 -0
  129. package/__internal__/src/components/SelectComponentsCanary/SelectValueTag/SelectValueTag.js +2 -0
  130. package/__internal__/src/components/SelectComponentsCanary/SelectValueTag/SelectValueTag.js.map +1 -0
  131. package/__internal__/src/components/SelectComponentsCanary/SelectValueTag/index.d.ts +1 -0
  132. package/__internal__/src/components/SelectComponentsCanary/SelectValueTag/index.js +2 -0
  133. package/__internal__/src/components/SelectComponentsCanary/SelectValueTag/index.js.map +1 -0
  134. package/__internal__/src/components/SelectComponentsCanary/cnSelect.d.ts +3 -0
  135. package/__internal__/src/components/SelectComponentsCanary/cnSelect.js +2 -0
  136. package/__internal__/src/components/SelectComponentsCanary/cnSelect.js.map +1 -0
  137. package/__internal__/src/components/SelectComponentsCanary/helpers.d.ts +4 -0
  138. package/__internal__/src/components/SelectComponentsCanary/helpers.js +2 -0
  139. package/__internal__/src/components/SelectComponentsCanary/helpers.js.map +1 -0
  140. package/__internal__/src/components/SelectComponentsCanary/types.d.ts +34 -0
  141. package/__internal__/src/components/SelectComponentsCanary/types.js +2 -0
  142. package/__internal__/src/components/SelectComponentsCanary/types.js.map +1 -0
  143. package/__internal__/src/components/SelectComponentsCanary/useSelect/helpers.d.ts +14 -0
  144. package/__internal__/src/components/SelectComponentsCanary/useSelect/helpers.js +2 -0
  145. package/__internal__/src/components/SelectComponentsCanary/useSelect/helpers.js.map +1 -0
  146. package/__internal__/src/components/SelectComponentsCanary/useSelect/index.d.ts +1 -0
  147. package/__internal__/src/components/SelectComponentsCanary/useSelect/index.js +2 -0
  148. package/__internal__/src/components/SelectComponentsCanary/useSelect/index.js.map +1 -0
  149. package/__internal__/src/components/SelectComponentsCanary/useSelect/useSelect.d.ts +84 -0
  150. package/__internal__/src/components/SelectComponentsCanary/useSelect/useSelect.js +2 -0
  151. package/__internal__/src/components/SelectComponentsCanary/useSelect/useSelect.js.map +1 -0
  152. package/__internal__/src/components/Slider/helper.d.ts +1 -1
  153. package/__internal__/src/components/SnackBar/helper.d.ts +1 -1
  154. package/__internal__/src/components/SpoilerCanary/SpoilerButton/SpoilerButton.js +1 -1
  155. package/__internal__/src/components/SpoilerCanary/SpoilerButton/SpoilerButton.js.map +1 -1
  156. package/__internal__/src/components/TagBase/TagBase.d.ts +1 -1
  157. package/__internal__/src/components/TextField/TextField.css +1 -1
  158. package/__internal__/src/components/TextField/TextField.js +1 -1
  159. package/__internal__/src/components/TextField/TextField.js.map +1 -1
  160. package/__internal__/src/components/UserSelect/helpers.d.ts +2 -2
  161. package/__internal__/src/components/UserSelectCanary/UserSelectCanary.d.ts +5 -0
  162. package/__internal__/src/components/UserSelectCanary/UserSelectCanary.js +2 -0
  163. package/__internal__/src/components/UserSelectCanary/UserSelectCanary.js.map +1 -0
  164. package/__internal__/src/components/UserSelectCanary/UserSelectItem/UserSelectItem.css +1 -0
  165. package/__internal__/src/components/UserSelectCanary/UserSelectItem/UserSelectItem.d.ts +14 -0
  166. package/__internal__/src/components/UserSelectCanary/UserSelectItem/UserSelectItem.js +2 -0
  167. package/__internal__/src/components/UserSelectCanary/UserSelectItem/UserSelectItem.js.map +1 -0
  168. package/__internal__/src/components/UserSelectCanary/UserSelectValue/UserSelectValue.css +1 -0
  169. package/__internal__/src/components/UserSelectCanary/UserSelectValue/UserSelectValue.d.ts +15 -0
  170. package/__internal__/src/components/UserSelectCanary/UserSelectValue/UserSelectValue.js +2 -0
  171. package/__internal__/src/components/UserSelectCanary/UserSelectValue/UserSelectValue.js.map +1 -0
  172. package/__internal__/src/components/UserSelectCanary/helpers.d.ts +191 -0
  173. package/__internal__/src/components/UserSelectCanary/helpers.js +2 -0
  174. package/__internal__/src/components/UserSelectCanary/helpers.js.map +1 -0
  175. package/__internal__/src/components/UserSelectCanary/index.d.ts +1 -0
  176. package/__internal__/src/components/UserSelectCanary/index.js +2 -0
  177. package/__internal__/src/components/UserSelectCanary/index.js.map +1 -0
  178. package/__internal__/src/hooks/useFlag/useFlag.d.ts +1 -0
  179. package/__internal__/src/hooks/useFlag/useFlag.js +1 -1
  180. package/__internal__/src/hooks/useFlag/useFlag.js.map +1 -1
  181. package/__internal__/src/hooks/useForkRef/useForkRef.d.ts +2 -1
  182. package/__internal__/src/hooks/useForkRef/useForkRef.js +1 -1
  183. package/__internal__/src/hooks/useForkRef/useForkRef.js.map +1 -1
  184. package/__internal__/src/icons/IconAdd/IconAdd.d.ts +1 -2
  185. package/__internal__/src/icons/IconAddToComparison/IconAddToComparison.d.ts +1 -2
  186. package/__internal__/src/icons/IconAlert/IconAlert.d.ts +1 -2
  187. package/__internal__/src/icons/IconAlignBlocksLeft/IconAlignBlocksLeft.d.ts +1 -2
  188. package/__internal__/src/icons/IconAlignBlocksRight/IconAlignBlocksRight.d.ts +1 -2
  189. package/__internal__/src/icons/IconAlignCenter/IconAlignCenter.d.ts +1 -2
  190. package/__internal__/src/icons/IconAlignJustify/IconAlignJustify.d.ts +1 -2
  191. package/__internal__/src/icons/IconAlignLeft/IconAlignLeft.d.ts +1 -2
  192. package/__internal__/src/icons/IconAlignRight/IconAlignRight.d.ts +1 -2
  193. package/__internal__/src/icons/IconAllDone/IconAllDone.d.ts +1 -2
  194. package/__internal__/src/icons/IconArrowDown/IconArrowDown.d.ts +1 -2
  195. package/__internal__/src/icons/IconArrowLeft/IconArrowLeft.d.ts +1 -2
  196. package/__internal__/src/icons/IconArrowRight/IconArrowRight.d.ts +1 -2
  197. package/__internal__/src/icons/IconArrowUp/IconArrowUp.d.ts +1 -2
  198. package/__internal__/src/icons/IconArtBrush/IconArtBrush.d.ts +1 -2
  199. package/__internal__/src/icons/IconAttach/IconAttach.d.ts +1 -2
  200. package/__internal__/src/icons/IconAxesRotate/IconAxesRotate.d.ts +1 -2
  201. package/__internal__/src/icons/IconBackward/IconBackward.d.ts +1 -2
  202. package/__internal__/src/icons/IconBag/IconBag.d.ts +1 -2
  203. package/__internal__/src/icons/IconBarrier/IconBarrier.d.ts +1 -2
  204. package/__internal__/src/icons/IconBento/IconBento.d.ts +1 -2
  205. package/__internal__/src/icons/IconBit/IconBit.d.ts +1 -2
  206. package/__internal__/src/icons/IconBold/IconBold.d.ts +1 -2
  207. package/__internal__/src/icons/IconBook/IconBook.d.ts +1 -2
  208. package/__internal__/src/icons/IconBookmarkFilled/IconBookmarkFilled.d.ts +1 -2
  209. package/__internal__/src/icons/IconBookmarkStroked/IconBookmarkStroked.d.ts +1 -2
  210. package/__internal__/src/icons/IconCalculator/IconCalculator.d.ts +1 -2
  211. package/__internal__/src/icons/IconCalendar/IconCalendar.d.ts +1 -2
  212. package/__internal__/src/icons/IconCamera/IconCamera.d.ts +1 -2
  213. package/__internal__/src/icons/IconCancel/IconCancel.d.ts +1 -2
  214. package/__internal__/src/icons/IconCards/IconCards.d.ts +1 -2
  215. package/__internal__/src/icons/IconChatFilled/IconChatFilled.d.ts +1 -2
  216. package/__internal__/src/icons/IconChatStroked/IconChatStroked.d.ts +1 -2
  217. package/__internal__/src/icons/IconCheck/IconCheck.d.ts +1 -2
  218. package/__internal__/src/icons/IconClose/IconClose.d.ts +1 -2
  219. package/__internal__/src/icons/IconCollapse/IconCollapse.d.ts +1 -2
  220. package/__internal__/src/icons/IconColorFill/IconColorFill.d.ts +1 -2
  221. package/__internal__/src/icons/IconColorText/IconColorText.d.ts +1 -2
  222. package/__internal__/src/icons/IconColumns/IconColumns.d.ts +1 -2
  223. package/__internal__/src/icons/IconCommentFilled/IconCommentFilled.d.ts +1 -2
  224. package/__internal__/src/icons/IconCommentStroked/IconCommentStroked.d.ts +1 -2
  225. package/__internal__/src/icons/IconConnection/IconConnection.d.ts +1 -2
  226. package/__internal__/src/icons/IconCopy/IconCopy.d.ts +1 -2
  227. package/__internal__/src/icons/IconCrown/IconCrown.d.ts +1 -2
  228. package/__internal__/src/icons/IconCursorMouse/IconCursorMouse.d.ts +1 -2
  229. package/__internal__/src/icons/IconDataNull/IconDataNull.d.ts +1 -2
  230. package/__internal__/src/icons/IconDiamond/IconDiamond.d.ts +1 -2
  231. package/__internal__/src/icons/IconDinosaur/IconDinosaur.d.ts +1 -2
  232. package/__internal__/src/icons/IconDisconnection/IconDisconnection.d.ts +1 -2
  233. package/__internal__/src/icons/IconDocAdd/IconDocAdd.d.ts +1 -2
  234. package/__internal__/src/icons/IconDocBlank/IconDocBlank.d.ts +1 -2
  235. package/__internal__/src/icons/IconDocDelete/IconDocDelete.d.ts +1 -2
  236. package/__internal__/src/icons/IconDocExport/IconDocExport.d.ts +1 -2
  237. package/__internal__/src/icons/IconDocFilled/IconDocFilled.d.ts +1 -2
  238. package/__internal__/src/icons/IconDown/IconDown.d.ts +1 -2
  239. package/__internal__/src/icons/IconDownload/IconDownload.d.ts +1 -2
  240. package/__internal__/src/icons/IconDrag/IconDrag.d.ts +1 -2
  241. package/__internal__/src/icons/IconDraggable/IconDraggable.d.ts +1 -2
  242. package/__internal__/src/icons/IconDrillingPartLeftFilled/IconDrillingPartLeftFilled.d.ts +1 -2
  243. package/__internal__/src/icons/IconDrillingPartLeftStroked/IconDrillingPartLeftStroked.d.ts +1 -2
  244. package/__internal__/src/icons/IconDrillingPartRightFilled/IconDrillingPartRightFilled.d.ts +1 -2
  245. package/__internal__/src/icons/IconDrillingPartRightStroked/IconDrillingPartRightStroked.d.ts +1 -2
  246. package/__internal__/src/icons/IconDrillingRig/IconDrillingRig.d.ts +1 -2
  247. package/__internal__/src/icons/IconDrop/IconDrop.d.ts +1 -2
  248. package/__internal__/src/icons/IconEdit/IconEdit.d.ts +1 -2
  249. package/__internal__/src/icons/IconExit/IconExit.d.ts +1 -2
  250. package/__internal__/src/icons/IconExpand/IconExpand.d.ts +1 -2
  251. package/__internal__/src/icons/IconEye/IconEye.d.ts +1 -2
  252. package/__internal__/src/icons/IconEyeClose/IconEyeClose.d.ts +1 -2
  253. package/__internal__/src/icons/IconFavorite/IconFavorite.d.ts +1 -2
  254. package/__internal__/src/icons/IconFilter/IconFilter.d.ts +1 -2
  255. package/__internal__/src/icons/IconFishboneFilled/IconFishboneFilled.d.ts +1 -2
  256. package/__internal__/src/icons/IconFishboneStroked/IconFishboneStroked.d.ts +1 -2
  257. package/__internal__/src/icons/IconFitToDefault/IconFitToDefault.d.ts +1 -2
  258. package/__internal__/src/icons/IconFlagFilled/IconFlagFilled.d.ts +1 -2
  259. package/__internal__/src/icons/IconFlagStroked/IconFlagStroked.d.ts +1 -2
  260. package/__internal__/src/icons/IconFolders/IconFolders.d.ts +1 -2
  261. package/__internal__/src/icons/IconForward/IconForward.d.ts +1 -2
  262. package/__internal__/src/icons/IconFunnel/IconFunnel.d.ts +1 -2
  263. package/__internal__/src/icons/IconGas/IconGas.d.ts +1 -2
  264. package/__internal__/src/icons/IconGeo/IconGeo.d.ts +1 -2
  265. package/__internal__/src/icons/IconGradients/IconGradients.d.ts +1 -2
  266. package/__internal__/src/icons/IconGrouping/IconGrouping.d.ts +1 -2
  267. package/__internal__/src/icons/IconHamburger/IconHamburger.d.ts +1 -2
  268. package/__internal__/src/icons/IconHand/IconHand.d.ts +1 -2
  269. package/__internal__/src/icons/IconHealth/IconHealth.d.ts +1 -2
  270. package/__internal__/src/icons/IconHome/IconHome.d.ts +1 -2
  271. package/__internal__/src/icons/IconInComparison/IconInComparison.d.ts +1 -2
  272. package/__internal__/src/icons/IconIncident/IconIncident.d.ts +1 -2
  273. package/__internal__/src/icons/IconInfo/IconInfo.d.ts +1 -2
  274. package/__internal__/src/icons/IconIntroduction/IconIntroduction.d.ts +1 -2
  275. package/__internal__/src/icons/IconIpad/IconIpad.d.ts +1 -2
  276. package/__internal__/src/icons/IconItalic/IconItalic.d.ts +1 -2
  277. package/__internal__/src/icons/IconKebab/IconKebab.d.ts +1 -2
  278. package/__internal__/src/icons/IconKernFilled/IconKernFilled.d.ts +1 -2
  279. package/__internal__/src/icons/IconKernStroked/IconKernStroked.d.ts +1 -2
  280. package/__internal__/src/icons/IconLaptop/IconLaptop.d.ts +1 -2
  281. package/__internal__/src/icons/IconLayers/IconLayers.d.ts +1 -2
  282. package/__internal__/src/icons/IconLeaf/IconLeaf.d.ts +1 -2
  283. package/__internal__/src/icons/IconLightningBolt/IconLightningBolt.d.ts +1 -2
  284. package/__internal__/src/icons/IconLineAndBarChart/IconLineAndBarChart.d.ts +1 -2
  285. package/__internal__/src/icons/IconLink/IconLink.d.ts +1 -2
  286. package/__internal__/src/icons/IconList/IconList.d.ts +1 -2
  287. package/__internal__/src/icons/IconListNumbered/IconListNumbered.d.ts +1 -2
  288. package/__internal__/src/icons/IconLithologyFilled/IconLithologyFilled.d.ts +1 -2
  289. package/__internal__/src/icons/IconLithologyStroked/IconLithologyStroked.d.ts +1 -2
  290. package/__internal__/src/icons/IconLock/IconLock.d.ts +1 -2
  291. package/__internal__/src/icons/IconLogicalElement/IconLogicalElement.d.ts +1 -2
  292. package/__internal__/src/icons/IconMBU/IconMBU.d.ts +1 -2
  293. package/__internal__/src/icons/IconMGRP/IconMGRP.d.ts +1 -2
  294. package/__internal__/src/icons/IconMLSP/IconMLSP.d.ts +1 -2
  295. package/__internal__/src/icons/IconMMP/IconMMP.d.ts +1 -2
  296. package/__internal__/src/icons/IconMail/IconMail.d.ts +1 -2
  297. package/__internal__/src/icons/IconMap/IconMap.d.ts +1 -2
  298. package/__internal__/src/icons/IconMaxHeight/IconMaxHeight.d.ts +1 -2
  299. package/__internal__/src/icons/IconMaxWidth/IconMaxWidth.d.ts +1 -2
  300. package/__internal__/src/icons/IconMeatball/IconMeatball.d.ts +1 -2
  301. package/__internal__/src/icons/IconMic/IconMic.d.ts +1 -2
  302. package/__internal__/src/icons/IconMolecules/IconMolecules.d.ts +1 -2
  303. package/__internal__/src/icons/IconMoon/IconMoon.d.ts +1 -2
  304. package/__internal__/src/icons/IconNodeEnd/IconNodeEnd.d.ts +1 -2
  305. package/__internal__/src/icons/IconNodeStart/IconNodeStart.d.ts +1 -2
  306. package/__internal__/src/icons/IconNodeStep/IconNodeStep.d.ts +1 -2
  307. package/__internal__/src/icons/IconNodes/IconNodes.d.ts +1 -2
  308. package/__internal__/src/icons/IconOilBarrel/IconOilBarrel.d.ts +1 -2
  309. package/__internal__/src/icons/IconOpenInNew/IconOpenInNew.d.ts +1 -2
  310. package/__internal__/src/icons/IconOperators/IconOperators.d.ts +1 -2
  311. package/__internal__/src/icons/IconPanelBottom/IconPanelBottom.d.ts +1 -2
  312. package/__internal__/src/icons/IconPanelLeft/IconPanelLeft.d.ts +1 -2
  313. package/__internal__/src/icons/IconPanelRight/IconPanelRight.d.ts +1 -2
  314. package/__internal__/src/icons/IconPanelTop/IconPanelTop.d.ts +1 -2
  315. package/__internal__/src/icons/IconPaste/IconPaste.d.ts +1 -2
  316. package/__internal__/src/icons/IconPause/IconPause.d.ts +1 -2
  317. package/__internal__/src/icons/IconPhone/IconPhone.d.ts +1 -2
  318. package/__internal__/src/icons/IconPhoto/IconPhoto.d.ts +1 -2
  319. package/__internal__/src/icons/IconPicture/IconPicture.d.ts +1 -2
  320. package/__internal__/src/icons/IconPlay/IconPlay.d.ts +1 -2
  321. package/__internal__/src/icons/IconPressureFilled/IconPressureFilled.d.ts +1 -2
  322. package/__internal__/src/icons/IconPressureStroked/IconPressureStroked.d.ts +1 -2
  323. package/__internal__/src/icons/IconPriceLabel/IconPriceLabel.d.ts +1 -2
  324. package/__internal__/src/icons/IconProcessing/IconProcessing.d.ts +1 -2
  325. package/__internal__/src/icons/IconQuestion/IconQuestion.d.ts +1 -2
  326. package/__internal__/src/icons/IconQuote/IconQuote.d.ts +1 -2
  327. package/__internal__/src/icons/IconRUO/IconRUO.d.ts +1 -2
  328. package/__internal__/src/icons/IconRUS/IconRUS.d.ts +1 -2
  329. package/__internal__/src/icons/IconRecord/IconRecord.d.ts +1 -2
  330. package/__internal__/src/icons/IconRemove/IconRemove.d.ts +1 -2
  331. package/__internal__/src/icons/IconRemoveFromComparison/IconRemoveFromComparison.d.ts +1 -2
  332. package/__internal__/src/icons/IconReply/IconReply.d.ts +1 -2
  333. package/__internal__/src/icons/IconResize/IconResize.d.ts +1 -2
  334. package/__internal__/src/icons/IconRestart/IconRestart.d.ts +1 -2
  335. package/__internal__/src/icons/IconRevert/IconRevert.d.ts +1 -2
  336. package/__internal__/src/icons/IconRing/IconRing.d.ts +1 -2
  337. package/__internal__/src/icons/IconRouble/IconRouble.d.ts +1 -2
  338. package/__internal__/src/icons/IconRuler/IconRuler.d.ts +1 -2
  339. package/__internal__/src/icons/IconSave/IconSave.d.ts +1 -2
  340. package/__internal__/src/icons/IconScreen/IconScreen.d.ts +1 -2
  341. package/__internal__/src/icons/IconSearch/IconSearch.d.ts +1 -2
  342. package/__internal__/src/icons/IconSelect/IconSelect.d.ts +1 -2
  343. package/__internal__/src/icons/IconSelectOpen/IconSelectOpen.d.ts +1 -2
  344. package/__internal__/src/icons/IconSendMessage/IconSendMessage.d.ts +1 -2
  345. package/__internal__/src/icons/IconSettings/IconSettings.d.ts +1 -2
  346. package/__internal__/src/icons/IconShape/IconShape.d.ts +1 -2
  347. package/__internal__/src/icons/IconShuffle/IconShuffle.d.ts +1 -2
  348. package/__internal__/src/icons/IconSmile/IconSmile.d.ts +1 -2
  349. package/__internal__/src/icons/IconSnowflake/IconSnowflake.d.ts +1 -2
  350. package/__internal__/src/icons/IconSortDown/IconSortDown.d.ts +1 -2
  351. package/__internal__/src/icons/IconSortDownCenter/IconSortDownCenter.d.ts +1 -2
  352. package/__internal__/src/icons/IconSortUp/IconSortUp.d.ts +1 -2
  353. package/__internal__/src/icons/IconSortUpCenter/IconSortUpCenter.d.ts +1 -2
  354. package/__internal__/src/icons/IconSpeed/IconSpeed.d.ts +1 -2
  355. package/__internal__/src/icons/IconStop/IconStop.d.ts +1 -2
  356. package/__internal__/src/icons/IconStorage/IconStorage.d.ts +1 -2
  357. package/__internal__/src/icons/IconStrikethrough/IconStrikethrough.d.ts +1 -2
  358. package/__internal__/src/icons/IconString/IconString.d.ts +1 -2
  359. package/__internal__/src/icons/IconSun/IconSun.d.ts +1 -2
  360. package/__internal__/src/icons/IconTable/IconTable.d.ts +1 -2
  361. package/__internal__/src/icons/IconTable2/IconTable2.d.ts +1 -2
  362. package/__internal__/src/icons/IconTarget/IconTarget.d.ts +1 -2
  363. package/__internal__/src/icons/IconTeam/IconTeam.d.ts +1 -2
  364. package/__internal__/src/icons/IconTechResponse/IconTechResponse.d.ts +1 -2
  365. package/__internal__/src/icons/IconTest/IconTest.d.ts +1 -2
  366. package/__internal__/src/icons/IconThumbUp/IconThumbUp.d.ts +1 -2
  367. package/__internal__/src/icons/IconTie/IconTie.d.ts +1 -2
  368. package/__internal__/src/icons/IconTop/IconTop.d.ts +1 -2
  369. package/__internal__/src/icons/IconTrajectory/IconTrajectory.d.ts +1 -2
  370. package/__internal__/src/icons/IconTrash/IconTrash.d.ts +1 -2
  371. package/__internal__/src/icons/IconType/IconType.d.ts +1 -2
  372. package/__internal__/src/icons/IconUnderline/IconUnderline.d.ts +1 -2
  373. package/__internal__/src/icons/IconUnlock/IconUnlock.d.ts +1 -2
  374. package/__internal__/src/icons/IconUnsort/IconUnsort.d.ts +1 -2
  375. package/__internal__/src/icons/IconUnsortCenter/IconUnsortCenter.d.ts +1 -2
  376. package/__internal__/src/icons/IconUpload/IconUpload.d.ts +1 -2
  377. package/__internal__/src/icons/IconUser/IconUser.d.ts +1 -2
  378. package/__internal__/src/icons/IconVZD/IconVZD.d.ts +1 -2
  379. package/__internal__/src/icons/IconVideo/IconVideo.d.ts +1 -2
  380. package/__internal__/src/icons/IconWarning/IconWarning.d.ts +1 -2
  381. package/__internal__/src/icons/IconWatch/IconWatch.d.ts +1 -2
  382. package/__internal__/src/icons/IconWellOpen/IconWellOpen.d.ts +1 -2
  383. package/__internal__/src/icons/IconWellPipe/IconWellPipe.d.ts +1 -2
  384. package/__internal__/src/icons/IconWideScreen/IconWideScreen.d.ts +1 -2
  385. package/__internal__/src/icons/IconWorldFilled/IconWorldFilled.d.ts +1 -2
  386. package/__internal__/src/icons/IconWorldStroked/IconWorldStroked.d.ts +1 -2
  387. package/__internal__/src/icons/IconWrench/IconWrench.d.ts +1 -2
  388. package/__internal__/src/icons/IconYandexDzen/IconYandexDzen.d.ts +1 -2
  389. package/__internal__/src/icons/IconYoutube/IconYoutube.d.ts +1 -2
  390. package/__internal__/src/icons/createIcon/createIcon.d.ts +1 -2
  391. package/__internal__/src/icons/createIcon/createIcon.js +1 -1
  392. package/__internal__/src/icons/createIcon/createIcon.js.map +1 -1
  393. package/__internal__/src/utils/fabricIndex.js +1 -1
  394. package/__internal__/src/utils/fabricIndex.js.map +1 -1
  395. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerTypeDateTimeRange.js","names":["startOfMonth","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useFlag","useForkRef","DatePickerDropdown","DatePickerFieldTypeDateTimeRange","getDropdownZIndex","getFieldName","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","DatePickerTypeDateTimeRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","multiplicityMinutes","dropdownClassName","multiplicitySeconds","multiplicityHours","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","on","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","hadleChange","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.tsx"],"sourcesContent":["import startOfMonth from 'date-fns/startOfMonth';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDateTimeRange } from '../DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange';\nimport {\n getDropdownZIndex,\n getFieldName,\n normalizeRangeValue,\n} from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDateTimeRange: DatePickerTypeComponent<'date-time-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n multiplicityMinutes,\n dropdownClassName,\n multiplicitySeconds,\n multiplicityHours,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<'start' | 'end' | false>(\n false,\n );\n\n const startFocused = fieldFocused === 'start';\n const endFocused = fieldFocused === 'end';\n\n const hadleChange: DatePickerDropdownPropOnChange = ({ e, value }) => {\n if (startFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([value, props?.value?.[1]]),\n });\n }\n if (endFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([props?.value?.[0], value]),\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useFlag(false);\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эфект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && startFocused) {\n const newVisibleDate = startOfMonth(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && endFocused) {\n const newVisibleDate = startOfMonth(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [startFieldRef, endFieldRef, calendarRef],\n handler: useCallback(() => {\n setFieldFocused(false);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeDateTimeRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldName={getFieldName(name, 0)}\n endFieldName={getFieldName(name, 1)}\n />\n <DatePickerDropdown\n type=\"date-time\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n className={dropdownClassName}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n timeFor={fieldFocused || undefined}\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n multiplicityMinutes={multiplicityMinutes}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityHours={multiplicityHours}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerTypeDateTimeRange.js","names":["startOfMonth","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useFlag","useForkRef","DatePickerDropdown","DatePickerFieldTypeDateTimeRange","getDropdownZIndex","getFieldName","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","DatePickerTypeDateTimeRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","multiplicityMinutes","dropdownClassName","multiplicitySeconds","multiplicityHours","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","on","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","hadleChange","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.tsx"],"sourcesContent":["import startOfMonth from 'date-fns/startOfMonth';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDateTimeRange } from '../DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange';\nimport {\n getDropdownZIndex,\n getFieldName,\n normalizeRangeValue,\n} from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDateTimeRange: DatePickerTypeComponent<'date-time-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n multiplicityMinutes,\n dropdownClassName,\n multiplicitySeconds,\n multiplicityHours,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<'start' | 'end' | false>(\n false,\n );\n\n const startFocused = fieldFocused === 'start';\n const endFocused = fieldFocused === 'end';\n\n const hadleChange: DatePickerDropdownPropOnChange = ({ e, value }) => {\n if (startFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([value, props?.value?.[1]]),\n });\n }\n if (endFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([props?.value?.[0], value]),\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useFlag(false);\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && startFocused) {\n const newVisibleDate = startOfMonth(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && endFocused) {\n const newVisibleDate = startOfMonth(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [startFieldRef, endFieldRef, calendarRef],\n handler: useCallback(() => {\n setFieldFocused(false);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeDateTimeRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldName={getFieldName(name, 0)}\n endFieldName={getFieldName(name, 1)}\n />\n <DatePickerDropdown\n type=\"date-time\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n className={dropdownClassName}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n timeFor={fieldFocused || undefined}\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n multiplicityMinutes={multiplicityMinutes}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityHours={multiplicityHours}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"mbAAA,MAAOA,aAAP,KAAyB,uBAAzB,CACA,MAAOC,MAAP,EACEC,UADF,CAEEC,WAFF,CAGEC,SAHF,CAIEC,MAJF,CAKEC,QALF,KAMO,OANP,CAQA,OAASC,eAAT,sDACA,OAASC,OAAT,sCACA,OAASC,UAAT,4CACA,OACEC,kBADF,gDAIA,OAASC,gCAAT,4EACA,OACEC,iBADF,CAEEC,YAFF,CAGEC,mBAHF,kBAKA,OACEC,iCADF,gBAIA,OAASC,qBAAT,gCAEA,MAAO,IAAMC,4BAAuE,CAClFf,UAAU,CAAC,SAACgB,CAAD,CAAQC,CAAR,CAAgB,aAEvBC,CAFuB,CAoBrBF,CApBqB,CAEvBE,MAFuB,GAoBrBF,CApBqB,CAGvBG,YAHuB,CAGvBA,CAHuB,YAGRN,iCAHQ,GAIvBO,CAJuB,CAoBrBJ,CApBqB,CAIvBI,MAJuB,CAKvBC,CALuB,CAoBrBL,CApBqB,CAKvBK,YALuB,CAMvBC,CANuB,CAoBrBN,CApBqB,CAMvBM,OANuB,CAOvBC,CAPuB,CAoBrBP,CApBqB,CAOvBO,MAPuB,CAQvBC,CARuB,CAoBrBR,CApBqB,CAQvBQ,QARuB,CASvBC,CATuB,CAoBrBT,CApBqB,CASvBS,SATuB,CAUHC,CAVG,CAoBrBV,CApBqB,CAUvBW,kBAVuB,CAWvBC,CAXuB,CAoBrBZ,CApBqB,CAWvBY,0BAXuB,CAYvBC,CAZuB,CAoBrBb,CApBqB,CAYvBa,wBAZuB,CAavBC,CAbuB,CAoBrBd,CApBqB,CAavBc,QAbuB,CAcvBC,CAduB,CAoBrBf,CApBqB,CAcvBe,IAduB,CAevBC,CAfuB,CAoBrBhB,CApBqB,CAevBgB,mBAfuB,CAgBvBC,CAhBuB,CAoBrBjB,CApBqB,CAgBvBiB,iBAhBuB,CAiBvBC,CAjBuB,CAoBrBlB,CApBqB,CAiBvBkB,mBAjBuB,CAkBvBC,CAlBuB,CAoBrBnB,CApBqB,CAkBvBmB,iBAlBuB,CAmBpBC,CAnBoB,0BAoBrBpB,CApBqB,YAsBnBqB,CAAa,CAAGlC,MAAM,CAAiB,IAAjB,CAtBH,CAuBnBmC,CAAW,CAAGnC,MAAM,CAAiB,IAAjB,CAvBD,CAwBnBoC,CAAkB,CAAGpC,MAAM,CAAmB,IAAnB,CAxBR,CAyBnBqC,CAAgB,CAAGrC,MAAM,CAAmB,IAAnB,CAzBN,CA0BnBsC,CAAW,CAAGtC,MAAM,CAAiB,IAAjB,CA1BD,GA4BeC,QAAQ,IA5BvB,uBA4BlBsC,CA5BkB,MA4BJC,CA5BI,MAgCnBC,CAAY,CAAoB,OAAjB,GAAAF,CAhCI,CAiCnBG,CAAU,CAAoB,KAAjB,GAAAH,CAjCM,GAkDqBpC,OAAO,IAlD5B,uBAkDlBwC,CAlDkB,MAkDDC,CAlDC,QAoD2BjC,qBAAqB,CAAC,CACxEa,kBAAkB,CAAED,CADoD,CAExEsB,OAAO,CAAEhC,CAAK,CAACgC,OAFyD,CAGxEC,OAAO,CAAEjC,CAAK,CAACiC,OAHyD,CAIxEC,KAAK,CAAElC,CAAK,CAACkC,KAJ2D,CAKxEC,WAAW,CAAErD,YAL2D,CAMxE8B,0BAA0B,CAA1BA,CANwE,CAOxEkB,eAAe,CAAfA,CAPwE,CAAD,CApDhD,uBAoDlBnB,CApDkB,MAoDEyB,CApDF,MA4GzB,MA3BAlD,UAAS,CAAC,UAAM,OACd,GAAI,UAAAc,CAAK,CAACkC,KAAN,iBAAc,CAAd,GAAoBN,CAAxB,CAAsC,CACpC,GAAMS,EAAc,CAAGvD,YAAY,CAACkB,CAAK,CAACkC,KAAN,CAAY,CAAZ,CAAD,CAAnC,CACIG,CAAc,CAACC,OAAf,aAA6B3B,CAA7B,WAA6BA,CAA7B,QAA6BA,CAAkB,CAAE2B,OAApB,EAA7B,CAFgC,EAGlCF,CAAqB,CAACC,CAAD,CAExB,CACF,CAPQ,CAON,WAACrC,CAAK,CAACkC,KAAP,yBAAC,EAAc,CAAd,CAAD,qBAAC,EAAkBI,OAAlB,EAAD,CAA8BR,CAA9B,CAA+CF,CAA/C,CAPM,CA2BT,CAlBA1C,SAAS,CAAC,UAAM,OACd,GAAI,UAAAc,CAAK,CAACkC,KAAN,iBAAc,CAAd,GAAoBL,CAAxB,CAAoC,CAClC,GAAMQ,EAAc,CAAGvD,YAAY,CAACkB,CAAK,CAACkC,KAAN,CAAY,CAAZ,CAAD,CAAnC,CACIG,CAAc,CAACC,OAAf,aAA6B3B,CAA7B,WAA6BA,CAA7B,QAA6BA,CAAkB,CAAE2B,OAApB,EAA7B,CAF8B,EAGhCF,CAAqB,CAACC,CAAD,CAExB,CACF,CAPQ,CAON,WAACrC,CAAK,CAACkC,KAAP,yBAAC,EAAc,CAAd,CAAD,qBAAC,EAAkBI,OAAlB,EAAD,CAA8BR,CAA9B,CAA+CD,CAA/C,CAPM,CAkBT,CATAxC,eAAe,CAAC,CACdkD,QAAQ,CAAET,CADI,CAEdU,sBAAsB,CAAE,CAACnB,CAAD,CAAgBC,CAAhB,CAA6BG,CAA7B,CAFV,CAGdgB,OAAO,CAAExD,WAAW,CAAC,UAAM,CACzB0C,CAAe,IADU,CAEzBI,CAAkB,CAACW,GAAnB,EACD,CAHmB,CAGjB,EAHiB,CAHN,CAAD,CASf,CACE,wCACE,oBAAC,gCAAD,kBACMtB,CADN,EAEE,GAAG,CAAEnB,CAFP,CAGE,aAAa,CAAEoB,CAHjB,CAIE,WAAW,CAAEC,CAJf,CAKE,kBAAkB,CAAE/B,UAAU,CAAC,CAACgC,CAAD,QAAqBT,CAArB,WAAqBA,CAArB,QAAqBA,CAAQ,CAAG,CAAH,CAA7B,CAAD,CALhC,CAME,gBAAgB,CAAEvB,UAAU,CAAC,CAACiC,CAAD,QAAmBV,CAAnB,WAAmBA,CAAnB,QAAmBA,CAAQ,CAAG,CAAH,CAA3B,CAAD,CAN9B,CAOE,iBAAiB,CAjDU,QAA3B6B,yBAA2B,CAACC,CAAD,CAAsC,OACrEjB,CAAe,CAAC,OAAD,CADsD,CAErEI,CAAkB,CAACc,EAAnB,EAFqE,CAGrEC,KAAK,CAACC,OAAN,CAAczC,CAAd,YAAyBA,CAAO,CAAC,CAAD,CAAhC,qBAAyB,OAAAA,CAAO,CAAMsC,CAAN,CAAhC,QAA2CtC,CAA3C,WAA2CA,CAA3C,QAA2CA,CAAO,CAAGsC,CAAH,CACnD,CAsCG,CAQE,eAAe,CA5CU,QAAzBI,uBAAyB,CAACJ,CAAD,CAAsC,OACnEjB,CAAe,CAAC,KAAD,CADoD,CAEnEI,CAAkB,CAACc,EAAnB,EAFmE,CAGnEC,KAAK,CAACC,OAAN,CAAczC,CAAd,YAAyBA,CAAO,CAAC,CAAD,CAAhC,qBAAyB,OAAAA,CAAO,CAAMsC,CAAN,CAAhC,QAA2CtC,CAA3C,WAA2CA,CAA3C,QAA2CA,CAAO,CAAGsC,CAAH,CACnD,CAgCG,CASE,kBAAkB,CAChBE,KAAK,CAACC,OAAN,CAAcvC,CAAd,SAA0BA,CAA1B,WAA0BA,CAA1B,QAA0BA,CAAQ,CAAG,CAAH,CAAlC,CAA0CA,CAV9C,CAYE,mBAAmB,CACjBsC,KAAK,CAACC,OAAN,CAActC,CAAd,SAA2BA,CAA3B,WAA2BA,CAA3B,QAA2BA,CAAS,CAAG,CAAH,CAApC,OAbJ,CAeE,gBAAgB,CAAEqC,KAAK,CAACC,OAAN,CAAcvC,CAAd,SAA0BA,CAA1B,WAA0BA,CAA1B,QAA0BA,CAAQ,CAAG,CAAH,CAAlC,OAfpB,CAgBE,iBAAiB,CACfsC,KAAK,CAACC,OAAN,CAActC,CAAd,SAA2BA,CAA3B,WAA2BA,CAA3B,QAA2BA,CAAS,CAAG,CAAH,CAApC,CAA4CA,CAjBhD,CAmBE,gBAAgB,CAnEU,QAA1BwC,wBAA0B,CAACL,CAAD,cAC9BE,MAAK,CAACC,OAAN,CAAcxC,CAAd,YAAwBA,CAAM,CAAC,CAAD,CAA9B,qBAAwB,OAAAA,CAAM,CAAMqC,CAAN,CAA9B,QAAyCrC,CAAzC,WAAyCA,CAAzC,QAAyCA,CAAM,CAAGqC,CAAH,CADjB,CAgD5B,CAoBE,cAAc,CAjEU,QAAxBM,sBAAwB,CAACN,CAAD,cAC5BE,MAAK,CAACC,OAAN,CAAcxC,CAAd,YAAwBA,CAAM,CAAC,CAAD,CAA9B,qBAAwB,OAAAA,CAAM,CAAMqC,CAAN,CAA9B,QAAyCrC,CAAzC,WAAyCA,CAAzC,QAAyCA,CAAM,CAAGqC,CAAH,CADnB,CA6C1B,CAqBE,YAAY,CAAEhB,CArBhB,CAsBE,UAAU,CAAEC,CAtBd,CAuBE,cAAc,CAAElC,YAAY,CAACoB,CAAD,CAAO,CAAP,CAvB9B,CAwBE,YAAY,CAAEpB,YAAY,CAACoB,CAAD,CAAO,CAAP,CAxB5B,GADF,CA2BE,oBAAC,kBAAD,EACE,IAAI,CAAC,WADP,CAEE,GAAG,CAAEU,CAFP,CAGE,SAAS,CAAEJ,CAHb,CAIE,MAAM,CAAES,CAJV,CAKE,SAAS,CAAEb,CALb,CAME,0BAA0B,CAAEmB,CAN9B,CAOE,kBAAkB,CAAEzB,CAPtB,CAQE,KAAK,CAAEX,CAAK,CAACkC,KAAN,QART,CASE,OAAO,CAAER,CAAY,QATvB,CAUE,IAAI,CAAEvB,CAVR,CAWE,MAAM,CAAED,CAXV,CAYE,MAAM,CAAEE,CAZV,CAaE,OAAO,CAAEJ,CAAK,CAACiC,OAbjB,CAcE,OAAO,CAAEjC,CAAK,CAACgC,OAdjB,CAeE,IAAI,CAAE3B,CAfR,CAgBE,QAAQ,CArHsC,QAA9C8C,YAA8C,GAAkB,IAAfP,EAAe,GAAfA,CAAe,CAAZV,CAAY,GAAZA,KAAY,CACpE,GAAIN,CAAJ,CAAkB,mBAChB5B,CAAK,CAACoD,QADU,qBAChB,OAAApD,CAAK,CAAY,CACf4C,CAAC,CAADA,CADe,CAEfV,KAAK,CAAEtC,mBAAmB,CAAC,CAACsC,CAAD,QAAQlC,CAAR,WAAQA,CAAR,YAAQA,CAAK,CAAEkC,KAAf,qBAAQ,EAAe,CAAf,CAAR,CAAD,CAFX,CAAZ,CAIN,CACD,GAAIL,CAAJ,CAAgB,mBACd7B,CAAK,CAACoD,QADQ,qBACd,OAAApD,CAAK,CAAY,CACf4C,CAAC,CAADA,CADe,CAEfV,KAAK,CAAEtC,mBAAmB,CAAC,QAACI,CAAD,WAACA,CAAD,YAACA,CAAK,CAAEkC,KAAR,qBAAC,EAAe,CAAf,CAAD,CAAoBA,CAApB,CAAD,CAFX,CAAZ,CAIN,CACF,CAwFG,CAiBE,wBAAwB,CAAErB,CAjB5B,CAkBE,mBAAmB,CAAEG,CAlBvB,CAmBE,mBAAmB,CAAEE,CAnBvB,CAoBE,iBAAiB,CAAEC,CApBrB,CAqBE,MAAM,CAAEzB,iBAAiB,CAACM,CAAK,CAACqD,KAAP,CArB3B,EA3BF,CAoDH,CAjKS,CADL"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerTypeMonthRange.js","names":["addYears","startOfYear","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useFlag","useForkRef","DatePickerDropdown","DatePickerFieldTypeMonthRange","getDropdownZIndex","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","DatePickerTypeMonthRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","dropdownClassName","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","on","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","hadleChange","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.tsx"],"sourcesContent":["import addYears from 'date-fns/addYears';\nimport startOfYear from 'date-fns/startOfYear';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeMonthRange } from '../DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange';\nimport { getDropdownZIndex, normalizeRangeValue } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeMonthRange: DatePickerTypeComponent<'month-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n dropdownClassName,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<'start' | 'end' | false>(\n false,\n );\n\n const startFocused = fieldFocused === 'start';\n const endFocused = fieldFocused === 'end';\n\n const hadleChange: DatePickerDropdownPropOnChange = ({ e, value }) => {\n if (startFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([value, props?.value?.[1]]),\n });\n }\n if (endFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([props?.value?.[0], value]),\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useFlag(false);\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfYear,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эфект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && dateTimeView === 'classic' && startFocused) {\n const newVisibleDate = startOfYear(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[0] && dateTimeView !== 'classic' && startFocused) {\n const newVisibleDate = startOfYear(props.value[0]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && dateTimeView === 'classic' && endFocused) {\n const newVisibleDate = startOfYear(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[1] && dateTimeView !== 'classic' && endFocused) {\n const newVisibleDate = startOfYear(props.value[1]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(addYears(newVisibleDate, -1));\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [startFieldRef, endFieldRef, calendarRef],\n handler: useCallback(() => {\n setFieldFocused(false);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeMonthRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldName={Array.isArray(name) ? name[0] : `${name}_start`}\n endFieldName={Array.isArray(name) ? name[1] : `${name}_end`}\n />\n <DatePickerDropdown\n type=\"month\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n view={dateTimeView}\n events={events}\n className={dropdownClassName}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerTypeMonthRange.js","names":["addYears","startOfYear","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useFlag","useForkRef","DatePickerDropdown","DatePickerFieldTypeMonthRange","getDropdownZIndex","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","DatePickerTypeMonthRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","dropdownClassName","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","on","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","hadleChange","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.tsx"],"sourcesContent":["import addYears from 'date-fns/addYears';\nimport startOfYear from 'date-fns/startOfYear';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeMonthRange } from '../DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange';\nimport { getDropdownZIndex, normalizeRangeValue } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeMonthRange: DatePickerTypeComponent<'month-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n dropdownClassName,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<'start' | 'end' | false>(\n false,\n );\n\n const startFocused = fieldFocused === 'start';\n const endFocused = fieldFocused === 'end';\n\n const hadleChange: DatePickerDropdownPropOnChange = ({ e, value }) => {\n if (startFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([value, props?.value?.[1]]),\n });\n }\n if (endFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([props?.value?.[0], value]),\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useFlag(false);\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfYear,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && dateTimeView === 'classic' && startFocused) {\n const newVisibleDate = startOfYear(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[0] && dateTimeView !== 'classic' && startFocused) {\n const newVisibleDate = startOfYear(props.value[0]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && dateTimeView === 'classic' && endFocused) {\n const newVisibleDate = startOfYear(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[1] && dateTimeView !== 'classic' && endFocused) {\n const newVisibleDate = startOfYear(props.value[1]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(addYears(newVisibleDate, -1));\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [startFieldRef, endFieldRef, calendarRef],\n handler: useCallback(() => {\n setFieldFocused(false);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeMonthRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldName={Array.isArray(name) ? name[0] : `${name}_start`}\n endFieldName={Array.isArray(name) ? name[1] : `${name}_end`}\n />\n <DatePickerDropdown\n type=\"month\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n view={dateTimeView}\n events={events}\n className={dropdownClassName}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerTypeYearRange.js","names":["addYears","startOfDecade","React","forwardRef","useEffect","useRef","useState","useClickOutside","useFlag","useForkRef","DatePickerDropdown","DatePickerFieldTypeYearRange","getDropdownZIndex","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","DatePickerTypeYearRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","dropdownClassName","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","on","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","hadleChange","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.tsx"],"sourcesContent":["import { addYears, startOfDecade } from 'date-fns';\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeYearRange } from '../DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange';\nimport { getDropdownZIndex, normalizeRangeValue } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeYearRange: DatePickerTypeComponent<'date-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n dropdownClassName,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<'start' | 'end' | false>(\n false,\n );\n\n const startFocused = fieldFocused === 'start';\n const endFocused = fieldFocused === 'end';\n\n const hadleChange: DatePickerDropdownPropOnChange = ({ e, value }) => {\n if (startFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([value, props?.value?.[1]]),\n });\n }\n if (endFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([props?.value?.[0], value]),\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useFlag(false);\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfDecade,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эфект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && dateTimeView === 'classic' && startFocused) {\n const newVisibleDate = startOfDecade(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[0] && dateTimeView !== 'classic' && startFocused) {\n const newVisibleDate = startOfDecade(props.value[0]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 10).getTime())\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && dateTimeView === 'classic' && endFocused) {\n const newVisibleDate = startOfDecade(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[1] && dateTimeView !== 'classic' && endFocused) {\n const newVisibleDate = startOfDecade(props.value[1]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 10).getTime())\n ) {\n setCurrentVisibleDate(addYears(newVisibleDate, -10));\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [startFieldRef, endFieldRef, calendarRef],\n handler: () => {\n setFieldFocused(false);\n setCalendarVisible.off();\n },\n });\n\n return (\n <>\n <DatePickerFieldTypeYearRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldName={Array.isArray(name) ? name[0] : `${name}_start`}\n endFieldName={Array.isArray(name) ? name[1] : `${name}_end`}\n />\n <DatePickerDropdown\n type=\"year\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n view={dateTimeView}\n events={events}\n locale={locale}\n className={dropdownClassName}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerTypeYearRange.js","names":["addYears","startOfDecade","React","forwardRef","useEffect","useRef","useState","useClickOutside","useFlag","useForkRef","DatePickerDropdown","DatePickerFieldTypeYearRange","getDropdownZIndex","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","DatePickerTypeYearRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","dropdownClassName","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","on","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","hadleChange","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.tsx"],"sourcesContent":["import { addYears, startOfDecade } from 'date-fns';\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeYearRange } from '../DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange';\nimport { getDropdownZIndex, normalizeRangeValue } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeYearRange: DatePickerTypeComponent<'date-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n dropdownClassName,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<'start' | 'end' | false>(\n false,\n );\n\n const startFocused = fieldFocused === 'start';\n const endFocused = fieldFocused === 'end';\n\n const hadleChange: DatePickerDropdownPropOnChange = ({ e, value }) => {\n if (startFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([value, props?.value?.[1]]),\n });\n }\n if (endFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([props?.value?.[0], value]),\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useFlag(false);\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfDecade,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && dateTimeView === 'classic' && startFocused) {\n const newVisibleDate = startOfDecade(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[0] && dateTimeView !== 'classic' && startFocused) {\n const newVisibleDate = startOfDecade(props.value[0]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 10).getTime())\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && dateTimeView === 'classic' && endFocused) {\n const newVisibleDate = startOfDecade(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[1] && dateTimeView !== 'classic' && endFocused) {\n const newVisibleDate = startOfDecade(props.value[1]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 10).getTime())\n ) {\n setCurrentVisibleDate(addYears(newVisibleDate, -10));\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [startFieldRef, endFieldRef, calendarRef],\n handler: () => {\n setFieldFocused(false);\n setCalendarVisible.off();\n },\n });\n\n return (\n <>\n <DatePickerFieldTypeYearRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldName={Array.isArray(name) ? name[0] : `${name}_start`}\n endFieldName={Array.isArray(name) ? name[1] : `${name}_end`}\n />\n <DatePickerDropdown\n type=\"year\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n view={dateTimeView}\n events={events}\n locale={locale}\n className={dropdownClassName}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
@@ -57,8 +57,8 @@ export declare const useTextFieldEventsHandler: <P extends {
57
57
  incrementButtons?: boolean | undefined;
58
58
  autoFocus?: boolean | undefined;
59
59
  placeholder?: string | undefined;
60
- leftSide?: string | IconComponent | undefined;
61
- rightSide?: string | IconComponent | undefined;
60
+ leftSide?: string | IconComponent<"span"> | undefined;
61
+ rightSide?: string | IconComponent<"span"> | undefined;
62
62
  withClearButton?: boolean | undefined;
63
63
  autoComplete?: AutoCompete | undefined;
64
64
  max?: string | number | undefined;
@@ -73,7 +73,7 @@ export declare const useTextFieldEventsHandler: <P extends {
73
73
  iconSize?: "m" | "s" | "xs" | "l" | undefined;
74
74
  children?: undefined;
75
75
  label?: string | undefined;
76
- labelIcon?: IconComponent | undefined;
76
+ labelIcon?: IconComponent<"span"> | undefined;
77
77
  caption?: string | undefined;
78
78
  labelPosition?: "left" | "top" | undefined;
79
79
  focused?: boolean | undefined;
@@ -88,5 +88,5 @@ export declare const useTextFieldEventsHandler: <P extends {
88
88
  minRows?: undefined;
89
89
  maxRows?: undefined;
90
90
  } & {
91
- rightSide?: string | IconComponent | undefined;
91
+ rightSide?: string | IconComponent<"span"> | undefined;
92
92
  } & React.RefAttributes<HTMLElement>>(props: P, handler: EventInterceptorHandler, ref: React.RefObject<HTMLDivElement>) => P;
@@ -123,7 +123,7 @@ export declare function withDefaultGetters<ITEM, GROUP>(props: SelectProps<ITEM,
123
123
  getGroupLabel?: PropGetGroupLabel<GROUP> | undefined;
124
124
  getGroupKey?: PropGetGroupKey<GROUP> | undefined;
125
125
  label?: string | undefined;
126
- labelIcon?: IconComponent | undefined;
126
+ labelIcon?: IconComponent<"span"> | undefined;
127
127
  labelPosition?: "left" | "top" | undefined;
128
128
  caption?: string | undefined;
129
129
  } & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "placeholder" | "onFocus" | "onBlur" | "onChange" | "size" | "caption" | "form" | "label" | "view" | "status" | "name" | "disabled" | "value" | "multiple" | "required" | "inputRef" | "items" | "dropdownForm" | "focused" | "ariaLabel" | "dropdownClassName" | "dropdownRef" | "isLoading" | "labelForEmptyItems" | "renderItem" | "renderValue" | "groups" | "getItemLabel" | "getItemKey" | "getItemGroupKey" | "getItemDisabled" | "getGroupLabel" | "getGroupKey" | "labelIcon" | "labelPosition"> & React.RefAttributes<HTMLDivElement> & (ITEM extends {
@@ -0,0 +1,4 @@
1
+ import '##/components/SelectComponents/Select.css';
2
+ import { SelectComponent } from './helpers';
3
+ export declare const Select: SelectComponent;
4
+ export * from './helpers';
@@ -0,0 +1,2 @@
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["placeholder","onBlur","onFocus","items","onChange","value","required","disabled","ariaLabel","id","dropdownRef","form","view","size","dropdownClassName","name","groups","getItemLabel","labelForEmptyItems","getItemKey","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","isLoading","renderValue","inputRef","style","dropdownForm","onDropdownOpen","onScrollToBottom","virtualScroll","dropdownOpen","ignoreOutsideClicksRefs"];import"../SelectComponents/Select.css";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useRef}from"react";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{cnSelect,COMPONENT_NAME}from"../SelectComponentsCanary/cnSelect";import{defaultLabelForEmptyItems}from"../SelectComponentsCanary/helpers";import{SelectContainer}from"../SelectComponentsCanary/SelectContainer";import{SelectDropdown}from"../SelectComponentsCanary/SelectDropdown";import{SelectItem}from"../SelectComponentsCanary/SelectItem";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponentsCanary/types";import{useSelect}from"../SelectComponentsCanary/useSelect";import{useForkRef}from"../../hooks/useForkRef";import{withDefaultGetters}from"./helpers";var SelectRender=function(a,b){var c=useRef(null),d=useRef(null),e=usePropsHandler(COMPONENT_NAME,withDefaultGetters(a),d),f=e.placeholder,g=e.onBlur,h=e.onFocus,i=e.items,j=e.onChange,k=e.value,l=e.required,m=e.disabled,n=e.ariaLabel,o=e.id,p=e.dropdownRef,q=e.form,r=void 0===q?defaultPropForm:q,s=e.view,t=void 0===s?defaultPropView:s,u=e.size,v=void 0===u?defaultPropSize:u,w=e.dropdownClassName,x=e.name,y=e.groups,z=void 0===y?[]:y,A=e.getItemLabel,B=e.labelForEmptyItems,C=void 0===B?defaultLabelForEmptyItems:B,D=e.getItemKey,E=e.getItemGroupKey,F=e.getItemDisabled,G=e.getGroupKey,H=e.getGroupLabel,I=e.renderItem,J=e.isLoading,K=e.renderValue,L=e.inputRef,M=e.style,N=e.dropdownForm,O=void 0===N?"default":N,P=e.onDropdownOpen,Q=e.onScrollToBottom,R=e.virtualScroll,S=e.dropdownOpen,T=e.ignoreOutsideClicksRefs,U=_objectWithoutProperties(e,_excluded),V=useSelect({items:i,groups:z,value:k,onChange:j,dropdownRef:c,controlRef:d,disabled:m,getItemLabel:A,getItemKey:D,getGroupKey:G,getItemGroupKey:E,getItemDisabled:F,multiple:!1,onBlur:g,onFocus:h,onDropdownOpen:P,dropdownOpen:S,ignoreOutsideClicksRefs:T}),W=V.getKeyProps,X=V.getOptionProps,Y=V.isOpen,Z=V.visibleItems,$=V.isFocused,_=V.handleInputFocus,aa=V.handleInputBlur,ba=V.handleToggleDropdown,ca=V.inputRef,da=V.handleInputClick,ea=V.notFound,fa=V.hasItems,ga=V.optionsRefs,ha=o?"".concat(o,"-input"):o;return React.createElement(React.Fragment,null,React.createElement(SelectContainer,Object.assign({focused:$,disabled:m,size:v,view:t,form:r,required:l,ref:b,style:M,id:ha},U),React.createElement("div",{className:cnSelect("Control"),ref:d,"aria-expanded":Y,"aria-haspopup":"listbox",id:o},React.createElement("div",{className:cnSelect("ControlInner")},React.createElement("div",{className:cnSelect("ControlValueContainer")},React.createElement("input",Object.assign({},W(),{className:cnSelect("FakeField"),type:"text",name:x,id:ha,onFocus:_,onBlur:aa,"aria-label":n,onClick:da,ref:useForkRef([ca,L]),readOnly:!0})),k&&(K||function renderValueDefault(a){var b=A(a.item);return React.createElement("span",{className:cnSelect("ControlValue"),title:b},b)})({item:k}),("undefined"==typeof k||null===k)&&f&&React.createElement("span",{className:cnSelect("Placeholder"),title:"placeholder"},f))),React.createElement("span",{className:cnSelect("Indicators")},React.createElement("button",{type:"button",className:cnSelect("IndicatorsDropdown"),tabIndex:-1,onClick:ba},React.createElement(IconSelect,{size:"xs",className:cnSelect("DropdownIndicatorIcon")}))))),React.createElement(SelectDropdown,{isOpen:Y,size:v,controlRef:d,getOptionProps:X,dropdownRef:useForkRef([p,c]),form:O,className:w,renderItem:I||function renderItemDefault(a){var b=a.item,c=a.active,d=a.hovered,e=a.onClick,f=a.onMouseEnter,g=a.ref;return React.createElement(SelectItem,{label:A(b),active:c,hovered:d,multiple:!1,size:v,indent:"round"===O?"increased":"normal",onClick:e,onMouseEnter:f,disabled:F(b),ref:g})},getGroupLabel:H,visibleItems:Z,notFound:ea,isLoading:J,labelForEmptyItems:C,hasItems:fa,itemsRefs:ga,virtualScroll:R,onScrollToBottom:Q,style:"number"==typeof(null===M||void 0===M?void 0:M.zIndex)?{zIndex:M.zIndex+1}:void 0}))};export var Select=forwardRef(SelectRender);export*from"./helpers";
2
+ //# sourceMappingURL=SelectCanary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectCanary.js","names":["IconSelect","React","forwardRef","useRef","usePropsHandler","cnSelect","COMPONENT_NAME","defaultLabelForEmptyItems","SelectContainer","SelectDropdown","SelectItem","defaultPropForm","defaultPropSize","defaultPropView","useSelect","useForkRef","withDefaultGetters","SelectRender","props","ref","defaultDropdownRef","controlRef","placeholder","onBlur","onFocus","items","onChange","value","required","disabled","ariaLabel","id","dropdownRef","form","view","size","dropdownClassName","name","groups","getItemLabel","labelForEmptyItems","getItemKey","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","isLoading","renderValueProp","renderValue","inputRefProp","inputRef","style","dropdownForm","onDropdownOpen","onScrollToBottom","virtualScroll","dropdownOpen","ignoreOutsideClicksRefs","restProps","multiple","getKeyProps","getOptionProps","isOpen","visibleItems","isFocused","handleInputFocus","handleInputBlur","handleToggleDropdown","handleInputClick","notFound","hasItems","optionsRefs","inputId","renderValueDefault","label","item","renderItemDefault","active","hovered","onClick","onMouseEnter","zIndex","Select"],"sources":["../../../../../src/components/SelectCanary/SelectCanary.tsx"],"sourcesContent":["import '##/components/SelectComponents/Select.css';\n\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { usePropsHandler } from '##/components/EventInterceptor/usePropsHandler';\nimport {\n cnSelect,\n COMPONENT_NAME,\n} from '##/components/SelectComponentsCanary/cnSelect';\nimport { defaultLabelForEmptyItems } from '##/components/SelectComponentsCanary/helpers';\nimport { SelectContainer } from '##/components/SelectComponentsCanary/SelectContainer';\nimport { SelectDropdown } from '##/components/SelectComponentsCanary/SelectDropdown';\nimport { SelectItem } from '##/components/SelectComponentsCanary/SelectItem';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '##/components/SelectComponentsCanary/types';\nimport { useSelect } from '##/components/SelectComponentsCanary/useSelect';\nimport { useForkRef } from '##/hooks/useForkRef';\n\nimport {\n DefaultGroup,\n DefaultItem,\n PropRenderItem,\n PropRenderValue,\n SelectComponent,\n SelectProps,\n withDefaultGetters,\n} from './helpers';\n\nconst SelectRender = <ITEM = DefaultItem, GROUP = DefaultGroup>(\n props: SelectProps<ITEM, GROUP>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const defaultDropdownRef = useRef<HTMLDivElement>(null);\n const controlRef = useRef<HTMLDivElement | null>(null);\n\n const {\n placeholder,\n onBlur,\n onFocus,\n items,\n onChange,\n value,\n required,\n disabled,\n ariaLabel,\n id,\n dropdownRef,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n dropdownClassName,\n name,\n groups = [],\n getItemLabel,\n labelForEmptyItems = defaultLabelForEmptyItems,\n getItemKey,\n getItemGroupKey,\n getItemDisabled,\n getGroupKey,\n getGroupLabel,\n renderItem,\n isLoading,\n renderValue: renderValueProp,\n inputRef: inputRefProp,\n style,\n dropdownForm = 'default',\n onDropdownOpen,\n onScrollToBottom,\n virtualScroll,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...restProps\n } = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), controlRef);\n\n const {\n getKeyProps,\n getOptionProps,\n isOpen,\n visibleItems,\n isFocused,\n handleInputFocus,\n handleInputBlur,\n handleToggleDropdown,\n inputRef,\n handleInputClick,\n notFound,\n hasItems,\n optionsRefs,\n } = useSelect<ITEM, GROUP, false>({\n items,\n groups,\n value,\n onChange,\n dropdownRef: defaultDropdownRef,\n controlRef,\n disabled,\n getItemLabel,\n getItemKey,\n getGroupKey,\n getItemGroupKey,\n getItemDisabled,\n multiple: false,\n onBlur,\n onFocus,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n });\n\n const inputId = id ? `${id}-input` : id;\n\n const renderItemDefault: PropRenderItem<ITEM> = (props) => {\n const { item, active, hovered, onClick, onMouseEnter, ref } = props;\n\n return (\n <SelectItem\n label={getItemLabel(item)}\n active={active}\n hovered={hovered}\n multiple={false}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n disabled={getItemDisabled(item)}\n ref={ref}\n />\n );\n };\n\n const renderValueDefault: PropRenderValue<ITEM> = (props) => {\n const label = getItemLabel(props.item);\n\n return (\n <span className={cnSelect('ControlValue')} title={label}>\n {label}\n </span>\n );\n };\n\n const renderValue = renderValueProp || renderValueDefault;\n\n return (\n <>\n <SelectContainer\n focused={isFocused}\n disabled={disabled}\n size={size}\n view={view}\n form={form}\n required={required}\n ref={ref}\n style={style}\n id={inputId}\n {...restProps}\n >\n <div\n className={cnSelect('Control')}\n ref={controlRef}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n id={id}\n >\n <div className={cnSelect('ControlInner')}>\n <div className={cnSelect('ControlValueContainer')}>\n <input\n {...getKeyProps()}\n className={cnSelect('FakeField')}\n type=\"text\"\n name={name}\n id={inputId}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n aria-label={ariaLabel}\n onClick={handleInputClick}\n ref={useForkRef([inputRef, inputRefProp])}\n readOnly\n />\n {value && renderValue({ item: value })}\n {(typeof value === 'undefined' || value === null) && placeholder && (\n <span className={cnSelect('Placeholder')} title=\"placeholder\">\n {placeholder}\n </span>\n )}\n </div>\n </div>\n <span className={cnSelect('Indicators')}>\n <button\n type=\"button\"\n className={cnSelect('IndicatorsDropdown')}\n tabIndex={-1}\n onClick={handleToggleDropdown}\n >\n <IconSelect\n size=\"xs\"\n className={cnSelect('DropdownIndicatorIcon')}\n />\n </button>\n </span>\n </div>\n </SelectContainer>\n <SelectDropdown\n isOpen={isOpen}\n size={size}\n controlRef={controlRef}\n getOptionProps={getOptionProps}\n dropdownRef={useForkRef([dropdownRef, defaultDropdownRef])}\n form={dropdownForm}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n notFound={notFound}\n isLoading={isLoading}\n labelForEmptyItems={labelForEmptyItems}\n hasItems={hasItems}\n itemsRefs={optionsRefs}\n virtualScroll={virtualScroll}\n onScrollToBottom={onScrollToBottom}\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n />\n </>\n );\n};\n\nexport const Select = forwardRef(SelectRender) as SelectComponent;\n\nexport * from './helpers';\n"],"mappings":"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"}
@@ -0,0 +1,159 @@
1
+ import { IconComponent } from '@consta/icons/Icon';
2
+ import React from 'react';
3
+ import { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';
4
+ import { PropForm, PropSize, PropStatus, PropView, RenderItemProps } from '../SelectComponentsCanary/types';
5
+ export declare type DefaultItem = {
6
+ label: string;
7
+ id: string | number;
8
+ groupId?: string | number;
9
+ disabled?: boolean;
10
+ };
11
+ export declare type DefaultGroup = {
12
+ label: string;
13
+ id: string | number;
14
+ };
15
+ declare type PropValue<ITEM> = ITEM | null | undefined;
16
+ declare type RenderValueProps<ITEM> = {
17
+ item: ITEM;
18
+ };
19
+ export declare type PropGetItemLabel<ITEM> = (item: ITEM) => string;
20
+ export declare type PropGetItemKey<ITEM> = (item: ITEM) => string | number;
21
+ export declare type PropGetItemGroupKey<ITEM> = (item: ITEM) => string | number | undefined;
22
+ export declare type PropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;
23
+ export declare type PropGetGroupKey<GROUP> = (group: GROUP) => string | number;
24
+ export declare type PropGetGroupLabel<GROUP> = (group: GROUP) => string;
25
+ export declare type PropRenderItem<ITEM> = (props: RenderItemProps<ITEM>) => React.ReactElement | null;
26
+ export declare type PropRenderValue<ITEM> = (props: RenderValueProps<ITEM>) => React.ReactElement | null;
27
+ export declare type SelectProps<ITEM = DefaultItem, GROUP = DefaultGroup> = PropsWithHTMLAttributesAndRef<{
28
+ items: ITEM[];
29
+ onChange: (value: ITEM | null, props: {
30
+ e: React.SyntheticEvent;
31
+ }) => void;
32
+ disabled?: boolean;
33
+ form?: PropForm;
34
+ dropdownForm?: 'default' | 'brick' | 'round';
35
+ size?: PropSize;
36
+ view?: PropView;
37
+ status?: PropStatus;
38
+ focused?: boolean;
39
+ placeholder?: string;
40
+ ariaLabel?: string;
41
+ dropdownClassName?: string;
42
+ dropdownRef?: React.RefObject<HTMLDivElement>;
43
+ required?: boolean;
44
+ name?: string;
45
+ isLoading?: boolean;
46
+ labelForEmptyItems?: string;
47
+ value?: PropValue<ITEM>;
48
+ renderItem?: PropRenderItem<ITEM>;
49
+ renderValue?: PropRenderValue<ITEM>;
50
+ onFocus?: React.FocusEventHandler<HTMLInputElement>;
51
+ onBlur?: React.FocusEventHandler<HTMLInputElement>;
52
+ inputRef?: React.RefObject<HTMLInputElement>;
53
+ groups?: GROUP[];
54
+ getItemLabel?: PropGetItemLabel<ITEM>;
55
+ getItemKey?: PropGetItemKey<ITEM>;
56
+ getItemGroupKey?: PropGetItemGroupKey<ITEM>;
57
+ getItemDisabled?: PropGetItemDisabled<ITEM>;
58
+ getGroupLabel?: PropGetGroupLabel<GROUP>;
59
+ getGroupKey?: PropGetGroupKey<GROUP>;
60
+ label?: string;
61
+ labelIcon?: IconComponent;
62
+ labelPosition?: 'top' | 'left';
63
+ caption?: string;
64
+ virtualScroll?: boolean;
65
+ onScrollToBottom?: () => void;
66
+ onDropdownOpen?: (isOpen: boolean) => void;
67
+ dropdownOpen?: boolean;
68
+ ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;
69
+ }, HTMLDivElement> & (ITEM extends {
70
+ label: DefaultItem['label'];
71
+ } ? {} : {
72
+ getItemLabel: PropGetItemLabel<ITEM>;
73
+ }) & (ITEM extends {
74
+ id: DefaultItem['id'];
75
+ } ? {} : {
76
+ getItemKey: PropGetItemKey<ITEM>;
77
+ }) & (GROUP extends {
78
+ label: DefaultGroup['label'];
79
+ } ? {} : {
80
+ getGroupLabel: PropGetGroupLabel<GROUP>;
81
+ }) & (GROUP extends {
82
+ id: DefaultGroup['id'];
83
+ } ? {} : {
84
+ getGroupKey: PropGetGroupKey<GROUP>;
85
+ });
86
+ export declare type SelectComponent = <ITEM = DefaultItem, GROUP = DefaultGroup>(props: SelectProps<ITEM, GROUP>) => React.ReactElement | null;
87
+ export declare const defaultGetItemKey: PropGetItemKey<DefaultItem>;
88
+ export declare const defaultGetItemLabel: PropGetItemLabel<DefaultItem>;
89
+ export declare const defaultGetItemGroupKey: PropGetItemGroupKey<DefaultItem>;
90
+ export declare const defaultGetItemDisabled: PropGetItemDisabled<DefaultItem>;
91
+ export declare const defaultGetGroupKey: PropGetGroupKey<DefaultGroup>;
92
+ export declare const defaultGetGroupLabel: PropGetGroupLabel<DefaultGroup>;
93
+ export declare function withDefaultGetters<ITEM, GROUP>(props: SelectProps<ITEM, GROUP>): {
94
+ items: ITEM[];
95
+ onChange: (value: ITEM | null, props: {
96
+ e: React.SyntheticEvent<Element, Event>;
97
+ }) => void;
98
+ disabled?: boolean | undefined;
99
+ form?: "default" | "round" | "defaultClear" | "defaultBrick" | "brick" | "brickDefault" | "brickClear" | "brickRound" | "roundClear" | "roundBrick" | "clearRound" | "clearDefault" | "clearBrick" | "clearClear" | undefined;
100
+ dropdownForm?: "default" | "round" | "brick" | undefined;
101
+ size?: "m" | "s" | "xs" | "l" | undefined;
102
+ view?: "default" | "clear" | undefined;
103
+ status?: "alert" | "warning" | "success" | undefined;
104
+ focused?: boolean | undefined;
105
+ placeholder?: string | undefined;
106
+ ariaLabel?: string | undefined;
107
+ dropdownClassName?: string | undefined;
108
+ dropdownRef?: React.RefObject<HTMLDivElement> | undefined;
109
+ required?: boolean | undefined;
110
+ name?: string | undefined;
111
+ isLoading?: boolean | undefined;
112
+ labelForEmptyItems?: string | undefined;
113
+ value?: PropValue<ITEM>;
114
+ renderItem?: PropRenderItem<ITEM> | undefined;
115
+ renderValue?: PropRenderValue<ITEM> | undefined;
116
+ onFocus?: React.FocusEventHandler<HTMLInputElement> | undefined;
117
+ onBlur?: React.FocusEventHandler<HTMLInputElement> | undefined;
118
+ inputRef?: React.RefObject<HTMLInputElement> | undefined;
119
+ groups?: GROUP[] | undefined;
120
+ getItemLabel?: PropGetItemLabel<ITEM> | undefined;
121
+ getItemKey?: PropGetItemKey<ITEM> | undefined;
122
+ getItemGroupKey?: PropGetItemGroupKey<ITEM> | undefined;
123
+ getItemDisabled?: PropGetItemDisabled<ITEM> | undefined;
124
+ getGroupLabel?: PropGetGroupLabel<GROUP> | undefined;
125
+ getGroupKey?: PropGetGroupKey<GROUP> | undefined;
126
+ label?: string | undefined;
127
+ labelIcon?: IconComponent<"span"> | undefined;
128
+ labelPosition?: "left" | "top" | undefined;
129
+ caption?: string | undefined;
130
+ virtualScroll?: boolean | undefined;
131
+ onScrollToBottom?: (() => void) | undefined;
132
+ onDropdownOpen?: ((isOpen: boolean) => void) | undefined;
133
+ dropdownOpen?: boolean | undefined;
134
+ ignoreOutsideClicksRefs?: readonly React.RefObject<HTMLElement>[] | undefined;
135
+ } & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "placeholder" | "onFocus" | "onBlur" | "onChange" | "size" | "caption" | "form" | "label" | "view" | "status" | "name" | "disabled" | "value" | "required" | "inputRef" | "items" | "dropdownForm" | "focused" | "ariaLabel" | "dropdownClassName" | "dropdownRef" | "isLoading" | "labelForEmptyItems" | "renderItem" | "renderValue" | "groups" | "getItemLabel" | "getItemKey" | "getItemGroupKey" | "getItemDisabled" | "getGroupLabel" | "getGroupKey" | "labelIcon" | "labelPosition" | "onScrollToBottom" | "onDropdownOpen" | "dropdownOpen" | "ignoreOutsideClicksRefs" | "virtualScroll"> & React.RefAttributes<HTMLDivElement> & (ITEM extends {
136
+ label: string;
137
+ } ? {} : {
138
+ getItemLabel: PropGetItemLabel<ITEM>;
139
+ }) & (ITEM extends {
140
+ id: string | number;
141
+ } ? {} : {
142
+ getItemKey: PropGetItemKey<ITEM>;
143
+ }) & (GROUP extends {
144
+ label: string;
145
+ } ? {} : {
146
+ getGroupLabel: PropGetGroupLabel<GROUP>;
147
+ }) & (GROUP extends {
148
+ id: string | number;
149
+ } ? {} : {
150
+ getGroupKey: PropGetGroupKey<GROUP>;
151
+ }) & {
152
+ getItemLabel: PropGetItemLabel<DefaultItem> | PropGetItemLabel<ITEM>;
153
+ getItemKey: PropGetItemKey<DefaultItem> | PropGetItemKey<ITEM>;
154
+ getItemGroupKey: PropGetItemGroupKey<DefaultItem> | PropGetItemGroupKey<ITEM>;
155
+ getItemDisabled: PropGetItemDisabled<DefaultItem> | PropGetItemDisabled<ITEM>;
156
+ getGroupLabel: PropGetGroupLabel<DefaultGroup> | PropGetGroupLabel<GROUP>;
157
+ getGroupKey: PropGetGroupKey<DefaultGroup> | PropGetGroupKey<GROUP>;
158
+ };
159
+ export {};
@@ -0,0 +1,2 @@
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";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}export var defaultGetItemKey=function(a){return a.id};export var defaultGetItemLabel=function(a){return a.label};export var defaultGetItemGroupKey=function(a){return a.groupId};export var defaultGetItemDisabled=function(a){return a.disabled};export var defaultGetGroupKey=function(a){return a.id};export var defaultGetGroupLabel=function(a){return a.label};export function withDefaultGetters(a){return _objectSpread(_objectSpread({},a),{},{getItemLabel:a.getItemLabel||defaultGetItemLabel,getItemKey:a.getItemKey||defaultGetItemKey,getItemGroupKey:a.getItemGroupKey||defaultGetItemGroupKey,getItemDisabled:a.getItemDisabled||defaultGetItemDisabled,getGroupLabel:a.getGroupLabel||defaultGetGroupLabel,getGroupKey:a.getGroupKey||defaultGetGroupKey})}
2
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","names":["defaultGetItemKey","item","id","defaultGetItemLabel","label","defaultGetItemGroupKey","groupId","defaultGetItemDisabled","disabled","defaultGetGroupKey","group","defaultGetGroupLabel","withDefaultGetters","props","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupLabel","getGroupKey"],"sources":["../../../../../src/components/SelectCanary/helpers.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport {\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n RenderItemProps,\n} from '../SelectComponentsCanary/types';\n\nexport type DefaultItem = {\n label: string;\n id: string | number;\n groupId?: string | number;\n disabled?: boolean;\n};\n\nexport type DefaultGroup = {\n label: string;\n id: string | number;\n};\n\ntype PropValue<ITEM> = ITEM | null | undefined;\n\ntype RenderValueProps<ITEM> = {\n item: ITEM;\n};\n\nexport type PropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type PropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type PropGetItemGroupKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type PropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;\nexport type PropGetGroupKey<GROUP> = (group: GROUP) => string | number;\nexport type PropGetGroupLabel<GROUP> = (group: GROUP) => string;\nexport type PropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\nexport type PropRenderValue<ITEM> = (\n props: RenderValueProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type SelectProps<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n onChange: (value: ITEM | null, props: { e: React.SyntheticEvent }) => void;\n disabled?: boolean;\n form?: PropForm;\n dropdownForm?: 'default' | 'brick' | 'round';\n size?: PropSize;\n view?: PropView;\n status?: PropStatus;\n focused?: boolean;\n placeholder?: string;\n ariaLabel?: string;\n dropdownClassName?: string;\n dropdownRef?: React.RefObject<HTMLDivElement>;\n required?: boolean;\n name?: string;\n isLoading?: boolean;\n labelForEmptyItems?: string;\n value?: PropValue<ITEM>;\n renderItem?: PropRenderItem<ITEM>;\n renderValue?: PropRenderValue<ITEM>;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n inputRef?: React.RefObject<HTMLInputElement>;\n groups?: GROUP[];\n getItemLabel?: PropGetItemLabel<ITEM>;\n getItemKey?: PropGetItemKey<ITEM>;\n getItemGroupKey?: PropGetItemGroupKey<ITEM>;\n getItemDisabled?: PropGetItemDisabled<ITEM>;\n getGroupLabel?: PropGetGroupLabel<GROUP>;\n getGroupKey?: PropGetGroupKey<GROUP>;\n label?: string;\n labelIcon?: IconComponent;\n labelPosition?: 'top' | 'left';\n caption?: string;\n virtualScroll?: boolean;\n onScrollToBottom?: () => void;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n },\n HTMLDivElement\n> &\n (ITEM extends { label: DefaultItem['label'] }\n ? {}\n : { getItemLabel: PropGetItemLabel<ITEM> }) &\n (ITEM extends { id: DefaultItem['id'] }\n ? {}\n : { getItemKey: PropGetItemKey<ITEM> }) &\n (GROUP extends { label: DefaultGroup['label'] }\n ? {}\n : { getGroupLabel: PropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: DefaultGroup['id'] }\n ? {}\n : { getGroupKey: PropGetGroupKey<GROUP> });\n\nexport type SelectComponent = <ITEM = DefaultItem, GROUP = DefaultGroup>(\n props: SelectProps<ITEM, GROUP>,\n) => React.ReactElement | null;\n\nexport const defaultGetItemKey: PropGetItemKey<DefaultItem> = (item) => item.id;\nexport const defaultGetItemLabel: PropGetItemLabel<DefaultItem> = (item) =>\n item.label;\nexport const defaultGetItemGroupKey: PropGetItemGroupKey<DefaultItem> = (\n item,\n) => item.groupId;\nexport const defaultGetItemDisabled: PropGetItemDisabled<DefaultItem> = (\n item,\n) => item.disabled;\n\nexport const defaultGetGroupKey: PropGetGroupKey<DefaultGroup> = (group) =>\n group.id;\nexport const defaultGetGroupLabel: PropGetGroupLabel<DefaultGroup> = (group) =>\n group.label;\n\nexport function withDefaultGetters<ITEM, GROUP>(\n props: SelectProps<ITEM, GROUP>,\n) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemKey: props.getItemKey || defaultGetItemKey,\n getItemGroupKey: props.getItemGroupKey || defaultGetItemGroupKey,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisabled,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getGroupKey: props.getGroupKey || defaultGetGroupKey,\n };\n}\n"],"mappings":"qqBA6GA,MAAO,IAAMA,kBAA8C,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,EAAf,CAAvD,CACP,MAAO,IAAMC,oBAAkD,CAAG,SAACF,CAAD,QAChEA,EAAI,CAACG,KAD2D,CAA3D,CAEP,MAAO,IAAMC,uBAAwD,CAAG,SACtEJ,CADsE,QAEnEA,EAAI,CAACK,OAF8D,CAAjE,CAGP,MAAO,IAAMC,uBAAwD,CAAG,SACtEN,CADsE,QAEnEA,EAAI,CAACO,QAF8D,CAAjE,CAIP,MAAO,IAAMC,mBAAiD,CAAG,SAACC,CAAD,QAC/DA,EAAK,CAACR,EADyD,CAA1D,CAEP,MAAO,IAAMS,qBAAqD,CAAG,SAACD,CAAD,QACnEA,EAAK,CAACN,KAD6D,CAA9D,CAGP,MAAO,SAASQ,mBAAT,CACLC,CADK,CAEL,CACA,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBX,mBAFtC,CAGEY,UAAU,CAAEF,CAAK,CAACE,UAAN,EAAoBf,iBAHlC,CAIEgB,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBX,sBAJ5C,CAKEY,eAAe,CAAEJ,CAAK,CAACI,eAAN,EAAyBV,sBAL5C,CAMEW,aAAa,CAAEL,CAAK,CAACK,aAAN,EAAuBP,oBANxC,CAOEQ,WAAW,CAAEN,CAAK,CAACM,WAAN,EAAqBV,kBAPpC,EASD"}
@@ -0,0 +1 @@
1
+ export * from './SelectCanary';
@@ -0,0 +1,2 @@
1
+ export*from"./SelectCanary";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/SelectCanary/index.ts"],"sourcesContent":["export * from './SelectCanary';\n"],"mappings":"AAAA"}
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["controlRef","size","getOptionProps","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItems","form","isOpen","offset","renderItem","visibleItems","isLoading","getGroupLabel","notFound"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./SelectDropdown.css";import React,{Fragment,useMemo,useRef}from"react";import{Transition}from"react-transition-group";import{cnListBox,ListItem,mapVerticalSpase}from"../../ListCanary";import{cnMixSpace}from"../../../mixs/MixSpace";import{isOptionForCreate,isOptionForSelectAll}from"../../../hooks/useSelect/useSelect";import{animateTimeout,cnMixPopoverAnimate}from"../../../mixs/MixPopoverAnimate/MixPopoverAnimate";import{cn}from"../../../utils/bem";import{fabricIndex}from"../../../utils/fabricIndex";import{Popover}from"../../Popover/Popover";import{SelectCreateButton}from"../SelectCreateButton/SelectCreateButton";import{SelectGroupLabel}from"../SelectGroupLabel/SelectGroupLabel";import{SelectItemAll}from"../SelectItemAll/SelectSelectAll";import{SelectLoader}from"../SelectLoader/SelectLoader";export var selectDropdownform=["default","brick","round"];export var defaultSelectDropdownPropForm=selectDropdownform[0];var cnSelectDropdown=cn("SelectDropdown");export var SelectDropdown=function(a){var b=a.controlRef,c=a.size,d=a.getOptionProps,e=a.dropdownRef,f=a.labelForCreate,g=a.className,h=a.labelForNotFound,i=a.labelForEmptyItems,j=a.hasItems,k=!(void 0!==j)||j,l=a.form,m=a.isOpen,n=a.offset,o=void 0===n?"none":n,p=a.renderItem,q=a.visibleItems,r=a.isLoading,s=a.getGroupLabel,t=a.notFound,u=_objectWithoutProperties(a,_excluded),v="round"===l?"increased":"normal",w=useRef(null),x=useMemo(function(){return 0<q.filter(function(a){return isOptionForCreate(a)||Array.isArray(a.items)&&0<a.items.length}).length},[q]),y="none"===o?void 0:o;return React.createElement(Transition,{in:m,unmountOnExit:!0,nodeRef:w,timeout:animateTimeout},function(a){var j=fabricIndex(-1);return React.createElement(Popover,Object.assign({},u,{anchorRef:b,direction:"downStartLeft",possibleDirections:["downStartLeft","upStartLeft","downStartRight","upStartRight"],offset:y,ref:w,role:"listbox",className:cnSelectDropdown(null,[cnListBox({size:c,form:l,border:!0,shadow:!0}),cnMixPopoverAnimate({animate:a}),g]),equalAnchorWidth:!0}),React.createElement("div",{className:cnSelectDropdown("List",[cnMixSpace({pV:mapVerticalSpase[c]})]),ref:e},r&&React.createElement(SelectLoader,{mode:x?"blur":"empty"}),q.map(function(a){return isOptionForCreate(a)?React.createElement(SelectCreateButton,Object.assign({size:c,labelForCreate:f,inputValue:a.label,indent:v},d({index:j(),item:a}))):React.createElement(Fragment,{key:a.key},a.group&&s&&React.createElement(SelectGroupLabel,{label:s(a.group),size:c,indent:v}),a.items.map(function(b,e){return isOptionForSelectAll(b)?React.createElement(SelectItemAll,Object.assign({indent:v,size:c},d({index:j(),item:b}),{intermediate:!!(b.checkedCount&&b.totalCount)&&b.checkedCount!==b.totalCount,checked:b.checkedCount===b.totalCount,countItems:b.checkedCount,total:b.totalCount})):React.createElement(Fragment,{key:"".concat(a.key,"-").concat(e)},p(_objectSpread({item:b},d({index:j(),item:b}))))}))}),!r&&k&&t&&h&&React.createElement(ListItem,{size:c,label:h,innerOffset:v},h),!r&&!k&&i&&React.createElement(ListItem,{size:c,label:i,innerOffset:v},i)))})};
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["controlRef","size","getOptionProps","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItems","form","isOpen","offset","renderItem","visibleItems","isLoading","getGroupLabel","notFound"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./SelectDropdown.css";import React,{Fragment,useMemo,useRef}from"react";import{Transition}from"react-transition-group";import{cnListBox,ListItem,mapVerticalSpase}from"../../ListCanary";import{cnMixSpace}from"../../../mixs/MixSpace";import{isOptionForCreate,isOptionForSelectAll}from"../../../hooks/useSelect/useSelect";import{animateTimeout,cnMixPopoverAnimate}from"../../../mixs/MixPopoverAnimate/MixPopoverAnimate";import{cn}from"../../../utils/bem";import{fabricIndex}from"../../../utils/fabricIndex";import{Popover}from"../../Popover/Popover";import{SelectCreateButton}from"../SelectCreateButton/SelectCreateButton";import{SelectGroupLabel}from"../SelectGroupLabel/SelectGroupLabel";import{SelectItemAll}from"../SelectItemAll/SelectSelectAll";import{SelectLoader}from"../SelectLoader/SelectLoader";export var selectDropdownform=["default","brick","round"];export var defaultSelectDropdownPropForm=selectDropdownform[0];var cnSelectDropdown=cn("SelectDropdown");export var SelectDropdown=function(a){var b=a.controlRef,c=a.size,d=a.getOptionProps,e=a.dropdownRef,f=a.labelForCreate,g=a.className,h=a.labelForNotFound,i=a.labelForEmptyItems,j=a.hasItems,k=!(void 0!==j)||j,l=a.form,m=a.isOpen,n=a.offset,o=void 0===n?"none":n,p=a.renderItem,q=a.visibleItems,r=a.isLoading,s=a.getGroupLabel,t=a.notFound,u=_objectWithoutProperties(a,_excluded),v="round"===l?"increased":"normal",w=useRef(null),x=useMemo(function(){return 0<q.filter(function(a){return isOptionForCreate(a)||Array.isArray(a.items)&&0<a.items.length}).length},[q]),y="none"===o?void 0:o;return React.createElement(Transition,{in:m,unmountOnExit:!0,nodeRef:w,timeout:animateTimeout},function(a){var j=fabricIndex();return React.createElement(Popover,Object.assign({},u,{anchorRef:b,direction:"downStartLeft",possibleDirections:["downStartLeft","upStartLeft","downStartRight","upStartRight"],offset:y,ref:w,role:"listbox",className:cnSelectDropdown(null,[cnListBox({size:c,form:l,border:!0,shadow:!0}),cnMixPopoverAnimate({animate:a}),g]),equalAnchorWidth:!0}),React.createElement("div",{className:cnSelectDropdown("List",[cnMixSpace({pV:mapVerticalSpase[c]})]),ref:e},r&&React.createElement(SelectLoader,{mode:x?"blur":"empty"}),q.map(function(a){return isOptionForCreate(a)?React.createElement(SelectCreateButton,Object.assign({size:c,labelForCreate:f,inputValue:a.label,indent:v},d({index:j(),item:a}))):React.createElement(Fragment,{key:a.key},a.group&&s&&React.createElement(SelectGroupLabel,{label:s(a.group),size:c,indent:v}),a.items.map(function(b,e){return isOptionForSelectAll(b)?React.createElement(SelectItemAll,Object.assign({indent:v,size:c},d({index:j(),item:b}),{intermediate:!!(b.checkedCount&&b.totalCount)&&b.checkedCount!==b.totalCount,checked:b.checkedCount===b.totalCount,countItems:b.checkedCount,total:b.totalCount})):React.createElement(Fragment,{key:"".concat(a.key,"-").concat(e)},p(_objectSpread({item:b},d({index:j(),item:b}))))}))}),!r&&k&&t&&h&&React.createElement(ListItem,{size:c,label:h,innerOffset:v},h),!r&&!k&&i&&React.createElement(ListItem,{size:c,label:i,innerOffset:v},i)))})};
2
2
  //# sourceMappingURL=SelectDropdown.js.map