@salutejs/plasma-new-hope 0.172.1-canary.1448.11457725334.0 → 0.172.1-canary.1501.11457027337.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (427) hide show
  1. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +1 -0
  2. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
  3. package/cjs/components/Attach/Attach.js +4 -3
  4. package/cjs/components/Attach/Attach.js.map +1 -1
  5. package/cjs/components/Attach/components/AttachButton/AttachButton.js +1 -0
  6. package/cjs/components/Attach/components/AttachButton/AttachButton.js.map +1 -1
  7. package/cjs/components/Attach/ui/Button/Button.styles.js +1 -0
  8. package/cjs/components/Attach/ui/Button/Button.styles.js.map +1 -1
  9. package/cjs/components/Attach/ui/Cell/Cell.styles.js +2 -0
  10. package/cjs/components/Attach/ui/Cell/Cell.styles.js.map +1 -1
  11. package/cjs/components/Attach/ui/IconButton/IconButton.styles.js +1 -0
  12. package/cjs/components/Attach/ui/IconButton/IconButton.styles.js.map +1 -1
  13. package/cjs/components/Attach/utils/getFileicon.js +4 -3
  14. package/cjs/components/Attach/utils/getFileicon.js.map +1 -1
  15. package/cjs/components/Attach/utils/index.js +3 -0
  16. package/cjs/components/Attach/utils/index.js.map +1 -1
  17. package/cjs/components/Autocomplete/Autocomplete.js +6 -5
  18. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  19. package/cjs/components/Autocomplete/Autocomplete.styles.js +3 -2
  20. package/cjs/components/Autocomplete/Autocomplete.styles.js.map +1 -1
  21. package/cjs/components/Autocomplete/ui/TextField/TextField.styles.js +2 -1
  22. package/cjs/components/Autocomplete/ui/TextField/TextField.styles.js.map +1 -1
  23. package/cjs/components/Avatar/Avatar.js +3 -2
  24. package/cjs/components/Avatar/Avatar.js.map +1 -1
  25. package/cjs/components/Breadcrumbs/Breadcrumbs.styles.js +4 -2
  26. package/cjs/components/Breadcrumbs/Breadcrumbs.styles.js.map +1 -1
  27. package/cjs/components/Button/Button.styles.js +3 -0
  28. package/cjs/components/Button/Button.styles.js.map +1 -1
  29. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +5 -5
  30. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +8 -8
  31. package/cjs/components/Calendar/hooks/useDays.js +2 -2
  32. package/cjs/components/Calendar/hooks/useKeyNavigation.js +1 -1
  33. package/cjs/components/Calendar/hooks/useMonths.js +2 -2
  34. package/cjs/components/Calendar/hooks/useQuarters.js +2 -2
  35. package/cjs/components/Calendar/hooks/useYears.js +2 -2
  36. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +4 -4
  37. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +6 -5
  38. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  39. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js +1 -0
  40. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js.map +1 -1
  41. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -4
  42. package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +4 -4
  43. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +4 -4
  44. package/cjs/components/Combobox/ComboboxNew/Combobox.js +12 -11
  45. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  46. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +4 -2
  47. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  48. package/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js +2 -0
  49. package/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js.map +1 -1
  50. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +2 -1
  51. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  52. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +6 -5
  53. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js.map +1 -1
  54. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +3 -1
  55. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  56. package/cjs/components/Combobox/ComboboxNew/ui/Target/Target.styles.js +2 -1
  57. package/cjs/components/Combobox/ComboboxNew/ui/Target/Target.styles.js.map +1 -1
  58. package/cjs/components/Combobox/ComboboxOld/Combobox.js +10 -4
  59. package/cjs/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  60. package/cjs/components/Combobox/ComboboxOld/Combobox.styles.js +1 -0
  61. package/cjs/components/Combobox/ComboboxOld/Combobox.styles.js.map +1 -1
  62. package/cjs/components/Combobox/ComboboxOld/hooks/useFocusController.js +1 -0
  63. package/cjs/components/Combobox/ComboboxOld/hooks/useFocusController.js.map +1 -1
  64. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxChip/ComboboxChip.styles.js +2 -1
  65. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxChip/ComboboxChip.styles.js.map +1 -1
  66. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js +10 -1
  67. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js.map +1 -1
  68. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js +10 -1
  69. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js.map +1 -1
  70. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js +10 -1
  71. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js.map +1 -1
  72. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js +10 -1
  73. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js.map +1 -1
  74. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.styles.js +2 -0
  75. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.styles.js.map +1 -1
  76. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.js +1 -1
  77. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.styles.js +2 -1
  78. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.styles.js.map +1 -1
  79. package/cjs/components/DatePicker/DatePickerBase.styles.js +7 -1
  80. package/cjs/components/DatePicker/DatePickerBase.styles.js.map +1 -1
  81. package/cjs/components/DatePicker/RangeDate/RangeDate.js +1 -1
  82. package/cjs/components/DatePicker/RangeDate/RangeDate.styles.js +1 -0
  83. package/cjs/components/DatePicker/RangeDate/RangeDate.styles.js.map +1 -1
  84. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +2 -1
  85. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  86. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +5 -2
  87. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js.map +1 -1
  88. package/cjs/components/DatePicker/SingleDate/SingleDate.styles.js +1 -0
  89. package/cjs/components/DatePicker/SingleDate/SingleDate.styles.js.map +1 -1
  90. package/cjs/components/Drawer/Drawer.js +10 -5
  91. package/cjs/components/Drawer/Drawer.js.map +1 -1
  92. package/cjs/components/Drawer/Drawer.styles.js +4 -0
  93. package/cjs/components/Drawer/Drawer.styles.js.map +1 -1
  94. package/cjs/components/Drawer/hooks/useDrawer.js +4 -0
  95. package/cjs/components/Drawer/hooks/useDrawer.js.map +1 -1
  96. package/cjs/components/Drawer/ui/DrawerContent/DrawerContent.js +7 -0
  97. package/cjs/components/Drawer/ui/DrawerContent/DrawerContent.js.map +1 -1
  98. package/cjs/components/Drawer/ui/DrawerFooter/DrawerFooter.js +7 -0
  99. package/cjs/components/Drawer/ui/DrawerFooter/DrawerFooter.js.map +1 -1
  100. package/cjs/components/Drawer/ui/DrawerHeader/DrawerHeader.js +3 -0
  101. package/cjs/components/Drawer/ui/DrawerHeader/DrawerHeader.js.map +1 -1
  102. package/cjs/components/Dropdown/Dropdown.js +10 -3
  103. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  104. package/cjs/components/Dropdown/Dropdown.styles.js +3 -2
  105. package/cjs/components/Dropdown/Dropdown.styles.js.map +1 -1
  106. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -1
  107. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  108. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -1
  109. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  110. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +2 -0
  111. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js.map +1 -1
  112. package/cjs/components/Dropdown/ui/DropdownOld/Dropdown.styles.js +1 -0
  113. package/cjs/components/Dropdown/ui/DropdownOld/Dropdown.styles.js.map +1 -1
  114. package/cjs/components/Editable/Editable.js +4 -3
  115. package/cjs/components/Editable/Editable.js.map +1 -1
  116. package/cjs/components/Editable/utils/clearSelection.js +2 -0
  117. package/cjs/components/Editable/utils/clearSelection.js.map +1 -1
  118. package/cjs/components/Editable/utils/selectText.js +2 -0
  119. package/cjs/components/Editable/utils/selectText.js.map +1 -1
  120. package/cjs/components/EmptyState/EmptyState.styles.js +2 -1
  121. package/cjs/components/EmptyState/EmptyState.styles.js.map +1 -1
  122. package/cjs/components/IconButton/IconButton.js +1 -1
  123. package/cjs/components/IconButton/IconButton.styles.js +8 -0
  124. package/cjs/components/IconButton/IconButton.styles.js.map +1 -1
  125. package/cjs/components/Modal/Modal.js +8 -6
  126. package/cjs/components/Modal/Modal.js.map +1 -1
  127. package/cjs/components/Modal/hooks/useModal.js +4 -0
  128. package/cjs/components/Modal/hooks/useModal.js.map +1 -1
  129. package/cjs/components/Notification/Notification.styles.js +3 -2
  130. package/cjs/components/Notification/Notification.styles.js.map +1 -1
  131. package/cjs/components/Notification/NotificationsPortal.js +4 -3
  132. package/cjs/components/Notification/NotificationsPortal.js.map +1 -1
  133. package/cjs/components/Pagination/Pagination.styles.js +2 -1
  134. package/cjs/components/Pagination/Pagination.styles.js.map +1 -1
  135. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +2 -1
  136. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js.map +1 -1
  137. package/cjs/components/Panel/ui/PanelHeader/PanelHeader.js +2 -1
  138. package/cjs/components/Panel/ui/PanelHeader/PanelHeader.js.map +1 -1
  139. package/cjs/components/Panel/ui/PanelHeader/PanelHeader.styles.js +2 -1
  140. package/cjs/components/Panel/ui/PanelHeader/PanelHeader.styles.js.map +1 -1
  141. package/cjs/components/Popover/Popover.js +1 -1
  142. package/cjs/components/Popup/Popup.js +2 -2
  143. package/cjs/components/Popup/PopupContext.js +1 -1
  144. package/cjs/components/Range/Range.styles.js +1 -0
  145. package/cjs/components/Range/Range.styles.js.map +1 -1
  146. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +5 -4
  147. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  148. package/cjs/components/Select/Select.js +12 -11
  149. package/cjs/components/Select/Select.js.map +1 -1
  150. package/cjs/components/Select/Select.styles.js +5 -2
  151. package/cjs/components/Select/Select.styles.js.map +1 -1
  152. package/cjs/components/Select/hooks/usePathMaps.js +2 -0
  153. package/cjs/components/Select/hooks/usePathMaps.js.map +1 -1
  154. package/cjs/components/Select/ui/Inner/Inner.js +2 -1
  155. package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
  156. package/cjs/components/Select/ui/Inner/ui/Item/Item.js +5 -4
  157. package/cjs/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
  158. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js +1 -0
  159. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  160. package/cjs/components/Select/ui/Target/ui/Button/Button.js +1 -1
  161. package/cjs/components/Select/ui/Target/ui/Button/Button.styles.js +3 -1
  162. package/cjs/components/Select/ui/Target/ui/Button/Button.styles.js.map +1 -1
  163. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -2
  164. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.styles.js +4 -1
  165. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.styles.js.map +1 -1
  166. package/cjs/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js +2 -1
  167. package/cjs/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js.map +1 -1
  168. package/cjs/components/Select/utils/getButtonLabel.js +2 -0
  169. package/cjs/components/Select/utils/getButtonLabel.js.map +1 -1
  170. package/cjs/components/Sheet/Sheet.js +3 -3
  171. package/cjs/components/Skeleton/LineSkeleton/LineSkeleton.js +4 -2
  172. package/cjs/components/Skeleton/LineSkeleton/LineSkeleton.js.map +1 -1
  173. package/cjs/components/Skeleton/RectSkeleton/RectSkeleton.js +4 -2
  174. package/cjs/components/Skeleton/RectSkeleton/RectSkeleton.js.map +1 -1
  175. package/cjs/components/Slider/Slider.js +6 -0
  176. package/cjs/components/Slider/Slider.js.map +1 -1
  177. package/cjs/components/Slider/components/Double/Double.js +2 -1
  178. package/cjs/components/Slider/components/Double/Double.js.map +1 -1
  179. package/cjs/components/Slider/components/Double/Double.styles.js +1 -0
  180. package/cjs/components/Slider/components/Double/Double.styles.js.map +1 -1
  181. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +3 -0
  182. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js.map +1 -1
  183. package/cjs/components/Slider/components/Single/Single.js +2 -1
  184. package/cjs/components/Slider/components/Single/Single.js.map +1 -1
  185. package/cjs/components/Slider/components/SliderBase/SliderBase.js +1 -1
  186. package/cjs/components/Steps/Steps.js +1 -1
  187. package/cjs/components/Steps/ui/StepItem/StepItem.styles.js +1 -0
  188. package/cjs/components/Steps/ui/StepItem/StepItem.styles.js.map +1 -1
  189. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -2
  190. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  191. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +3 -2
  192. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
  193. package/cjs/components/TextArea/TextArea.js +1 -1
  194. package/cjs/components/TextField/TextField.js +1 -1
  195. package/cjs/components/TextField/ui/TextFieldChip/TextFieldChip.styles.js +2 -1
  196. package/cjs/components/TextField/ui/TextFieldChip/TextFieldChip.styles.js.map +1 -1
  197. package/cjs/components/Toast/Toast.styles.js +1 -1
  198. package/cjs/components/Toast/ToastController.js +1 -1
  199. package/cjs/components/Toast/utils.js +2 -1
  200. package/cjs/components/Toast/utils.js.map +1 -1
  201. package/cjs/components/Toolbar/ui/ToolbarDivider/ToolbarDivider.js +1 -1
  202. package/cjs/components/Tooltip/Tooltip.js +3 -2
  203. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  204. package/cjs/engines/index.js +2 -0
  205. package/cjs/engines/index.js.map +1 -1
  206. package/cjs/hooks/useIsomorphicLayoutEffect.js +1 -0
  207. package/cjs/hooks/useIsomorphicLayoutEffect.js.map +1 -1
  208. package/cjs/index.js +51 -48
  209. package/cjs/index.js.map +1 -1
  210. package/cjs/utils/index.js +5 -0
  211. package/cjs/utils/index.js.map +1 -1
  212. package/emotion/package.json +1 -2
  213. package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +1 -0
  214. package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
  215. package/es/components/Attach/Attach.js +4 -3
  216. package/es/components/Attach/Attach.js.map +1 -1
  217. package/es/components/Attach/components/AttachButton/AttachButton.js +1 -0
  218. package/es/components/Attach/components/AttachButton/AttachButton.js.map +1 -1
  219. package/es/components/Attach/ui/Button/Button.styles.js +1 -0
  220. package/es/components/Attach/ui/Button/Button.styles.js.map +1 -1
  221. package/es/components/Attach/ui/Cell/Cell.styles.js +2 -0
  222. package/es/components/Attach/ui/Cell/Cell.styles.js.map +1 -1
  223. package/es/components/Attach/ui/IconButton/IconButton.styles.js +1 -0
  224. package/es/components/Attach/ui/IconButton/IconButton.styles.js.map +1 -1
  225. package/es/components/Attach/utils/getFileicon.js +4 -3
  226. package/es/components/Attach/utils/getFileicon.js.map +1 -1
  227. package/es/components/Attach/utils/index.js +3 -0
  228. package/es/components/Attach/utils/index.js.map +1 -1
  229. package/es/components/Autocomplete/Autocomplete.js +6 -5
  230. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  231. package/es/components/Autocomplete/Autocomplete.styles.js +3 -2
  232. package/es/components/Autocomplete/Autocomplete.styles.js.map +1 -1
  233. package/es/components/Autocomplete/ui/TextField/TextField.styles.js +2 -1
  234. package/es/components/Autocomplete/ui/TextField/TextField.styles.js.map +1 -1
  235. package/es/components/Avatar/Avatar.js +3 -2
  236. package/es/components/Avatar/Avatar.js.map +1 -1
  237. package/es/components/Breadcrumbs/Breadcrumbs.styles.js +4 -2
  238. package/es/components/Breadcrumbs/Breadcrumbs.styles.js.map +1 -1
  239. package/es/components/Button/Button.styles.js +3 -0
  240. package/es/components/Button/Button.styles.js.map +1 -1
  241. package/es/components/Calendar/CalendarBase/CalendarBase.js +5 -5
  242. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +8 -8
  243. package/es/components/Calendar/hooks/useDays.js +2 -2
  244. package/es/components/Calendar/hooks/useKeyNavigation.js +1 -1
  245. package/es/components/Calendar/hooks/useMonths.js +2 -2
  246. package/es/components/Calendar/hooks/useQuarters.js +2 -2
  247. package/es/components/Calendar/hooks/useYears.js +2 -2
  248. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js +4 -4
  249. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +6 -5
  250. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  251. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js +1 -0
  252. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js.map +1 -1
  253. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -4
  254. package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +4 -4
  255. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js +4 -4
  256. package/es/components/Combobox/ComboboxNew/Combobox.js +12 -11
  257. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  258. package/es/components/Combobox/ComboboxNew/Combobox.styles.js +4 -2
  259. package/es/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  260. package/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js +2 -0
  261. package/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js.map +1 -1
  262. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +2 -1
  263. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  264. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +6 -5
  265. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js.map +1 -1
  266. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +3 -1
  267. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  268. package/es/components/Combobox/ComboboxNew/ui/Target/Target.styles.js +2 -1
  269. package/es/components/Combobox/ComboboxNew/ui/Target/Target.styles.js.map +1 -1
  270. package/es/components/Combobox/ComboboxOld/Combobox.js +10 -4
  271. package/es/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  272. package/es/components/Combobox/ComboboxOld/Combobox.styles.js +1 -0
  273. package/es/components/Combobox/ComboboxOld/Combobox.styles.js.map +1 -1
  274. package/es/components/Combobox/ComboboxOld/hooks/useFocusController.js +1 -0
  275. package/es/components/Combobox/ComboboxOld/hooks/useFocusController.js.map +1 -1
  276. package/es/components/Combobox/ComboboxOld/ui/ComboboxChip/ComboboxChip.styles.js +2 -1
  277. package/es/components/Combobox/ComboboxOld/ui/ComboboxChip/ComboboxChip.styles.js.map +1 -1
  278. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js +10 -1
  279. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js.map +1 -1
  280. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js +10 -1
  281. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js.map +1 -1
  282. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js +10 -1
  283. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js.map +1 -1
  284. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js +10 -1
  285. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js.map +1 -1
  286. package/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.styles.js +2 -0
  287. package/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.styles.js.map +1 -1
  288. package/es/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.js +1 -1
  289. package/es/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.styles.js +2 -1
  290. package/es/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.styles.js.map +1 -1
  291. package/es/components/DatePicker/DatePickerBase.styles.js +7 -1
  292. package/es/components/DatePicker/DatePickerBase.styles.js.map +1 -1
  293. package/es/components/DatePicker/RangeDate/RangeDate.js +1 -1
  294. package/es/components/DatePicker/RangeDate/RangeDate.styles.js +1 -0
  295. package/es/components/DatePicker/RangeDate/RangeDate.styles.js.map +1 -1
  296. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +2 -1
  297. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  298. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +5 -2
  299. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js.map +1 -1
  300. package/es/components/DatePicker/SingleDate/SingleDate.styles.js +1 -0
  301. package/es/components/DatePicker/SingleDate/SingleDate.styles.js.map +1 -1
  302. package/es/components/Drawer/Drawer.js +10 -5
  303. package/es/components/Drawer/Drawer.js.map +1 -1
  304. package/es/components/Drawer/Drawer.styles.js +4 -0
  305. package/es/components/Drawer/Drawer.styles.js.map +1 -1
  306. package/es/components/Drawer/hooks/useDrawer.js +4 -0
  307. package/es/components/Drawer/hooks/useDrawer.js.map +1 -1
  308. package/es/components/Drawer/ui/DrawerContent/DrawerContent.js +7 -0
  309. package/es/components/Drawer/ui/DrawerContent/DrawerContent.js.map +1 -1
  310. package/es/components/Drawer/ui/DrawerFooter/DrawerFooter.js +7 -0
  311. package/es/components/Drawer/ui/DrawerFooter/DrawerFooter.js.map +1 -1
  312. package/es/components/Drawer/ui/DrawerHeader/DrawerHeader.js +3 -0
  313. package/es/components/Drawer/ui/DrawerHeader/DrawerHeader.js.map +1 -1
  314. package/es/components/Dropdown/Dropdown.js +10 -3
  315. package/es/components/Dropdown/Dropdown.js.map +1 -1
  316. package/es/components/Dropdown/Dropdown.styles.js +3 -2
  317. package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
  318. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -1
  319. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  320. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -1
  321. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  322. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +2 -0
  323. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js.map +1 -1
  324. package/es/components/Dropdown/ui/DropdownOld/Dropdown.styles.js +1 -0
  325. package/es/components/Dropdown/ui/DropdownOld/Dropdown.styles.js.map +1 -1
  326. package/es/components/Editable/Editable.js +4 -3
  327. package/es/components/Editable/Editable.js.map +1 -1
  328. package/es/components/Editable/utils/clearSelection.js +2 -0
  329. package/es/components/Editable/utils/clearSelection.js.map +1 -1
  330. package/es/components/Editable/utils/selectText.js +2 -0
  331. package/es/components/Editable/utils/selectText.js.map +1 -1
  332. package/es/components/EmptyState/EmptyState.styles.js +2 -1
  333. package/es/components/EmptyState/EmptyState.styles.js.map +1 -1
  334. package/es/components/IconButton/IconButton.js +1 -1
  335. package/es/components/IconButton/IconButton.styles.js +8 -0
  336. package/es/components/IconButton/IconButton.styles.js.map +1 -1
  337. package/es/components/Modal/Modal.js +8 -6
  338. package/es/components/Modal/Modal.js.map +1 -1
  339. package/es/components/Modal/hooks/useModal.js +4 -0
  340. package/es/components/Modal/hooks/useModal.js.map +1 -1
  341. package/es/components/Notification/Notification.styles.js +3 -2
  342. package/es/components/Notification/Notification.styles.js.map +1 -1
  343. package/es/components/Notification/NotificationsPortal.js +4 -3
  344. package/es/components/Notification/NotificationsPortal.js.map +1 -1
  345. package/es/components/Pagination/Pagination.styles.js +2 -1
  346. package/es/components/Pagination/Pagination.styles.js.map +1 -1
  347. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +2 -1
  348. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js.map +1 -1
  349. package/es/components/Panel/ui/PanelHeader/PanelHeader.js +2 -1
  350. package/es/components/Panel/ui/PanelHeader/PanelHeader.js.map +1 -1
  351. package/es/components/Panel/ui/PanelHeader/PanelHeader.styles.js +2 -1
  352. package/es/components/Panel/ui/PanelHeader/PanelHeader.styles.js.map +1 -1
  353. package/es/components/Popover/Popover.js +1 -1
  354. package/es/components/Popup/Popup.js +2 -2
  355. package/es/components/Popup/PopupContext.js +1 -1
  356. package/es/components/Range/Range.styles.js +1 -0
  357. package/es/components/Range/Range.styles.js.map +1 -1
  358. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +5 -4
  359. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  360. package/es/components/Select/Select.js +12 -11
  361. package/es/components/Select/Select.js.map +1 -1
  362. package/es/components/Select/Select.styles.js +5 -2
  363. package/es/components/Select/Select.styles.js.map +1 -1
  364. package/es/components/Select/hooks/usePathMaps.js +2 -0
  365. package/es/components/Select/hooks/usePathMaps.js.map +1 -1
  366. package/es/components/Select/ui/Inner/Inner.js +2 -1
  367. package/es/components/Select/ui/Inner/Inner.js.map +1 -1
  368. package/es/components/Select/ui/Inner/ui/Item/Item.js +5 -4
  369. package/es/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
  370. package/es/components/Select/ui/Inner/ui/Item/Item.styles.js +1 -0
  371. package/es/components/Select/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  372. package/es/components/Select/ui/Target/ui/Button/Button.js +1 -1
  373. package/es/components/Select/ui/Target/ui/Button/Button.styles.js +3 -1
  374. package/es/components/Select/ui/Target/ui/Button/Button.styles.js.map +1 -1
  375. package/es/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -2
  376. package/es/components/Select/ui/Target/ui/Textfield/Textfield.styles.js +4 -1
  377. package/es/components/Select/ui/Target/ui/Textfield/Textfield.styles.js.map +1 -1
  378. package/es/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js +2 -1
  379. package/es/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js.map +1 -1
  380. package/es/components/Select/utils/getButtonLabel.js +2 -0
  381. package/es/components/Select/utils/getButtonLabel.js.map +1 -1
  382. package/es/components/Sheet/Sheet.js +3 -3
  383. package/es/components/Skeleton/LineSkeleton/LineSkeleton.js +4 -2
  384. package/es/components/Skeleton/LineSkeleton/LineSkeleton.js.map +1 -1
  385. package/es/components/Skeleton/RectSkeleton/RectSkeleton.js +4 -2
  386. package/es/components/Skeleton/RectSkeleton/RectSkeleton.js.map +1 -1
  387. package/es/components/Slider/Slider.js +6 -0
  388. package/es/components/Slider/Slider.js.map +1 -1
  389. package/es/components/Slider/components/Double/Double.js +2 -1
  390. package/es/components/Slider/components/Double/Double.js.map +1 -1
  391. package/es/components/Slider/components/Double/Double.styles.js +1 -0
  392. package/es/components/Slider/components/Double/Double.styles.js.map +1 -1
  393. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +3 -0
  394. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js.map +1 -1
  395. package/es/components/Slider/components/Single/Single.js +2 -1
  396. package/es/components/Slider/components/Single/Single.js.map +1 -1
  397. package/es/components/Slider/components/SliderBase/SliderBase.js +1 -1
  398. package/es/components/Steps/Steps.js +1 -1
  399. package/es/components/Steps/ui/StepItem/StepItem.styles.js +1 -0
  400. package/es/components/Steps/ui/StepItem/StepItem.styles.js.map +1 -1
  401. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -2
  402. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  403. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +3 -2
  404. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
  405. package/es/components/TextArea/TextArea.js +1 -1
  406. package/es/components/TextField/TextField.js +1 -1
  407. package/es/components/TextField/ui/TextFieldChip/TextFieldChip.styles.js +2 -1
  408. package/es/components/TextField/ui/TextFieldChip/TextFieldChip.styles.js.map +1 -1
  409. package/es/components/Toast/Toast.styles.js +1 -1
  410. package/es/components/Toast/ToastController.js +1 -1
  411. package/es/components/Toast/utils.js +2 -1
  412. package/es/components/Toast/utils.js.map +1 -1
  413. package/es/components/Toolbar/ui/ToolbarDivider/ToolbarDivider.js +1 -1
  414. package/es/components/Tooltip/Tooltip.js +3 -2
  415. package/es/components/Tooltip/Tooltip.js.map +1 -1
  416. package/es/engines/index.js +2 -0
  417. package/es/engines/index.js.map +1 -1
  418. package/es/hooks/useIsomorphicLayoutEffect.js +1 -0
  419. package/es/hooks/useIsomorphicLayoutEffect.js.map +1 -1
  420. package/es/index.js +24 -21
  421. package/es/index.js.map +1 -1
  422. package/es/utils/index.js +3 -0
  423. package/es/utils/index.js.map +1 -1
  424. package/package.json +2 -5
  425. package/styled-components/package.json +1 -2
  426. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +4 -0
  427. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarHeader.js","sources":["../../../../../src/components/Calendar/ui/CalendarHeader/CalendarHeader.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react';\n\nimport { IconDisclosureDownFill, IconDisclosureLeft, IconDisclosureRight } from '../../../_Icon';\nimport { CalendarState } from '../../store/types';\nimport { getCalendarType, MONTH_NAMES, YEAR_RENDER_COUNT } from '../../utils';\nimport type { DateObject } from '../../Calendar.types';\nimport { classes } from '../../Calendar.tokens';\nimport { sizeMap } from '../../store/reducer';\n\nimport type { CalendarHeaderProps } from './CalendarHeader.types';\nimport {\n StyledArrow,\n StyledArrows,\n StyledCalendarHeader,\n StyledDoubleHeaderWrapper,\n StyledHeader,\n StyledHeaderDate,\n StyledHeaderDouble,\n StyledNavigation,\n} from './CalendarHeader.styles';\n\n/**\n * Компонент шапки календаря.\n */\nexport const CalendarHeader: React.FC<CalendarHeaderProps> = ({\n type = 'Days',\n startYear = 0,\n size,\n firstDate,\n secondDate,\n isDouble,\n onPrev,\n onNext,\n onUpdateCalendarState,\n locale,\n}) => {\n const handleCalendarState = useCallback(() => {\n const newSize: [number, number] = isDouble ? sizeMap.Months.double : sizeMap.Months.single;\n\n if (type === CalendarState.Days) {\n onUpdateCalendarState?.(CalendarState.Months, newSize);\n }\n\n if (type === CalendarState.Months || type === CalendarState.Quarters) {\n onUpdateCalendarState?.(CalendarState.Years, newSize);\n }\n }, [type, onUpdateCalendarState]);\n\n const getHeaderContent = useCallback(\n (date?: DateObject, secondPart?: boolean) => {\n if (!date) {\n return '';\n }\n\n if (type === CalendarState.Days) {\n return (\n <>\n <StyledHeaderDate>{MONTH_NAMES[locale][date.monthIndex]}</StyledHeaderDate>\n <StyledHeaderDate>\n {date.year}\n <IconDisclosureDownFill color=\"inherit\" size={size === 'xs' ? 'xs' : 's'} />\n </StyledHeaderDate>\n </>\n );\n }\n\n if (type === CalendarState.Months || type === CalendarState.Quarters) {\n return (\n <StyledHeaderDate>\n {date.year}\n <IconDisclosureDownFill color=\"inherit\" size={size === 'xs' ? 'xs' : 's'} />\n </StyledHeaderDate>\n );\n }\n\n if (type === CalendarState.Years) {\n const yearValue = secondPart ? startYear + 12 : startYear;\n\n return (\n <StyledHeaderDate>\n {yearValue}—{yearValue + YEAR_RENDER_COUNT - 1}\n <IconDisclosureDownFill color=\"inherit\" size={size === 'xs' ? 'xs' : 's'} />\n </StyledHeaderDate>\n );\n }\n\n return '';\n },\n [type, startYear, size, locale],\n );\n\n const currentCalendarType = getCalendarType(type);\n\n const PreviousButton = useMemo(\n () => (\n <StyledArrow aria-label={`Предыдущий ${currentCalendarType}`} onClick={() => onPrev()}>\n <IconDisclosureLeft color=\"inherit\" size={size === 'xs' ? 'xs' : 's'} />\n </StyledArrow>\n ),\n [currentCalendarType, size, onPrev],\n );\n\n const NextButton = useMemo(\n () => (\n <StyledArrow aria-label={`Следующий ${currentCalendarType}`} onClick={() => onNext()}>\n <IconDisclosureRight color=\"inherit\" size={size === 'xs' ? 'xs' : 's'} />\n </StyledArrow>\n ),\n [currentCalendarType, size, onNext],\n );\n\n return (\n <StyledCalendarHeader>\n {isDouble ? (\n <StyledNavigation>\n <StyledDoubleHeaderWrapper>\n {PreviousButton}\n <StyledHeaderDouble onClick={handleCalendarState} aria-live=\"polite\">\n {getHeaderContent(firstDate)}\n </StyledHeaderDouble>\n </StyledDoubleHeaderWrapper>\n <StyledDoubleHeaderWrapper className={classes.doubleHeaderLastDateWrapper}>\n <StyledHeaderDouble onClick={handleCalendarState} aria-live=\"polite\">\n {getHeaderContent(secondDate, true)}\n </StyledHeaderDouble>\n {NextButton}\n </StyledDoubleHeaderWrapper>\n </StyledNavigation>\n ) : (\n <>\n <StyledHeader\n type=\"button\"\n aria-live=\"polite\"\n id=\"id-grid-label\"\n onClick={handleCalendarState}\n tabIndex={0}\n >\n {getHeaderContent(firstDate)}\n </StyledHeader>\n <StyledArrows>\n {PreviousButton}\n {NextButton}\n </StyledArrows>\n </>\n )}\n </StyledCalendarHeader>\n );\n};\n"],"names":["CalendarHeader","_ref","_ref$type","type","_ref$startYear","startYear","size","firstDate","secondDate","isDouble","onPrev","onNext","onUpdateCalendarState","locale","handleCalendarState","useCallback","newSize","sizeMap","Months","single","CalendarState","Days","Quarters","Years","getHeaderContent","date","secondPart","React","createElement","Fragment","StyledHeaderDate","MONTH_NAMES","monthIndex","year","IconDisclosureDownFill","color","yearValue","YEAR_RENDER_COUNT","currentCalendarType","getCalendarType","PreviousButton","useMemo","StyledArrow","concat","onClick","IconDisclosureLeft","NextButton","IconDisclosureRight","StyledCalendarHeader","StyledNavigation","StyledDoubleHeaderWrapper","StyledHeaderDouble","className","classes","doubleHeaderLastDateWrapper","StyledHeader","id","tabIndex","StyledArrows"],"mappings":";;;;;;;;;;;AAqBA;AACA;AACA;IACaA,cAA6C,GAAG,SAAhDA,cAA6CA,CAAAC,IAAA,EAWpD;AAAA,EAAA,IAAAC,SAAA,GAAAD,IAAA,CAVFE,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,SAAA;IAAAE,cAAA,GAAAH,IAAA,CACbI,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,cAAA;IACbE,IAAI,GAAAL,IAAA,CAAJK,IAAI;IACJC,SAAS,GAAAN,IAAA,CAATM,SAAS;IACTC,UAAU,GAAAP,IAAA,CAAVO,UAAU;IACVC,QAAQ,GAAAR,IAAA,CAARQ,QAAQ;IACRC,MAAM,GAAAT,IAAA,CAANS,MAAM;IACNC,MAAM,GAAAV,IAAA,CAANU,MAAM;IACNC,qBAAqB,GAAAX,IAAA,CAArBW,qBAAqB;IACrBC,MAAM,GAAAZ,IAAA,CAANY,MAAM,CAAA;AAEN,EAAA,IAAMC,mBAAmB,GAAGC,WAAW,CAAC,YAAM;AAC1C,IAAA,IAAMC,OAAyB,GAAGP,QAAQ,GAAGQ,OAAO,CAACC,MAAM,CAAA,QAAA,CAAO,GAAGD,OAAO,CAACC,MAAM,CAACC,MAAM,CAAA;AAE1F,IAAA,IAAIhB,IAAI,KAAKiB,aAAa,CAACC,IAAI,EAAE;MAC7BT,qBAAqB,KAAA,IAAA,IAArBA,qBAAqB,KAAA,KAAA,CAAA,IAArBA,qBAAqB,CAAGQ,aAAa,CAACF,MAAM,EAAEF,OAAO,CAAC,CAAA;AAC1D,KAAA;IAEA,IAAIb,IAAI,KAAKiB,aAAa,CAACF,MAAM,IAAIf,IAAI,KAAKiB,aAAa,CAACE,QAAQ,EAAE;MAClEV,qBAAqB,KAAA,IAAA,IAArBA,qBAAqB,KAAA,KAAA,CAAA,IAArBA,qBAAqB,CAAGQ,aAAa,CAACG,KAAK,EAAEP,OAAO,CAAC,CAAA;AACzD,KAAA;AACJ,GAAC,EAAE,CAACb,IAAI,EAAES,qBAAqB,CAAC,CAAC,CAAA;EAEjC,IAAMY,gBAAgB,GAAGT,WAAW,CAChC,UAACU,IAAiB,EAAEC,UAAoB,EAAK;IACzC,IAAI,CAACD,IAAI,EAAE;AACP,MAAA,OAAO,EAAE,CAAA;AACb,KAAA;AAEA,IAAA,IAAItB,IAAI,KAAKiB,aAAa,CAACC,IAAI,EAAE;AAC7B,MAAA,oBACIM,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,EAAA,IAAA,eACIF,KAAA,CAAAC,aAAA,CAACE,gBAAgB,QAAEC,WAAW,CAAClB,MAAM,CAAC,CAACY,IAAI,CAACO,UAAU,CAAoB,CAAC,eAC3EL,KAAA,CAAAC,aAAA,CAACE,gBAAgB,EACZL,IAAAA,EAAAA,IAAI,CAACQ,IAAI,eACVN,KAAA,CAAAC,aAAA,CAACM,sBAAsB,EAAA;AAACC,QAAAA,KAAK,EAAC,SAAS;AAAC7B,QAAAA,IAAI,EAAEA,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,GAAA;OAAM,CAC7D,CACpB,CAAC,CAAA;AAEX,KAAA;IAEA,IAAIH,IAAI,KAAKiB,aAAa,CAACF,MAAM,IAAIf,IAAI,KAAKiB,aAAa,CAACE,QAAQ,EAAE;AAClE,MAAA,oBACIK,KAAA,CAAAC,aAAA,CAACE,gBAAgB,EACZL,IAAAA,EAAAA,IAAI,CAACQ,IAAI,eACVN,KAAA,CAAAC,aAAA,CAACM,sBAAsB,EAAA;AAACC,QAAAA,KAAK,EAAC,SAAS;AAAC7B,QAAAA,IAAI,EAAEA,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,GAAA;AAAI,OAAE,CAC7D,CAAC,CAAA;AAE3B,KAAA;AAEA,IAAA,IAAIH,IAAI,KAAKiB,aAAa,CAACG,KAAK,EAAE;MAC9B,IAAMa,SAAS,GAAGV,UAAU,GAAGrB,SAAS,GAAG,EAAE,GAAGA,SAAS,CAAA;MAEzD,oBACIsB,KAAA,CAAAC,aAAA,CAACE,gBAAgB,EACZM,IAAAA,EAAAA,SAAS,EAAC,QAAC,EAACA,SAAS,GAAGC,iBAAiB,GAAG,CAAC,eAC9CV,KAAA,CAAAC,aAAA,CAACM,sBAAsB,EAAA;AAACC,QAAAA,KAAK,EAAC,SAAS;AAAC7B,QAAAA,IAAI,EAAEA,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,GAAA;AAAI,OAAE,CAC7D,CAAC,CAAA;AAE3B,KAAA;AAEA,IAAA,OAAO,EAAE,CAAA;GACZ,EACD,CAACH,IAAI,EAAEE,SAAS,EAAEC,IAAI,EAAEO,MAAM,CAClC,CAAC,CAAA;AAED,EAAA,IAAMyB,mBAAmB,GAAGC,eAAe,CAACpC,IAAI,CAAC,CAAA;EAEjD,IAAMqC,cAAc,GAAGC,OAAO,CAC1B,YAAA;AAAA,IAAA,oBACId,KAAA,CAAAC,aAAA,CAACc,WAAW,EAAA;MAAC,YAAAC,EAAAA,+DAAAA,CAAAA,MAAA,CAA0BL,mBAAmB,CAAG;MAACM,OAAO,EAAE,SAAAA,OAAA,GAAA;QAAA,OAAMlC,MAAM,EAAE,CAAA;AAAA,OAAA;AAAC,KAAA,eAClFiB,KAAA,CAAAC,aAAA,CAACiB,kBAAkB,EAAA;AAACV,MAAAA,KAAK,EAAC,SAAS;AAAC7B,MAAAA,IAAI,EAAEA,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,GAAA;AAAI,KAAE,CAC9D,CAAC,CAAA;GACjB,EACD,CAACgC,mBAAmB,EAAEhC,IAAI,EAAEI,MAAM,CACtC,CAAC,CAAA;EAED,IAAMoC,UAAU,GAAGL,OAAO,CACtB,YAAA;AAAA,IAAA,oBACId,KAAA,CAAAC,aAAA,CAACc,WAAW,EAAA;MAAC,YAAAC,EAAAA,yDAAAA,CAAAA,MAAA,CAAyBL,mBAAmB,CAAG;MAACM,OAAO,EAAE,SAAAA,OAAA,GAAA;QAAA,OAAMjC,MAAM,EAAE,CAAA;AAAA,OAAA;AAAC,KAAA,eACjFgB,KAAA,CAAAC,aAAA,CAACmB,mBAAmB,EAAA;AAACZ,MAAAA,KAAK,EAAC,SAAS;AAAC7B,MAAAA,IAAI,EAAEA,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,GAAA;AAAI,KAAE,CAC/D,CAAC,CAAA;GACjB,EACD,CAACgC,mBAAmB,EAAEhC,IAAI,EAAEK,MAAM,CACtC,CAAC,CAAA;EAED,oBACIgB,KAAA,CAAAC,aAAA,CAACoB,oBAAoB,EAChBvC,IAAAA,EAAAA,QAAQ,gBACLkB,KAAA,CAAAC,aAAA,CAACqB,gBAAgB,qBACbtB,KAAA,CAAAC,aAAA,CAACsB,yBAAyB,EAAA,IAAA,EACrBV,cAAc,eACfb,KAAA,CAAAC,aAAA,CAACuB,kBAAkB,EAAA;AAACP,IAAAA,OAAO,EAAE9B,mBAAoB;IAAC,WAAU,EAAA,QAAA;GACvDU,EAAAA,gBAAgB,CAACjB,SAAS,CACX,CACG,CAAC,eAC5BoB,KAAA,CAAAC,aAAA,CAACsB,yBAAyB,EAAA;IAACE,SAAS,EAAEC,OAAO,CAACC,2BAAAA;AAA4B,GAAA,eACtE3B,KAAA,CAAAC,aAAA,CAACuB,kBAAkB,EAAA;AAACP,IAAAA,OAAO,EAAE9B,mBAAoB;IAAC,WAAU,EAAA,QAAA;GACvDU,EAAAA,gBAAgB,CAAChB,UAAU,EAAE,IAAI,CAClB,CAAC,EACpBsC,UACsB,CACb,CAAC,gBAEnBnB,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,qBACIF,KAAA,CAAAC,aAAA,CAAC2B,YAAY,EAAA;AACTpD,IAAAA,IAAI,EAAC,QAAQ;AACb,IAAA,WAAA,EAAU,QAAQ;AAClBqD,IAAAA,EAAE,EAAC,eAAe;AAClBZ,IAAAA,OAAO,EAAE9B,mBAAoB;AAC7B2C,IAAAA,QAAQ,EAAE,CAAA;AAAE,GAAA,EAEXjC,gBAAgB,CAACjB,SAAS,CACjB,CAAC,eACfoB,KAAA,CAAAC,aAAA,CAAC8B,YAAY,EACRlB,IAAAA,EAAAA,cAAc,EACdM,UACS,CAChB,CAEY,CAAC,CAAA;AAE/B;;;;"}
1
+ {"version":3,"file":"CalendarHeader.js","sources":["../../../../../src/components/Calendar/ui/CalendarHeader/CalendarHeader.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react';\n\nimport { IconDisclosureDownFill, IconDisclosureLeft, IconDisclosureRight } from '../../../_Icon';\nimport { CalendarState } from '../../store/types';\nimport { getCalendarType, MONTH_NAMES, YEAR_RENDER_COUNT } from '../../utils';\nimport type { DateObject } from '../../Calendar.types';\nimport { classes } from '../../Calendar.tokens';\nimport { sizeMap } from '../../store/reducer';\n\nimport type { CalendarHeaderProps } from './CalendarHeader.types';\nimport {\n StyledArrow,\n StyledArrows,\n StyledCalendarHeader,\n StyledDoubleHeaderWrapper,\n StyledHeader,\n StyledHeaderDate,\n StyledHeaderDouble,\n StyledNavigation,\n} from './CalendarHeader.styles';\n\n/**\n * Компонент шапки календаря.\n */\nexport const CalendarHeader: React.FC<CalendarHeaderProps> = ({\n type = 'Days',\n startYear = 0,\n size,\n firstDate,\n secondDate,\n isDouble,\n onPrev,\n onNext,\n onUpdateCalendarState,\n locale,\n}) => {\n const handleCalendarState = useCallback(() => {\n const newSize: [number, number] = isDouble ? sizeMap.Months.double : sizeMap.Months.single;\n\n if (type === CalendarState.Days) {\n onUpdateCalendarState?.(CalendarState.Months, newSize);\n }\n\n if (type === CalendarState.Months || type === CalendarState.Quarters) {\n onUpdateCalendarState?.(CalendarState.Years, newSize);\n }\n }, [type, onUpdateCalendarState]);\n\n const getHeaderContent = useCallback(\n (date?: DateObject, secondPart?: boolean) => {\n if (!date) {\n return '';\n }\n\n if (type === CalendarState.Days) {\n return (\n <>\n <StyledHeaderDate>{MONTH_NAMES[locale][date.monthIndex]}</StyledHeaderDate>\n <StyledHeaderDate>\n {date.year}\n <IconDisclosureDownFill color=\"inherit\" size={size === 'xs' ? 'xs' : 's'} />\n </StyledHeaderDate>\n </>\n );\n }\n\n if (type === CalendarState.Months || type === CalendarState.Quarters) {\n return (\n <StyledHeaderDate>\n {date.year}\n <IconDisclosureDownFill color=\"inherit\" size={size === 'xs' ? 'xs' : 's'} />\n </StyledHeaderDate>\n );\n }\n\n if (type === CalendarState.Years) {\n const yearValue = secondPart ? startYear + 12 : startYear;\n\n return (\n <StyledHeaderDate>\n {yearValue}—{yearValue + YEAR_RENDER_COUNT - 1}\n <IconDisclosureDownFill color=\"inherit\" size={size === 'xs' ? 'xs' : 's'} />\n </StyledHeaderDate>\n );\n }\n\n return '';\n },\n [type, startYear, size, locale],\n );\n\n const currentCalendarType = getCalendarType(type);\n\n const PreviousButton = useMemo(\n () => (\n <StyledArrow aria-label={`Предыдущий ${currentCalendarType}`} onClick={() => onPrev()}>\n <IconDisclosureLeft color=\"inherit\" size={size === 'xs' ? 'xs' : 's'} />\n </StyledArrow>\n ),\n [currentCalendarType, size, onPrev],\n );\n\n const NextButton = useMemo(\n () => (\n <StyledArrow aria-label={`Следующий ${currentCalendarType}`} onClick={() => onNext()}>\n <IconDisclosureRight color=\"inherit\" size={size === 'xs' ? 'xs' : 's'} />\n </StyledArrow>\n ),\n [currentCalendarType, size, onNext],\n );\n\n return (\n <StyledCalendarHeader>\n {isDouble ? (\n <StyledNavigation>\n <StyledDoubleHeaderWrapper>\n {PreviousButton}\n <StyledHeaderDouble onClick={handleCalendarState} aria-live=\"polite\">\n {getHeaderContent(firstDate)}\n </StyledHeaderDouble>\n </StyledDoubleHeaderWrapper>\n <StyledDoubleHeaderWrapper className={classes.doubleHeaderLastDateWrapper}>\n <StyledHeaderDouble onClick={handleCalendarState} aria-live=\"polite\">\n {getHeaderContent(secondDate, true)}\n </StyledHeaderDouble>\n {NextButton}\n </StyledDoubleHeaderWrapper>\n </StyledNavigation>\n ) : (\n <>\n <StyledHeader\n type=\"button\"\n aria-live=\"polite\"\n id=\"id-grid-label\"\n onClick={handleCalendarState}\n tabIndex={0}\n >\n {getHeaderContent(firstDate)}\n </StyledHeader>\n <StyledArrows>\n {PreviousButton}\n {NextButton}\n </StyledArrows>\n </>\n )}\n </StyledCalendarHeader>\n );\n};\n"],"names":["CalendarHeader","_ref","_ref$type","type","_ref$startYear","startYear","size","firstDate","secondDate","isDouble","onPrev","onNext","onUpdateCalendarState","locale","handleCalendarState","useCallback","newSize","sizeMap","Months","single","CalendarState","Days","Quarters","Years","getHeaderContent","date","secondPart","React","createElement","Fragment","StyledHeaderDate","MONTH_NAMES","monthIndex","year","IconDisclosureDownFill","color","yearValue","YEAR_RENDER_COUNT","currentCalendarType","getCalendarType","PreviousButton","useMemo","StyledArrow","concat","onClick","IconDisclosureLeft","NextButton","IconDisclosureRight","StyledCalendarHeader","StyledNavigation","StyledDoubleHeaderWrapper","StyledHeaderDouble","className","classes","doubleHeaderLastDateWrapper","StyledHeader","id","tabIndex","StyledArrows"],"mappings":";;;;;;;;;;;;AAqBA;AACA;AACA;IACaA,cAA6C,GAAG,SAAhDA,cAA6CA,CAAAC,IAAA,EAWpD;AAAA,EAAA,IAAAC,SAAA,GAAAD,IAAA,CAVFE,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,SAAA;IAAAE,cAAA,GAAAH,IAAA,CACbI,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,cAAA;IACbE,IAAI,GAAAL,IAAA,CAAJK,IAAI;IACJC,SAAS,GAAAN,IAAA,CAATM,SAAS;IACTC,UAAU,GAAAP,IAAA,CAAVO,UAAU;IACVC,QAAQ,GAAAR,IAAA,CAARQ,QAAQ;IACRC,MAAM,GAAAT,IAAA,CAANS,MAAM;IACNC,MAAM,GAAAV,IAAA,CAANU,MAAM;IACNC,qBAAqB,GAAAX,IAAA,CAArBW,qBAAqB;IACrBC,MAAM,GAAAZ,IAAA,CAANY,MAAM,CAAA;AAEN,EAAA,IAAMC,mBAAmB,GAAGC,WAAW,CAAC,YAAM;AAC1C,IAAA,IAAMC,OAAyB,GAAGP,QAAQ,GAAGQ,OAAO,CAACC,MAAM,CAAA,QAAA,CAAO,GAAGD,OAAO,CAACC,MAAM,CAACC,MAAM,CAAA;AAE1F,IAAA,IAAIhB,IAAI,KAAKiB,aAAa,CAACC,IAAI,EAAE;MAC7BT,qBAAqB,KAAA,IAAA,IAArBA,qBAAqB,KAAA,KAAA,CAAA,IAArBA,qBAAqB,CAAGQ,aAAa,CAACF,MAAM,EAAEF,OAAO,CAAC,CAAA;AAC1D,KAAA;IAEA,IAAIb,IAAI,KAAKiB,aAAa,CAACF,MAAM,IAAIf,IAAI,KAAKiB,aAAa,CAACE,QAAQ,EAAE;MAClEV,qBAAqB,KAAA,IAAA,IAArBA,qBAAqB,KAAA,KAAA,CAAA,IAArBA,qBAAqB,CAAGQ,aAAa,CAACG,KAAK,EAAEP,OAAO,CAAC,CAAA;AACzD,KAAA;AACJ,GAAC,EAAE,CAACb,IAAI,EAAES,qBAAqB,CAAC,CAAC,CAAA;EAEjC,IAAMY,gBAAgB,GAAGT,WAAW,CAChC,UAACU,IAAiB,EAAEC,UAAoB,EAAK;IACzC,IAAI,CAACD,IAAI,EAAE;AACP,MAAA,OAAO,EAAE,CAAA;AACb,KAAA;AAEA,IAAA,IAAItB,IAAI,KAAKiB,aAAa,CAACC,IAAI,EAAE;AAC7B,MAAA,oBACIM,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,EAAA,IAAA,eACIF,KAAA,CAAAC,aAAA,CAACE,gBAAgB,QAAEC,WAAW,CAAClB,MAAM,CAAC,CAACY,IAAI,CAACO,UAAU,CAAoB,CAAC,eAC3EL,KAAA,CAAAC,aAAA,CAACE,gBAAgB,EACZL,IAAAA,EAAAA,IAAI,CAACQ,IAAI,eACVN,KAAA,CAAAC,aAAA,CAACM,sBAAsB,EAAA;AAACC,QAAAA,KAAK,EAAC,SAAS;AAAC7B,QAAAA,IAAI,EAAEA,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,GAAA;OAAM,CAC7D,CACpB,CAAC,CAAA;AAEX,KAAA;IAEA,IAAIH,IAAI,KAAKiB,aAAa,CAACF,MAAM,IAAIf,IAAI,KAAKiB,aAAa,CAACE,QAAQ,EAAE;AAClE,MAAA,oBACIK,KAAA,CAAAC,aAAA,CAACE,gBAAgB,EACZL,IAAAA,EAAAA,IAAI,CAACQ,IAAI,eACVN,KAAA,CAAAC,aAAA,CAACM,sBAAsB,EAAA;AAACC,QAAAA,KAAK,EAAC,SAAS;AAAC7B,QAAAA,IAAI,EAAEA,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,GAAA;AAAI,OAAE,CAC7D,CAAC,CAAA;AAE3B,KAAA;AAEA,IAAA,IAAIH,IAAI,KAAKiB,aAAa,CAACG,KAAK,EAAE;MAC9B,IAAMa,SAAS,GAAGV,UAAU,GAAGrB,SAAS,GAAG,EAAE,GAAGA,SAAS,CAAA;MAEzD,oBACIsB,KAAA,CAAAC,aAAA,CAACE,gBAAgB,EACZM,IAAAA,EAAAA,SAAS,EAAC,QAAC,EAACA,SAAS,GAAGC,iBAAiB,GAAG,CAAC,eAC9CV,KAAA,CAAAC,aAAA,CAACM,sBAAsB,EAAA;AAACC,QAAAA,KAAK,EAAC,SAAS;AAAC7B,QAAAA,IAAI,EAAEA,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,GAAA;AAAI,OAAE,CAC7D,CAAC,CAAA;AAE3B,KAAA;AAEA,IAAA,OAAO,EAAE,CAAA;GACZ,EACD,CAACH,IAAI,EAAEE,SAAS,EAAEC,IAAI,EAAEO,MAAM,CAClC,CAAC,CAAA;AAED,EAAA,IAAMyB,mBAAmB,GAAGC,eAAe,CAACpC,IAAI,CAAC,CAAA;EAEjD,IAAMqC,cAAc,GAAGC,OAAO,CAC1B,YAAA;AAAA,IAAA,oBACId,KAAA,CAAAC,aAAA,CAACc,WAAW,EAAA;MAAC,YAAAC,EAAAA,+DAAAA,CAAAA,MAAA,CAA0BL,mBAAmB,CAAG;MAACM,OAAO,EAAE,SAAAA,OAAA,GAAA;QAAA,OAAMlC,MAAM,EAAE,CAAA;AAAA,OAAA;AAAC,KAAA,eAClFiB,KAAA,CAAAC,aAAA,CAACiB,kBAAkB,EAAA;AAACV,MAAAA,KAAK,EAAC,SAAS;AAAC7B,MAAAA,IAAI,EAAEA,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,GAAA;AAAI,KAAE,CAC9D,CAAC,CAAA;GACjB,EACD,CAACgC,mBAAmB,EAAEhC,IAAI,EAAEI,MAAM,CACtC,CAAC,CAAA;EAED,IAAMoC,UAAU,GAAGL,OAAO,CACtB,YAAA;AAAA,IAAA,oBACId,KAAA,CAAAC,aAAA,CAACc,WAAW,EAAA;MAAC,YAAAC,EAAAA,yDAAAA,CAAAA,MAAA,CAAyBL,mBAAmB,CAAG;MAACM,OAAO,EAAE,SAAAA,OAAA,GAAA;QAAA,OAAMjC,MAAM,EAAE,CAAA;AAAA,OAAA;AAAC,KAAA,eACjFgB,KAAA,CAAAC,aAAA,CAACmB,mBAAmB,EAAA;AAACZ,MAAAA,KAAK,EAAC,SAAS;AAAC7B,MAAAA,IAAI,EAAEA,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,GAAA;AAAI,KAAE,CAC/D,CAAC,CAAA;GACjB,EACD,CAACgC,mBAAmB,EAAEhC,IAAI,EAAEK,MAAM,CACtC,CAAC,CAAA;EAED,oBACIgB,KAAA,CAAAC,aAAA,CAACoB,oBAAoB,EAChBvC,IAAAA,EAAAA,QAAQ,gBACLkB,KAAA,CAAAC,aAAA,CAACqB,gBAAgB,qBACbtB,KAAA,CAAAC,aAAA,CAACsB,yBAAyB,EAAA,IAAA,EACrBV,cAAc,eACfb,KAAA,CAAAC,aAAA,CAACuB,kBAAkB,EAAA;AAACP,IAAAA,OAAO,EAAE9B,mBAAoB;IAAC,WAAU,EAAA,QAAA;GACvDU,EAAAA,gBAAgB,CAACjB,SAAS,CACX,CACG,CAAC,eAC5BoB,KAAA,CAAAC,aAAA,CAACsB,yBAAyB,EAAA;IAACE,SAAS,EAAEC,OAAO,CAACC,2BAAAA;AAA4B,GAAA,eACtE3B,KAAA,CAAAC,aAAA,CAACuB,kBAAkB,EAAA;AAACP,IAAAA,OAAO,EAAE9B,mBAAoB;IAAC,WAAU,EAAA,QAAA;GACvDU,EAAAA,gBAAgB,CAAChB,UAAU,EAAE,IAAI,CAClB,CAAC,EACpBsC,UACsB,CACb,CAAC,gBAEnBnB,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,qBACIF,KAAA,CAAAC,aAAA,CAAC2B,YAAY,EAAA;AACTpD,IAAAA,IAAI,EAAC,QAAQ;AACb,IAAA,WAAA,EAAU,QAAQ;AAClBqD,IAAAA,EAAE,EAAC,eAAe;AAClBZ,IAAAA,OAAO,EAAE9B,mBAAoB;AAC7B2C,IAAAA,QAAQ,EAAE,CAAA;AAAE,GAAA,EAEXjC,gBAAgB,CAACjB,SAAS,CACjB,CAAC,eACfoB,KAAA,CAAAC,aAAA,CAAC8B,YAAY,EACRlB,IAAAA,EAAAA,cAAc,EACdM,UACS,CAChB,CAEY,CAAC,CAAA;AAE/B;;;;"}
@@ -1,5 +1,6 @@
1
1
  import './CalendarHeader.styles_1jfelqf.css';
2
2
  import { styled } from '@linaria/react';
3
+ import '@linaria/core';
3
4
  import { component, mergeConfig } from '../../../../engines/common.js';
4
5
  import { iconButtonConfig } from '../../../IconButton/IconButton.js';
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarHeader.styles.js","sources":["../../../../../src/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\n\nimport { classes, tokens } from '../../Calendar.tokens';\nimport { component, mergeConfig } from '../../../../engines';\nimport { iconButtonConfig, iconButtonTokens } from '../../../IconButton';\nimport { flexCenter } from '../../mixins';\nimport { addFocus } from '../../../../mixins';\n\nconst mergedIconButtonConfig = mergeConfig(iconButtonConfig);\nconst IconButton = component(mergedIconButtonConfig);\n\nexport const StyledCalendarHeader = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: var(${tokens.calendarHeaderWrapperPadding});\n`;\n\nexport const StyledHeader = styled.button`\n border: none;\n background-color: transparent;\n padding: 0;\n outline: none;\n font-family: var(${tokens.calendarHeaderFontFamily});\n font-size: var(${tokens.calendarHeaderFontSize});\n font-style: var(${tokens.calendarHeaderFontStyle});\n font-weight: var(${tokens.calendarHeaderFontWeightBold});\n letter-spacing: var(${tokens.calendarHeaderFontLetterSpacing});\n line-height: var(${tokens.calendarHeaderFontLineHeight});\n padding: var(${tokens.calendarHeaderPadding});\n\n color: var(${tokens.calendarContentPrimaryColor});\n\n cursor: pointer;\n display: flex;\n gap: var(${tokens.calendarHeaderDateGap});\n justify-content: space-between;\n align-items: center;\n\n &:hover,\n &:active {\n color: var(${tokens.calendarContentSecondaryColor});\n }\n\n ${addFocus({\n outlineSize: '0.063rem',\n outlineOffset: '-0.125rem',\n outlineColor: `var(${tokens.calendarOutlineFocusColor})`,\n outlineRadius: '0.563rem',\n })};\n`;\n\nexport const StyledHeaderDate = styled.span`\n ${flexCenter};\n pointer-events: none;\n`;\n\nexport const StyledArrows = styled.div`\n display: flex;\n gap: var(${tokens.calendarHeaderArrowGap});\n padding: var(${tokens.calendarHeaderArrowPadding});\n`;\n\n// NOTE: переопределение токенов IconButton\nexport const StyledArrow = styled(IconButton)`\n ${iconButtonTokens.iconButtonColor}: var(${tokens.iconButtonColor});\n ${iconButtonTokens.iconButtonBackgroundColor}: var(${tokens.iconButtonBackgroundColor});\n ${iconButtonTokens.iconButtonColorHover}: var(${tokens.iconButtonColorHover});\n ${iconButtonTokens.iconButtonBackgroundColorHover}: var(${tokens.iconButtonBackgroundColorHover});\n ${iconButtonTokens.iconButtonColorActive}: var(${tokens.iconButtonColorActive});\n ${iconButtonTokens.iconButtonBackgroundColorActive}: var(${tokens.iconButtonBackgroundColorActive});\n ${iconButtonTokens.iconButtonHeight}: var(${tokens.iconButtonHeight});\n ${iconButtonTokens.iconButtonWidth}: var(${tokens.iconButtonWidth});\n ${iconButtonTokens.iconButtonPadding}: var(${tokens.iconButtonPadding});\n ${iconButtonTokens.iconButtonRadius}: var(${tokens.iconButtonRadius});\n ${iconButtonTokens.iconButtonFocusColor}: var(${tokens.iconButtonFocusColor});\n`;\n\nexport const StyledNavigation = styled.div`\n width: 100%;\n ${flexCenter};\n`;\n\nexport const StyledDoubleHeaderWrapper = styled.div`\n width: 100%;\n display: grid;\n align-items: center;\n grid-template-columns: var(${tokens.iconButtonWidth}) 1fr var(${tokens.iconButtonWidth});\n grid-template-areas: 'a b c';\n\n ${StyledArrow} {\n grid-area: a;\n }\n\n &.${classes.doubleHeaderLastDateWrapper} ${StyledArrow} {\n grid-area: c;\n }\n`;\n\nexport const StyledHeaderDouble = styled.button`\n border: none;\n background-color: transparent;\n padding: 0;\n outline: none;\n\n font-family: var(${tokens.calendarHeaderFontFamily});\n font-size: var(${tokens.calendarHeaderFontSize});\n font-style: var(${tokens.calendarHeaderFontStyle});\n font-weight: var(${tokens.calendarHeaderFontWeightBold});\n letter-spacing: var(${tokens.calendarHeaderFontLetterSpacing});\n line-height: var(${tokens.calendarHeaderFontLineHeight});\n\n color: var(${tokens.calendarContentPrimaryColor});\n\n grid-area: b;\n justify-self: center;\n cursor: pointer;\n display: flex;\n gap: var(${tokens.calendarHeaderDateGap});\n justify-content: space-between;\n align-items: center;\n margin: 0;\n height: fit-content;\n\n ${String(flexCenter)};\n\n ${addFocus({\n outlineSize: '0.063rem',\n outlineOffset: '-0.125rem',\n outlineColor: `var(${tokens.calendarOutlineFocusColor})`,\n outlineRadius: '0.563rem',\n })};\n`;\n"],"names":["mergedIconButtonConfig","mergeConfig","iconButtonConfig","IconButton","component","StyledCalendarHeader","styled","name","class","propsAsIs","StyledHeader","StyledHeaderDate","StyledArrows","_exp16","StyledArrow","StyledNavigation","StyledDoubleHeaderWrapper","StyledHeaderDouble"],"mappings":";;;;AAQA,IAAMA,sBAAsB,gBAAGC,WAAW,CAACC,gBAAgB,CAAC,CAAA;AAC5D,IAAMC,UAAU,gBAAGC,SAAS,CAACJ,sBAAsB,CAAC,CAAA;AAE7C,IAAMK,oBAAoB,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,sBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAKzC,EAAA;AAEM,IAAMC,YAAY,gBAAGJ,MAAM,CAAA,QAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,cAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAgCjC,EAAA;AAEM,IAAME,gBAAgB,gBAAGL,MAAM,CAAA,MAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,kBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAGrC,EAAA;AAEM,IAAMG,YAAY,gBAAGN,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,cAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAIjC,EAAA;;AAED;AAAA,IAAAI,MAAA,GA9DkBA,SA8DlBA,MAAAA,GAAA;AAAA,EAAA,OACkCV,UAAU,CAAA;AAAA,CAAA,CAAA;AAArC,IAAMW,WAAW,gBAAGR,MAAM,CAAAO,MAAA,EAAA,CAAA,CAAA;AAAAN,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAYhC,EAAA;AAEM,IAAMM,gBAAgB,gBAAGT,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,kBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAGrC,EAAA;AAEM,IAAMO,yBAAyB,gBAAGV,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,2BAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAc9C,EAAA;AAEM,IAAMQ,kBAAkB,gBAAGX,MAAM,CAAA,QAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,oBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAiCvC;;;;"}
1
+ {"version":3,"file":"CalendarHeader.styles.js","sources":["../../../../../src/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\n\nimport { classes, tokens } from '../../Calendar.tokens';\nimport { component, mergeConfig } from '../../../../engines';\nimport { iconButtonConfig, iconButtonTokens } from '../../../IconButton';\nimport { flexCenter } from '../../mixins';\nimport { addFocus } from '../../../../mixins';\n\nconst mergedIconButtonConfig = mergeConfig(iconButtonConfig);\nconst IconButton = component(mergedIconButtonConfig);\n\nexport const StyledCalendarHeader = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: var(${tokens.calendarHeaderWrapperPadding});\n`;\n\nexport const StyledHeader = styled.button`\n border: none;\n background-color: transparent;\n padding: 0;\n outline: none;\n font-family: var(${tokens.calendarHeaderFontFamily});\n font-size: var(${tokens.calendarHeaderFontSize});\n font-style: var(${tokens.calendarHeaderFontStyle});\n font-weight: var(${tokens.calendarHeaderFontWeightBold});\n letter-spacing: var(${tokens.calendarHeaderFontLetterSpacing});\n line-height: var(${tokens.calendarHeaderFontLineHeight});\n padding: var(${tokens.calendarHeaderPadding});\n\n color: var(${tokens.calendarContentPrimaryColor});\n\n cursor: pointer;\n display: flex;\n gap: var(${tokens.calendarHeaderDateGap});\n justify-content: space-between;\n align-items: center;\n\n &:hover,\n &:active {\n color: var(${tokens.calendarContentSecondaryColor});\n }\n\n ${addFocus({\n outlineSize: '0.063rem',\n outlineOffset: '-0.125rem',\n outlineColor: `var(${tokens.calendarOutlineFocusColor})`,\n outlineRadius: '0.563rem',\n })};\n`;\n\nexport const StyledHeaderDate = styled.span`\n ${flexCenter};\n pointer-events: none;\n`;\n\nexport const StyledArrows = styled.div`\n display: flex;\n gap: var(${tokens.calendarHeaderArrowGap});\n padding: var(${tokens.calendarHeaderArrowPadding});\n`;\n\n// NOTE: переопределение токенов IconButton\nexport const StyledArrow = styled(IconButton)`\n ${iconButtonTokens.iconButtonColor}: var(${tokens.iconButtonColor});\n ${iconButtonTokens.iconButtonBackgroundColor}: var(${tokens.iconButtonBackgroundColor});\n ${iconButtonTokens.iconButtonColorHover}: var(${tokens.iconButtonColorHover});\n ${iconButtonTokens.iconButtonBackgroundColorHover}: var(${tokens.iconButtonBackgroundColorHover});\n ${iconButtonTokens.iconButtonColorActive}: var(${tokens.iconButtonColorActive});\n ${iconButtonTokens.iconButtonBackgroundColorActive}: var(${tokens.iconButtonBackgroundColorActive});\n ${iconButtonTokens.iconButtonHeight}: var(${tokens.iconButtonHeight});\n ${iconButtonTokens.iconButtonWidth}: var(${tokens.iconButtonWidth});\n ${iconButtonTokens.iconButtonPadding}: var(${tokens.iconButtonPadding});\n ${iconButtonTokens.iconButtonRadius}: var(${tokens.iconButtonRadius});\n ${iconButtonTokens.iconButtonFocusColor}: var(${tokens.iconButtonFocusColor});\n`;\n\nexport const StyledNavigation = styled.div`\n width: 100%;\n ${flexCenter};\n`;\n\nexport const StyledDoubleHeaderWrapper = styled.div`\n width: 100%;\n display: grid;\n align-items: center;\n grid-template-columns: var(${tokens.iconButtonWidth}) 1fr var(${tokens.iconButtonWidth});\n grid-template-areas: 'a b c';\n\n ${StyledArrow} {\n grid-area: a;\n }\n\n &.${classes.doubleHeaderLastDateWrapper} ${StyledArrow} {\n grid-area: c;\n }\n`;\n\nexport const StyledHeaderDouble = styled.button`\n border: none;\n background-color: transparent;\n padding: 0;\n outline: none;\n\n font-family: var(${tokens.calendarHeaderFontFamily});\n font-size: var(${tokens.calendarHeaderFontSize});\n font-style: var(${tokens.calendarHeaderFontStyle});\n font-weight: var(${tokens.calendarHeaderFontWeightBold});\n letter-spacing: var(${tokens.calendarHeaderFontLetterSpacing});\n line-height: var(${tokens.calendarHeaderFontLineHeight});\n\n color: var(${tokens.calendarContentPrimaryColor});\n\n grid-area: b;\n justify-self: center;\n cursor: pointer;\n display: flex;\n gap: var(${tokens.calendarHeaderDateGap});\n justify-content: space-between;\n align-items: center;\n margin: 0;\n height: fit-content;\n\n ${String(flexCenter)};\n\n ${addFocus({\n outlineSize: '0.063rem',\n outlineOffset: '-0.125rem',\n outlineColor: `var(${tokens.calendarOutlineFocusColor})`,\n outlineRadius: '0.563rem',\n })};\n`;\n"],"names":["mergedIconButtonConfig","mergeConfig","iconButtonConfig","IconButton","component","StyledCalendarHeader","styled","name","class","propsAsIs","StyledHeader","StyledHeaderDate","StyledArrows","_exp16","StyledArrow","StyledNavigation","StyledDoubleHeaderWrapper","StyledHeaderDouble"],"mappings":";;;;;AAQA,IAAMA,sBAAsB,gBAAGC,WAAW,CAACC,gBAAgB,CAAC,CAAA;AAC5D,IAAMC,UAAU,gBAAGC,SAAS,CAACJ,sBAAsB,CAAC,CAAA;AAE7C,IAAMK,oBAAoB,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,sBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAKzC,EAAA;AAEM,IAAMC,YAAY,gBAAGJ,MAAM,CAAA,QAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,cAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAgCjC,EAAA;AAEM,IAAME,gBAAgB,gBAAGL,MAAM,CAAA,MAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,kBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAGrC,EAAA;AAEM,IAAMG,YAAY,gBAAGN,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,cAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAIjC,EAAA;;AAED;AAAA,IAAAI,MAAA,GA9DkBA,SA8DlBA,MAAAA,GAAA;AAAA,EAAA,OACkCV,UAAU,CAAA;AAAA,CAAA,CAAA;AAArC,IAAMW,WAAW,gBAAGR,MAAM,CAAAO,MAAA,EAAA,CAAA,CAAA;AAAAN,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAYhC,EAAA;AAEM,IAAMM,gBAAgB,gBAAGT,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,kBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAGrC,EAAA;AAEM,IAAMO,yBAAyB,gBAAGV,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,2BAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAc9C,EAAA;AAEM,IAAMQ,kBAAkB,gBAAGX,MAAM,CAAA,QAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,oBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAiCvC;;;;"}
@@ -1,12 +1,12 @@
1
1
  import { slicedToArray as _slicedToArray, defineProperty as _defineProperty } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import React, { useRef, useCallback, useEffect } from 'react';
3
- import { tokens, innerTokens } from '../../Calendar.tokens.js';
4
- import { DateStructureItem } from '../DateStructureItem/DateStructureItem.js';
5
- import { StyledCalendarMonths, StyledFlex } from './CalendarMonths.styles.js';
6
- import { useMonths } from '../../hooks/useMonths.js';
7
3
  import { ROW_MONTH_STEP } from '../../utils/constants.js';
8
4
  import { canSelectDate } from '../../utils/calendarGridHelper.js';
9
5
  import { isSelectProcess, isSameDay, getInRange, getSideInRange } from '../../utils/calendarRangeHelper.js';
6
+ import { useMonths } from '../../hooks/useMonths.js';
7
+ import { tokens, innerTokens } from '../../Calendar.tokens.js';
8
+ import { DateStructureItem } from '../DateStructureItem/DateStructureItem.js';
9
+ import { StyledCalendarMonths, StyledFlex } from './CalendarMonths.styles.js';
10
10
 
11
11
  /**
12
12
  * Компонент месяцев в календаре.
@@ -1,12 +1,12 @@
1
1
  import { slicedToArray as _slicedToArray, defineProperty as _defineProperty } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import React, { useRef, useCallback, useEffect } from 'react';
3
- import { tokens, innerTokens } from '../../Calendar.tokens.js';
4
- import { DateStructureItem } from '../DateStructureItem/DateStructureItem.js';
5
- import { StyledCalendarQuarters, StyledFlex } from './CalendarQuarters.styles.js';
6
- import { useQuarters } from '../../hooks/useQuarters.js';
7
3
  import { ROW_QUARTER_STEP } from '../../utils/constants.js';
8
4
  import { canSelectDate } from '../../utils/calendarGridHelper.js';
9
5
  import { isSelectProcess, isSameDay, getInRange, getSideInRange } from '../../utils/calendarRangeHelper.js';
6
+ import { useQuarters } from '../../hooks/useQuarters.js';
7
+ import { tokens, innerTokens } from '../../Calendar.tokens.js';
8
+ import { DateStructureItem } from '../DateStructureItem/DateStructureItem.js';
9
+ import { StyledCalendarQuarters, StyledFlex } from './CalendarQuarters.styles.js';
10
10
 
11
11
  /**
12
12
  * Компонент кварталов в календаре.
@@ -1,12 +1,12 @@
1
1
  import { slicedToArray as _slicedToArray, defineProperty as _defineProperty } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import React, { useRef, useCallback, useEffect } from 'react';
3
- import { tokens, innerTokens } from '../../Calendar.tokens.js';
4
- import { DateStructureItem } from '../DateStructureItem/DateStructureItem.js';
5
- import { StyledCalendarYears, StyledFlex } from './CalendarYears.styles.js';
6
- import { useYears } from '../../hooks/useYears.js';
7
3
  import { ROW_YEAR_STEP } from '../../utils/constants.js';
8
4
  import { canSelectDate } from '../../utils/calendarGridHelper.js';
9
5
  import { isSelectProcess, isSameDay, getInRange, getSideInRange } from '../../utils/calendarRangeHelper.js';
6
+ import { useYears } from '../../hooks/useYears.js';
7
+ import { tokens, innerTokens } from '../../Calendar.tokens.js';
8
+ import { DateStructureItem } from '../DateStructureItem/DateStructureItem.js';
9
+ import { StyledCalendarYears, StyledFlex } from './CalendarYears.styles.js';
10
10
 
11
11
  /**
12
12
  * Компонент годов в календаре.
@@ -1,26 +1,27 @@
1
1
  import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import React, { forwardRef, useMemo, useState, useRef, useReducer, useLayoutEffect, createContext } from 'react';
3
3
  import { useForkRef, safeUseId } from '@salutejs/plasma-core';
4
+ import '../../../utils/react.js';
5
+ import { isEmpty } from '../../../utils/isEmpty.js';
6
+ import { useOutsideClick } from '../../../hooks/useOutsideClick.js';
7
+ import { sizeToIconSize } from '../../Select/utils/sizeToIconSize.js';
4
8
  import { classes } from './Combobox.tokens.js';
5
9
  import { FloatingPopover } from './FloatingPopover.js';
6
10
  import { getItemByFocused, useKeyNavigation } from './hooks/useKeyboardNavigation.js';
7
- import { getTreeMaps, getPathMap } from './hooks/getPathMaps.js';
8
- import { IconArrowWrapper, StyledArrow, Ul, StyledEmptyState, base } from './Combobox.styles.js';
9
- import { base as base$1 } from './variations/_view/base.js';
10
- import { base as base$2 } from './variations/_size/base.js';
11
11
  import { initialItemsTransform } from './utils/initialItemsTransform.js';
12
- import { filterItems } from './utils/filterItems.js';
13
- import { pathReducer } from './reducers/pathReducer.js';
14
- import { focusedPathReducer } from './reducers/focusedPathReducer.js';
15
- import { useOutsideClick } from '../../../hooks/useOutsideClick.js';
16
- import { isEmpty } from '../../../utils/isEmpty.js';
17
12
  import { updateDescendants } from './utils/updateDescendants.js';
18
13
  import { updateAncestors } from './utils/updateAncestors.js';
19
14
  import { updateSingleAncestors } from './utils/updateSingleAncestors.js';
20
- import { StyledTextField } from './ui/Target/Target.styles.js';
21
- import { sizeToIconSize } from '../../Select/utils/sizeToIconSize.js';
15
+ import { filterItems } from './utils/filterItems.js';
22
16
  import { getItemId } from './utils/getItemId.js';
23
17
  import { Inner } from './ui/Inner/Inner.js';
18
+ import { StyledTextField } from './ui/Target/Target.styles.js';
19
+ import { pathReducer } from './reducers/pathReducer.js';
20
+ import { focusedPathReducer } from './reducers/focusedPathReducer.js';
21
+ import { getTreeMaps, getPathMap } from './hooks/getPathMaps.js';
22
+ import { IconArrowWrapper, StyledArrow, Ul, StyledEmptyState, base } from './Combobox.styles.js';
23
+ import { base as base$1 } from './variations/_view/base.js';
24
+ import { base as base$2 } from './variations/_size/base.js';
24
25
 
25
26
  var _excluded = ["multiple", "value", "onChange", "isTargetAmount", "items", "placement", "label", "placeholder", "helperText", "contentLeft", "textBefore", "textAfter", "variant", "listOverflow", "listHeight", "listWidth", "portal", "renderItem", "view", "size", "labelPlacement", "readOnly", "disabled", "alwaysOpened", "filter", "closeAfterSelect"];
26
27
  var Context = /*#__PURE__*/createContext({});
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, createContext, useLayoutEffect, useRef } from 'react';\nimport type { ChangeEvent } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../engines';\nimport { isEmpty } from '../../../utils';\nimport { useOutsideClick } from '../../../hooks';\nimport { sizeToIconSize } from '../../Select/utils';\n\nimport { classes } from './Combobox.tokens';\nimport { FloatingPopover } from './FloatingPopover';\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport {\n initialItemsTransform,\n updateAncestors,\n updateDescendants,\n updateSingleAncestors,\n filterItems,\n getItemId,\n} from './utils';\nimport { Inner, StyledTextField } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport { Ul, base, StyledArrow, IconArrowWrapper, StyledEmptyState } from './Combobox.styles';\nimport type { ItemContext, ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed } from './ui/Inner/ui/Item/Item.types';\n\nexport const Context = createContext<ItemContext>({} as ItemContext);\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n multiple,\n value: outerValue,\n onChange: outerOnChange,\n isTargetAmount,\n items,\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n textBefore,\n textAfter,\n variant = 'normal',\n listOverflow,\n listHeight,\n listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n ...rest\n } = props;\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap, labelToItemMap] = useMemo(() => getTreeMaps(items), [items]);\n\n const [textValue, setTextValue] = useState(valueToItemMap.get(outerValue as string)?.label || '');\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value = outerValue || internalValue;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const treeId = safeUseId();\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n const filteredItems = filterItems(\n transformedItems,\n textValue,\n valueToItemMap.get(value as string)?.label as string,\n filter,\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = alwaysOpened || Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n const withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;\n const closeAfterSelect = outerCloseAfterSelect ?? !multiple;\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n // Проверяем, отличается ли значение в инпуте от выбранного value после закрытия дропдауна.\n // Если изменилось, то возвращаем label выбранного айтема.\n // Если нет выбранного элемента, то стираем значение инпута.\n if (textValue !== value) {\n if (isEmpty(value)) {\n setTextValue('');\n } else {\n setTextValue(valueToItemMap.get(value as string)?.label || '');\n }\n }\n }, floatingPopoverRef);\n\n const onChange = (newValue: string | Array<string>) => {\n if (outerOnChange) {\n outerOnChange(newValue as any);\n }\n\n setInternalValue(newValue);\n };\n\n const handleClickArrow = () => {\n if (disabled || readOnly) {\n return;\n }\n\n if (isCurrentListOpen) {\n dispatchPath({ type: 'reset' });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n }\n\n dispatchFocusedPath({ type: 'reset' });\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n setTextValue(e.target.value);\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n };\n\n // Обработчик чипов\n const handleChipsChange = (chipLabels: any[]) => {\n onChange(chipLabels.map((chipLabel) => labelToItemMap.get(chipLabel)!.value));\n };\n\n // Обработчик открытия/закрытия выпадающего списка\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n };\n\n // Обработчик выбора чекбоксов (только при multiple)\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n if (!multiple) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues);\n }\n\n // После выбора/снятия чекбокса скроллим к инпуту\n setTimeout(() => {\n if (inputRef.current) {\n inputRef.current.scrollIntoView({\n behavior: 'smooth',\n inline: 'start',\n });\n }\n }, 1);\n };\n\n // Обработчик клика по айтему выпадающего списка\n const handleItemClick = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (multiple) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const checkedCopy = new Map(checked);\n\n const isCurrentChecked = checkedCopy.get(item.value);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isCurrentChecked) {\n checkedCopy.set(item.value, 'done');\n updateSingleAncestors(item, checkedCopy, 'dot');\n }\n\n setTextValue(isCurrentChecked ? '' : item.label);\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value);\n }\n };\n\n const getChips = (): string[] => {\n if (multiple) {\n if (value.length === 0) return [];\n\n if (isTargetAmount) {\n return [`Выбрано ${value.length}`];\n }\n\n return (value as []).map((value) => valueToItemMap.get(value)!.label);\n }\n\n return [];\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiple) {\n handleCheckboxChange(item);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n multiselect: multiple,\n setTextValue,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n });\n } else {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n\n setChecked(checkedCopy);\n }, [value]);\n\n return (\n <Root size={size} view={view} labelPlacement={labelPlacement} disabled={disabled} readOnly={readOnly}>\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n valueToItemMap,\n treeId,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={(opened: boolean) => opened && handleListToggle(true)}\n placement={placement}\n portal={portal}\n target={(referenceRef) => (\n <StyledTextField\n ref={inputForkRef}\n inputWrapperRef={referenceRef}\n value={textValue}\n onChange={handleTextValueChange}\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={\n <IconArrowWrapper disabled={disabled} onClick={handleClickArrow}>\n <StyledArrow\n color=\"inherit\"\n size={sizeToIconSize(size)}\n className={withArrowInverse}\n />\n </IconArrowWrapper>\n }\n textBefore={textBefore}\n textAfter={textAfter}\n onKeyDown={onKeyDown}\n leftHelper={helperText}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={`${treeId}_tree_level_1`}\n aria-expanded={isCurrentListOpen}\n aria-activedescendant={\n activeDescendantItemValue ? getItemId(treeId, activeDescendantItemValue) : ''\n }\n {...(multiple\n ? {\n enumerationType: 'chip',\n chips: getChips(),\n onChangeChips: handleChipsChange,\n }\n : { enumerationType: 'plain' })}\n {...rest}\n onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n />\n )}\n >\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n >\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listHeight={listHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n ref={targetRef}\n >\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description=\"Ничего не найдено\"\n />\n ) : (\n filteredItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n />\n ))\n )}\n </Ul>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </div>\n </Root>\n );\n });\n\nexport const comboboxConfig = {\n name: 'Select',\n tag: 'div',\n layout: comboboxRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n readOnly: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n },\n};\n"],"names":["Context","createContext","comboboxRoot","Root","forwardRef","props","ref","_valueToItemMap$get","_valueToItemMap$get2","_getItemByFocused","multiple","outerValue","value","outerOnChange","onChange","isTargetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listOverflow","listHeight","listWidth","portal","renderItem","view","size","labelPlacement","_props$readOnly","readOnly","_props$disabled","disabled","_props$alwaysOpened","alwaysOpened","filter","outerCloseAfterSelect","closeAfterSelect","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","get","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","transformedItems","initialItemsTransform","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState5","_useState6","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","withArrowInverse","classes","arrowInverse","undefined","targetRef","useOutsideClick","type","isEmpty","_valueToItemMap$get3","newValue","handleClickArrow","handleTextValueChange","e","target","handleChipsChange","chipLabels","map","chipLabel","handleListToggle","opened","handleCheckboxChange","item","checkedCopy","Map","set","updateDescendants","updateAncestors","newValues","forEach","key","push","setTimeout","current","scrollIntoView","behavior","inline","handleItemClick","stopPropagation","isCurrentChecked","_","updateSingleAncestors","getChips","length","concat","handlePressDown","_useKeyNavigation","useKeyNavigation","multiselect","onKeyDown","useLayoutEffect","Array","isArray","val","React","createElement","Provider","FloatingPopover","onToggle","referenceRef","StyledTextField","_extends","inputWrapperRef","contentRight","IconArrowWrapper","onClick","StyledArrow","color","sizeToIconSize","className","leftHelper","role","getItemId","enumerationType","chips","onChangeChips","onEnterDisabled","Ul","id","StyledEmptyState","emptyStateWrapper","description","index","Inner","currentLevel","comboboxConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, createContext, useLayoutEffect, useRef } from 'react';\nimport type { ChangeEvent } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../engines';\nimport { isEmpty } from '../../../utils';\nimport { useOutsideClick } from '../../../hooks';\nimport { sizeToIconSize } from '../../Select/utils';\n\nimport { classes } from './Combobox.tokens';\nimport { FloatingPopover } from './FloatingPopover';\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport {\n initialItemsTransform,\n updateAncestors,\n updateDescendants,\n updateSingleAncestors,\n filterItems,\n getItemId,\n} from './utils';\nimport { Inner, StyledTextField } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport { Ul, base, StyledArrow, IconArrowWrapper, StyledEmptyState } from './Combobox.styles';\nimport type { ItemContext, ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed } from './ui/Inner/ui/Item/Item.types';\n\nexport const Context = createContext<ItemContext>({} as ItemContext);\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n multiple,\n value: outerValue,\n onChange: outerOnChange,\n isTargetAmount,\n items,\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n textBefore,\n textAfter,\n variant = 'normal',\n listOverflow,\n listHeight,\n listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n ...rest\n } = props;\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap, labelToItemMap] = useMemo(() => getTreeMaps(items), [items]);\n\n const [textValue, setTextValue] = useState(valueToItemMap.get(outerValue as string)?.label || '');\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value = outerValue || internalValue;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const treeId = safeUseId();\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n const filteredItems = filterItems(\n transformedItems,\n textValue,\n valueToItemMap.get(value as string)?.label as string,\n filter,\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = alwaysOpened || Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n const withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;\n const closeAfterSelect = outerCloseAfterSelect ?? !multiple;\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n // Проверяем, отличается ли значение в инпуте от выбранного value после закрытия дропдауна.\n // Если изменилось, то возвращаем label выбранного айтема.\n // Если нет выбранного элемента, то стираем значение инпута.\n if (textValue !== value) {\n if (isEmpty(value)) {\n setTextValue('');\n } else {\n setTextValue(valueToItemMap.get(value as string)?.label || '');\n }\n }\n }, floatingPopoverRef);\n\n const onChange = (newValue: string | Array<string>) => {\n if (outerOnChange) {\n outerOnChange(newValue as any);\n }\n\n setInternalValue(newValue);\n };\n\n const handleClickArrow = () => {\n if (disabled || readOnly) {\n return;\n }\n\n if (isCurrentListOpen) {\n dispatchPath({ type: 'reset' });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n }\n\n dispatchFocusedPath({ type: 'reset' });\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n setTextValue(e.target.value);\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n };\n\n // Обработчик чипов\n const handleChipsChange = (chipLabels: any[]) => {\n onChange(chipLabels.map((chipLabel) => labelToItemMap.get(chipLabel)!.value));\n };\n\n // Обработчик открытия/закрытия выпадающего списка\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n };\n\n // Обработчик выбора чекбоксов (только при multiple)\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n if (!multiple) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues);\n }\n\n // После выбора/снятия чекбокса скроллим к инпуту\n setTimeout(() => {\n if (inputRef.current) {\n inputRef.current.scrollIntoView({\n behavior: 'smooth',\n inline: 'start',\n });\n }\n }, 1);\n };\n\n // Обработчик клика по айтему выпадающего списка\n const handleItemClick = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (multiple) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const checkedCopy = new Map(checked);\n\n const isCurrentChecked = checkedCopy.get(item.value);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isCurrentChecked) {\n checkedCopy.set(item.value, 'done');\n updateSingleAncestors(item, checkedCopy, 'dot');\n }\n\n setTextValue(isCurrentChecked ? '' : item.label);\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value);\n }\n };\n\n const getChips = (): string[] => {\n if (multiple) {\n if (value.length === 0) return [];\n\n if (isTargetAmount) {\n return [`Выбрано ${value.length}`];\n }\n\n return (value as []).map((value) => valueToItemMap.get(value)!.label);\n }\n\n return [];\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiple) {\n handleCheckboxChange(item);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n multiselect: multiple,\n setTextValue,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n });\n } else {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n\n setChecked(checkedCopy);\n }, [value]);\n\n return (\n <Root size={size} view={view} labelPlacement={labelPlacement} disabled={disabled} readOnly={readOnly}>\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n valueToItemMap,\n treeId,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={(opened: boolean) => opened && handleListToggle(true)}\n placement={placement}\n portal={portal}\n target={(referenceRef) => (\n <StyledTextField\n ref={inputForkRef}\n inputWrapperRef={referenceRef}\n value={textValue}\n onChange={handleTextValueChange}\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={\n <IconArrowWrapper disabled={disabled} onClick={handleClickArrow}>\n <StyledArrow\n color=\"inherit\"\n size={sizeToIconSize(size)}\n className={withArrowInverse}\n />\n </IconArrowWrapper>\n }\n textBefore={textBefore}\n textAfter={textAfter}\n onKeyDown={onKeyDown}\n leftHelper={helperText}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={`${treeId}_tree_level_1`}\n aria-expanded={isCurrentListOpen}\n aria-activedescendant={\n activeDescendantItemValue ? getItemId(treeId, activeDescendantItemValue) : ''\n }\n {...(multiple\n ? {\n enumerationType: 'chip',\n chips: getChips(),\n onChangeChips: handleChipsChange,\n }\n : { enumerationType: 'plain' })}\n {...rest}\n onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n />\n )}\n >\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n >\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listHeight={listHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n ref={targetRef}\n >\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description=\"Ничего не найдено\"\n />\n ) : (\n filteredItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n />\n ))\n )}\n </Ul>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </div>\n </Root>\n );\n });\n\nexport const comboboxConfig = {\n name: 'Select',\n tag: 'div',\n layout: comboboxRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n readOnly: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n },\n};\n"],"names":["Context","createContext","comboboxRoot","Root","forwardRef","props","ref","_valueToItemMap$get","_valueToItemMap$get2","_getItemByFocused","multiple","outerValue","value","outerOnChange","onChange","isTargetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listOverflow","listHeight","listWidth","portal","renderItem","view","size","labelPlacement","_props$readOnly","readOnly","_props$disabled","disabled","_props$alwaysOpened","alwaysOpened","filter","outerCloseAfterSelect","closeAfterSelect","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","get","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","transformedItems","initialItemsTransform","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState5","_useState6","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","withArrowInverse","classes","arrowInverse","undefined","targetRef","useOutsideClick","type","isEmpty","_valueToItemMap$get3","newValue","handleClickArrow","handleTextValueChange","e","target","handleChipsChange","chipLabels","map","chipLabel","handleListToggle","opened","handleCheckboxChange","item","checkedCopy","Map","set","updateDescendants","updateAncestors","newValues","forEach","key","push","setTimeout","current","scrollIntoView","behavior","inline","handleItemClick","stopPropagation","isCurrentChecked","_","updateSingleAncestors","getChips","length","concat","handlePressDown","_useKeyNavigation","useKeyNavigation","multiselect","onKeyDown","useLayoutEffect","Array","isArray","val","React","createElement","Provider","FloatingPopover","onToggle","referenceRef","StyledTextField","_extends","inputWrapperRef","contentRight","IconArrowWrapper","onClick","StyledArrow","color","sizeToIconSize","className","leftHelper","role","getItemId","enumerationType","chips","onChangeChips","onEnterDisabled","Ul","id","StyledEmptyState","emptyStateWrapper","description","index","Inner","currentLevel","comboboxConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;IA6BaA,OAAO,gBAAGC,aAAa,CAAc,EAAiB,EAAC;;AAEpE;AACA;AACA;IACaC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,IAA+D,EAAA;AAAA,EAAA,oBACxFC,UAAU,CAAkC,UAACC,KAAK,EAAEC,GAAG,EAAK;AAAA,IAAA,IAAAC,mBAAA,EAAAC,oBAAA,EAAAC,iBAAA,CAAA;AACxD,IAAA,IACIC,QAAQ,GA2BRL,KAAK,CA3BLK,QAAQ;MACDC,UAAU,GA0BjBN,KAAK,CA1BLO,KAAK;MACKC,aAAa,GAyBvBR,KAAK,CAzBLS,QAAQ;MACRC,cAAc,GAwBdV,KAAK,CAxBLU,cAAc;MACdC,KAAK,GAuBLX,KAAK,CAvBLW,KAAK;MAAAC,gBAAA,GAuBLZ,KAAK,CAtBLa,SAAS;AAATA,MAAAA,SAAS,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,cAAc,GAAAA,gBAAA;MAC1BE,KAAK,GAqBLd,KAAK,CArBLc,KAAK;MACLC,WAAW,GAoBXf,KAAK,CApBLe,WAAW;MACXC,UAAU,GAmBVhB,KAAK,CAnBLgB,UAAU;MACVC,WAAW,GAkBXjB,KAAK,CAlBLiB,WAAW;MACXC,UAAU,GAiBVlB,KAAK,CAjBLkB,UAAU;MACVC,SAAS,GAgBTnB,KAAK,CAhBLmB,SAAS;MAAAC,cAAA,GAgBTpB,KAAK,CAfLqB,OAAO;AAAPA,MAAAA,OAAO,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,cAAA;MAClBE,YAAY,GAcZtB,KAAK,CAdLsB,YAAY;MACZC,UAAU,GAaVvB,KAAK,CAbLuB,UAAU;MACVC,SAAS,GAYTxB,KAAK,CAZLwB,SAAS;MACTC,MAAM,GAWNzB,KAAK,CAXLyB,MAAM;MACNC,UAAU,GAUV1B,KAAK,CAVL0B,UAAU;MACVC,IAAI,GASJ3B,KAAK,CATL2B,IAAI;MACJC,IAAI,GAQJ5B,KAAK,CARL4B,IAAI;MACJC,cAAc,GAOd7B,KAAK,CAPL6B,cAAc;MAAAC,eAAA,GAOd9B,KAAK,CANL+B,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;MAAAE,eAAA,GAMhBhC,KAAK,CALLiC,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;MAAAE,mBAAA,GAKhBlC,KAAK,CAJLmC,YAAY;AAAZA,MAAAA,YAAY,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,mBAAA;MACpBE,MAAM,GAGNpC,KAAK,CAHLoC,MAAM;MACYC,qBAAqB,GAEvCrC,KAAK,CAFLsC,gBAAgB;AACbC,MAAAA,IAAI,GAAAC,wBAAA,CACPxC,KAAK,EAAAyC,SAAA,CAAA,CAAA;AACT;IACA,IAAAC,QAAA,GAA4DC,OAAO,CAAC,YAAA;QAAA,OAAMC,WAAW,CAACjC,KAAK,CAAC,CAAA;OAAE,EAAA,CAACA,KAAK,CAAC,CAAC;MAAAkC,SAAA,GAAAC,cAAA,CAAAJ,QAAA,EAAA,CAAA,CAAA;AAA/FK,MAAAA,iBAAiB,GAAAF,SAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,cAAc,GAAAH,SAAA,CAAA,CAAA,CAAA;AAAEI,MAAAA,cAAc,GAAAJ,SAAA,CAAA,CAAA,CAAA,CAAA;IAExD,IAAAK,SAAA,GAAkCC,QAAQ,CAAC,EAAAjD,mBAAA,GAAA8C,cAAc,CAACI,GAAG,CAAC9C,UAAoB,CAAC,cAAAJ,mBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAxCA,mBAAA,CAA0CY,KAAK,KAAI,EAAE,CAAC;MAAAuC,UAAA,GAAAP,cAAA,CAAAI,SAAA,EAAA,CAAA,CAAA;AAA1FI,MAAAA,SAAS,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAC9B,IAAAG,UAAA,GAA0CL,QAAQ,CAAoB9C,QAAQ,GAAG,EAAE,GAAG,EAAE,CAAC;MAAAoD,UAAA,GAAAX,cAAA,CAAAU,UAAA,EAAA,CAAA,CAAA;AAAlFE,MAAAA,aAAa,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,gBAAgB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAEtC,IAAA,IAAMlD,KAAK,GAAGD,UAAU,IAAIoD,aAAa,CAAA;AAEzC,IAAA,IAAME,QAAQ,GAAGC,MAAM,CAAmB,IAAI,CAAC,CAAA;AAC/C,IAAA,IAAMC,kBAAkB,GAAGD,MAAM,CAAiB,IAAI,CAAC,CAAA;AACvD,IAAA,IAAME,YAAY,GAAGC,UAAU,CAACJ,QAAQ,EAAE3D,GAAG,CAAC,CAAA;AAC9C,IAAA,IAAMgE,MAAM,GAAGC,SAAS,EAAE,CAAA;IAE1B,IAAMC,gBAAgB,GAAGxB,OAAO,CAAC,YAAA;AAAA,MAAA,OAAMyB,qBAAqB,CAACzD,KAAK,IAAI,EAAE,CAAC,CAAA;KAAE,EAAA,CAACA,KAAK,CAAC,CAAC,CAAA;IAEnF,IAAM0D,aAAa,GAAGC,WAAW,CAC7BH,gBAAgB,EAChBb,SAAS,EAAA,CAAAnD,oBAAA,GACT6C,cAAc,CAACI,GAAG,CAAC7C,KAAe,CAAC,MAAA,IAAA,IAAAJ,oBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnCA,oBAAA,CAAqCW,KAAK,EAC1CsB,MACJ,CAAC,CAAA;IAED,IAAAmC,SAAA,GAAqC5B,OAAO,CAAC,YAAA;QAAA,OAAM6B,UAAU,CAACH,aAAa,CAAC,CAAA;AAAA,OAAA,EAAE,CAACA,aAAa,EAAEf,SAAS,CAAC,CAAC;MAAAmB,SAAA,GAAA3B,cAAA,CAAAyB,SAAA,EAAA,CAAA,CAAA;AAAlGG,MAAAA,OAAO,GAAAD,SAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,iBAAiB,GAAAF,SAAA,CAAA,CAAA,CAAA,CAAA;;AAEjC;AACA,IAAA,IAAAG,WAAA,GAA6BC,UAAU,CAACC,WAAW,EAAE,EAAE,CAAC;MAAAC,YAAA,GAAAjC,cAAA,CAAA8B,WAAA,EAAA,CAAA,CAAA;AAAjDI,MAAAA,IAAI,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AACzB,IAAA,IAAAG,YAAA,GAA2CL,UAAU,CAACM,kBAAkB,EAAE,EAAE,CAAC;MAAAC,YAAA,GAAAtC,cAAA,CAAAoC,YAAA,EAAA,CAAA,CAAA;AAAtEG,MAAAA,WAAW,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,mBAAmB,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AACvC,IAAA,IAAAG,UAAA,GAA8BpC,QAAQ,CAACJ,iBAAiB,CAAC;MAAAyC,UAAA,GAAA1C,cAAA,CAAAyC,UAAA,EAAA,CAAA,CAAA;AAAlDE,MAAAA,OAAO,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAE1B,IAAMG,iBAAiB,GAAGxD,YAAY,IAAIyD,OAAO,CAACZ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AAC1D,IAAA,IAAMa,yBAAyB,GAAG,CAAA,CAAAzF,iBAAA,GAAA0F,gBAAgB,CAACT,WAAW,EAAEV,iBAAiB,CAAC,cAAAvE,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhDA,iBAAA,CAAkDG,KAAK,KAAI,EAAE,CAAA;IAC/F,IAAMwF,gBAAgB,GAAGJ,iBAAiB,GAAGK,OAAO,CAACC,YAAY,GAAGC,SAAS,CAAA;IAC7E,IAAM5D,gBAAgB,GAAGD,qBAAqB,KAAA,IAAA,IAArBA,qBAAqB,KAArBA,KAAAA,CAAAA,GAAAA,qBAAqB,GAAI,CAAChC,QAAQ,CAAA;;AAE3D;AACA,IAAA,IAAM8F,SAAS,GAAGC,eAAe,CAAmB,YAAM;MACtD,IAAI,CAACT,iBAAiB,EAAE;AACpB,QAAA,OAAA;AACJ,OAAA;AAEAV,MAAAA,YAAY,CAAC;AAAEoB,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;AAC/Bf,MAAAA,mBAAmB,CAAC;AAAEe,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;;AAEtC;AACA;AACA;MACA,IAAI/C,SAAS,KAAK/C,KAAK,EAAE;AACrB,QAAA,IAAI+F,OAAO,CAAC/F,KAAK,CAAC,EAAE;UAChBgD,YAAY,CAAC,EAAE,CAAC,CAAA;AACpB,SAAC,MAAM;AAAA,UAAA,IAAAgD,oBAAA,CAAA;AACHhD,UAAAA,YAAY,CAAC,CAAAgD,CAAAA,oBAAA,GAAAvD,cAAc,CAACI,GAAG,CAAC7C,KAAe,CAAC,MAAA,IAAA,IAAAgG,oBAAA,KAAnCA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAA,CAAqCzF,KAAK,KAAI,EAAE,CAAC,CAAA;AAClE,SAAA;AACJ,OAAA;KACH,EAAEgD,kBAAkB,CAAC,CAAA;AAEtB,IAAA,IAAMrD,QAAQ,GAAG,SAAXA,QAAQA,CAAI+F,QAAgC,EAAK;AACnD,MAAA,IAAIhG,aAAa,EAAE;QACfA,aAAa,CAACgG,QAAe,CAAC,CAAA;AAClC,OAAA;MAEA7C,gBAAgB,CAAC6C,QAAQ,CAAC,CAAA;KAC7B,CAAA;AAED,IAAA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;MAC3B,IAAIxE,QAAQ,IAAIF,QAAQ,EAAE;AACtB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAI4D,iBAAiB,EAAE;AACnBV,QAAAA,YAAY,CAAC;AAAEoB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACnC,OAAC,MAAM;AACHpB,QAAAA,YAAY,CAAC;AAAEoB,UAAAA,IAAI,EAAE,oBAAA;AAAqB,SAAC,CAAC,CAAA;AAChD,OAAA;AAEAf,MAAAA,mBAAmB,CAAC;AAAEe,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;KACzC,CAAA;;AAED;AACA,IAAA,IAAMK,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,CAAgC,EAAK;AAChEpD,MAAAA,YAAY,CAACoD,CAAC,CAACC,MAAM,CAACrG,KAAK,CAAC,CAAA;AAC5B0E,MAAAA,YAAY,CAAC;AAAEoB,QAAAA,IAAI,EAAE,oBAAA;AAAqB,OAAC,CAAC,CAAA;AAC5Cf,MAAAA,mBAAmB,CAAC;AAAEe,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;KACzC,CAAA;;AAED;AACA,IAAA,IAAMQ,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,UAAiB,EAAK;AAC7CrG,MAAAA,QAAQ,CAACqG,UAAU,CAACC,GAAG,CAAC,UAACC,SAAS,EAAA;AAAA,QAAA,OAAK/D,cAAc,CAACG,GAAG,CAAC4D,SAAS,CAAC,CAAEzG,KAAK,CAAA;AAAA,OAAA,CAAC,CAAC,CAAA;KAChF,CAAA;;AAED;AACA,IAAA,IAAM0G,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,MAAe,EAAK;MAC1C,IAAIjF,QAAQ,IAAIF,QAAQ,EAAE;AACtB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAImF,MAAM,EAAE;AACRjC,QAAAA,YAAY,CAAC;AAAEoB,UAAAA,IAAI,EAAE,oBAAA;AAAqB,SAAC,CAAC,CAAA;AAChD,OAAC,MAAM;AACHf,QAAAA,mBAAmB,CAAC;AAAEe,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACtCpB,QAAAA,YAAY,CAAC;AAAEoB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACnC,OAAA;KACH,CAAA;;AAED;AACA,IAAA,IAAMc,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,IAA2B,EAAK;MAC1D,IAAI,CAAC/G,QAAQ,EAAE;AACX,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAMgH,WAAW,GAAG,IAAIC,GAAG,CAAC7B,OAAO,CAAC,CAAA;MAEpC,IAAI,CAAC4B,WAAW,CAACjE,GAAG,CAACgE,IAAI,CAAC7G,KAAK,CAAC,EAAE;QAC9B8G,WAAW,CAACE,GAAG,CAACH,IAAI,CAAC7G,KAAK,EAAE,IAAI,CAAC,CAAA;AACjCiH,QAAAA,iBAAiB,CAACJ,IAAI,EAAEC,WAAW,EAAE,IAAI,CAAC,CAAA;AAC9C,OAAC,MAAM;QACHA,WAAW,CAACE,GAAG,CAACH,IAAI,CAAC7G,KAAK,EAAE,KAAK,CAAC,CAAA;AAClCiH,QAAAA,iBAAiB,CAACJ,IAAI,EAAEC,WAAW,EAAE,KAAK,CAAC,CAAA;AAC/C,OAAA;AAEAI,MAAAA,eAAe,CAACL,IAAI,EAAEC,WAAW,CAAC,CAAA;MAElC,IAAMK,SAAwB,GAAG,EAAE,CAAA;AAEnC1E,MAAAA,cAAc,CAAC2E,OAAO,CAAC,UAACP,IAAI,EAAEQ,GAAG,EAAK;AAClC,QAAA,IAAIP,WAAW,CAACjE,GAAG,CAACwE,GAAG,CAAC,EAAE;AACtBF,UAAAA,SAAS,CAACG,IAAI,CAACT,IAAI,CAAC7G,KAAK,CAAC,CAAA;AAC9B,SAAA;AACJ,OAAC,CAAC,CAAA;AAEF,MAAA,IAAI,CAAC4B,YAAY,IAAIG,gBAAgB,EAAE;AACnC2C,QAAAA,YAAY,CAAC;AAAEoB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/Bf,QAAAA,mBAAmB,CAAC;AAAEe,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC1C,OAAA;AAEA,MAAA,IAAI5F,QAAQ,EAAE;QACVA,QAAQ,CAACiH,SAAS,CAAC,CAAA;AACvB,OAAA;;AAEA;AACAI,MAAAA,UAAU,CAAC,YAAM;QACb,IAAIlE,QAAQ,CAACmE,OAAO,EAAE;AAClBnE,UAAAA,QAAQ,CAACmE,OAAO,CAACC,cAAc,CAAC;AAC5BC,YAAAA,QAAQ,EAAE,QAAQ;AAClBC,YAAAA,MAAM,EAAE,OAAA;AACZ,WAAC,CAAC,CAAA;AACN,SAAA;OACH,EAAE,CAAC,CAAC,CAAA;KACR,CAAA;;AAED;IACA,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIf,IAA2B,EAAET,CAAiC,EAAK;MACxF,IAAI,CAACL,OAAO,CAACc,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEzG,KAAK,CAAC,EAAE;AACvB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIN,QAAQ,EAAE;QACV8G,oBAAoB,CAACC,IAAI,CAAC,CAAA;AAC1B,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIT,CAAC,EAAE;QACHA,CAAC,CAACyB,eAAe,EAAE,CAAA;AACvB,OAAA;AAEA,MAAA,IAAMf,WAAW,GAAG,IAAIC,GAAG,CAAC7B,OAAO,CAAC,CAAA;MAEpC,IAAM4C,gBAAgB,GAAGhB,WAAW,CAACjE,GAAG,CAACgE,IAAI,CAAC7G,KAAK,CAAC,CAAA;AAEpD8G,MAAAA,WAAW,CAACM,OAAO,CAAC,UAACW,CAAC,EAAEV,GAAG,EAAK;AAC5BP,QAAAA,WAAW,CAACE,GAAG,CAACK,GAAG,EAAE,KAAK,CAAC,CAAA;AAC/B,OAAC,CAAC,CAAA;MAEF,IAAI,CAACS,gBAAgB,EAAE;QACnBhB,WAAW,CAACE,GAAG,CAACH,IAAI,CAAC7G,KAAK,EAAE,MAAM,CAAC,CAAA;AACnCgI,QAAAA,qBAAqB,CAACnB,IAAI,EAAEC,WAAW,EAAE,KAAK,CAAC,CAAA;AACnD,OAAA;MAEA9D,YAAY,CAAC8E,gBAAgB,GAAG,EAAE,GAAGjB,IAAI,CAACtG,KAAK,CAAC,CAAA;AAEhD,MAAA,IAAI,CAACqB,YAAY,IAAIG,gBAAgB,EAAE;AACnC2C,QAAAA,YAAY,CAAC;AAAEoB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/Bf,QAAAA,mBAAmB,CAAC;AAAEe,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC1C,OAAA;AAEA,MAAA,IAAI5F,QAAQ,EAAE;QACVA,QAAQ,CAAC4H,gBAAgB,GAAG,EAAE,GAAGjB,IAAI,CAAC7G,KAAK,CAAC,CAAA;AAChD,OAAA;KACH,CAAA;AAED,IAAA,IAAMiI,QAAQ,GAAG,SAAXA,QAAQA,GAAmB;AAC7B,MAAA,IAAInI,QAAQ,EAAE;AACV,QAAA,IAAIE,KAAK,CAACkI,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;AAEjC,QAAA,IAAI/H,cAAc,EAAE;AAChB,UAAA,OAAO,+CAAAgI,MAAA,CAAYnI,KAAK,CAACkI,MAAM,CAAG,CAAA,CAAA;AACtC,SAAA;AAEA,QAAA,OAAQlI,KAAK,CAAQwG,GAAG,CAAC,UAACxG,KAAK,EAAA;AAAA,UAAA,OAAKyC,cAAc,CAACI,GAAG,CAAC7C,KAAK,CAAC,CAAEO,KAAK,CAAA;SAAC,CAAA,CAAA;AACzE,OAAA;AAEA,MAAA,OAAO,EAAE,CAAA;KACZ,CAAA;IAED,IAAM6H,eAAe,GAAG,SAAlBA,eAAeA,CAAIvB,IAA2B,EAAET,CAAiC,EAAK;AACxF,MAAA,IAAIL,OAAO,CAACc,IAAI,CAACzG,KAAK,CAAC,EAAE;AACrBwH,QAAAA,eAAe,CAACf,IAAI,EAAET,CAAC,CAAC,CAAA;OAC3B,MAAM,IAAItG,QAAQ,EAAE;QACjB8G,oBAAoB,CAACC,IAAI,CAAC,CAAA;AAC9B,OAAA;KACH,CAAA;IAED,IAAAwB,iBAAA,GAAsBC,gBAAgB,CAAC;AACnCxD,QAAAA,WAAW,EAAXA,WAAW;AACXC,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBN,QAAAA,IAAI,EAAJA,IAAI;AACJC,QAAAA,YAAY,EAAZA,YAAY;AACZP,QAAAA,OAAO,EAAPA,OAAO;AACPC,QAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBsC,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChB0B,QAAAA,eAAe,EAAfA,eAAe;AACfG,QAAAA,WAAW,EAAEzI,QAAQ;AACrBkD,QAAAA,YAAY,EAAZA,YAAAA;AACJ,OAAC,CAAC;MAXMwF,SAAS,GAAAH,iBAAA,CAATG,SAAS,CAAA;;AAajB;AACA;AACAC,IAAAA,eAAe,CAAC,YAAM;AAClB,MAAA,IAAM3B,WAAW,GAAG,IAAIC,GAAG,CAAC7B,OAAO,CAAC,CAAA;AAEpC4B,MAAAA,WAAW,CAACM,OAAO,CAAC,UAACW,CAAC,EAAEV,GAAG,EAAK;AAC5BP,QAAAA,WAAW,CAACE,GAAG,CAACK,GAAG,EAAE,KAAK,CAAC,CAAA;AAC/B,OAAC,CAAC,CAAA;AAEF,MAAA,IAAI,CAACtB,OAAO,CAAC/F,KAAK,CAAC,EAAE;AACjB,QAAA,IAAI0I,KAAK,CAACC,OAAO,CAAC3I,KAAK,CAAC,EAAE;AACtBA,UAAAA,KAAK,CAACoH,OAAO,CAAC,UAACwB,GAAG,EAAK;AACnB9B,YAAAA,WAAW,CAACE,GAAG,CAAC4B,GAAG,EAAE,IAAI,CAAC,CAAA;YAC1B3B,iBAAiB,CAACxE,cAAc,CAACI,GAAG,CAAC+F,GAAG,CAAC,EAAG9B,WAAW,EAAE,IAAI,CAAC,CAAA;YAC9DI,eAAe,CAACzE,cAAc,CAACI,GAAG,CAAC+F,GAAG,CAAC,EAAG9B,WAAW,CAAC,CAAA;AAC1D,WAAC,CAAC,CAAA;AACN,SAAC,MAAM;AACHA,UAAAA,WAAW,CAACE,GAAG,CAAChH,KAAK,EAAE,MAAM,CAAC,CAAA;UAC9BgI,qBAAqB,CAACvF,cAAc,CAACI,GAAG,CAAC7C,KAAK,CAAC,EAAG8G,WAAW,EAAE,KAAK,CAAC,CAAA;AACzE,SAAA;AACJ,OAAA;MAEA3B,UAAU,CAAC2B,WAAW,CAAC,CAAA;AAC3B,KAAC,EAAE,CAAC9G,KAAK,CAAC,CAAC,CAAA;AAEX,IAAA,oBACI6I,KAAA,CAAAC,aAAA,CAACvJ,IAAI,EAAA;AAAC8B,MAAAA,IAAI,EAAEA,IAAK;AAACD,MAAAA,IAAI,EAAEA,IAAK;AAACE,MAAAA,cAAc,EAAEA,cAAe;AAACI,MAAAA,QAAQ,EAAEA,QAAS;AAACF,MAAAA,QAAQ,EAAEA,QAAAA;KACxFqH,eAAAA,KAAA,CAAAC,aAAA,CACID,KAAAA,EAAAA,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAAC1J,OAAO,CAAC2J,QAAQ,EAAA;AACb/I,MAAAA,KAAK,EAAE;AACH8E,QAAAA,WAAW,EAAXA,WAAW;AACXI,QAAAA,OAAO,EAAPA,OAAO;AACPpF,QAAAA,QAAQ,EAARA,QAAQ;AACRuB,QAAAA,IAAI,EAAJA,IAAI;AACJuF,QAAAA,oBAAoB,EAApBA,oBAAoB;AACpBgB,QAAAA,eAAe,EAAfA,eAAe;AACf9G,QAAAA,OAAO,EAAPA,OAAO;AACPK,QAAAA,UAAU,EAAVA,UAAU;AACVsB,QAAAA,cAAc,EAAdA,cAAc;AACdiB,QAAAA,MAAM,EAANA,MAAAA;AACJ,OAAA;AAAE,KAAA,eAEFmF,KAAA,CAAAC,aAAA,CAACE,eAAe,EAAA;AACZtJ,MAAAA,GAAG,EAAE6D,kBAAmB;AACxBoD,MAAAA,MAAM,EAAEvB,iBAAkB;MAC1B6D,QAAQ,EAAE,SAAAA,QAAAA,CAACtC,MAAe,EAAA;AAAA,QAAA,OAAKA,MAAM,IAAID,gBAAgB,CAAC,IAAI,CAAC,CAAA;OAAC;AAChEpG,MAAAA,SAAS,EAAEA,SAAU;AACrBY,MAAAA,MAAM,EAAEA,MAAO;MACfmF,MAAM,EAAE,SAAAA,MAAAA,CAAC6C,YAAY,EAAA;AAAA,QAAA,oBACjBL,KAAA,CAAAC,aAAA,CAACK,eAAe,EAAAC,QAAA,CAAA;AACZ1J,UAAAA,GAAG,EAAE8D,YAAa;AAClB6F,UAAAA,eAAe,EAAEH,YAAa;AAC9BlJ,UAAAA,KAAK,EAAE+C,SAAU;AACjB7C,UAAAA,QAAQ,EAAEiG,qBAAsB;AAChC9E,UAAAA,IAAI,EAAEA,IAAK;AACXD,UAAAA,IAAI,EAAEA,IAAK;AACXE,UAAAA,cAAc,EAAEA,cAAe;AAC/BI,UAAAA,QAAQ,EAAEA,QAAS;AACnBF,UAAAA,QAAQ,EAAEA,QAAS;AACnBjB,UAAAA,KAAK,EAAEA,KAAM;AACbC,UAAAA,WAAW,EAAEA,WAAY;AACzBE,UAAAA,WAAW,EAAEA,WAAY;AACzB4I,UAAAA,YAAY,eACRT,KAAA,CAAAC,aAAA,CAACS,gBAAgB,EAAA;AAAC7H,YAAAA,QAAQ,EAAEA,QAAS;AAAC8H,YAAAA,OAAO,EAAEtD,gBAAAA;AAAiB,WAAA,eAC5D2C,KAAA,CAAAC,aAAA,CAACW,WAAW,EAAA;AACRC,YAAAA,KAAK,EAAC,SAAS;AACfrI,YAAAA,IAAI,EAAEsI,cAAc,CAACtI,IAAI,CAAE;AAC3BuI,YAAAA,SAAS,EAAEpE,gBAAAA;AAAiB,WAC/B,CACa,CACrB;AACD7E,UAAAA,UAAU,EAAEA,UAAW;AACvBC,UAAAA,SAAS,EAAEA,SAAU;AACrB4H,UAAAA,SAAS,EAAEA,SAAU;AACrBqB,UAAAA,UAAU,EAAEpJ,UAAW;AACvBqJ,UAAAA,IAAI,EAAC,UAAU;AACf,UAAA,mBAAA,EAAkB,MAAM;UACxB,eAAA3B,EAAAA,EAAAA,CAAAA,MAAA,CAAkBzE,MAAM,EAAgB,eAAA,CAAA;AACxC,UAAA,eAAA,EAAe0B,iBAAkB;UACjC,uBACIE,EAAAA,yBAAyB,GAAGyE,SAAS,CAACrG,MAAM,EAAE4B,yBAAyB,CAAC,GAAG,EAAA;AAC9E,SAAA,EACIxF,QAAQ,GACP;AACIkK,UAAAA,eAAe,EAAE,MAAM;UACvBC,KAAK,EAAEhC,QAAQ,EAAE;AACjBiC,UAAAA,aAAa,EAAE5D,iBAAAA;AACnB,SAAC,GACD;AAAE0D,UAAAA,eAAe,EAAE,OAAA;AAAQ,SAAC,EAC9BhI,IAAI,EAAA;AACRmI,UAAAA,eAAe,EAAC,IAAA;AAAA,SAAA,CACnB,CAAC,CAAA;AAAA,OAAA;AACJ,KAAA,eAEFtB,KAAA,CAAAC,aAAA,CAACvJ,IAAI,EAAA;AACD8B,MAAAA,IAAI,EAAEA,IAAK;AACXD,MAAAA,IAAI,EAAEA,IAAK;AACXE,MAAAA,cAAc,EAAEA,cAAe;AAC/BI,MAAAA,QAAQ,EAAEA,QAAS;AACnBF,MAAAA,QAAQ,EAAEA,QAAAA;AAAS,KAAA,eAEnBqH,KAAA,CAAAC,aAAA,CAACsB,EAAE,EAAA;AACCN,MAAAA,IAAI,EAAC,MAAM;AACXO,MAAAA,EAAE,EAAAlC,EAAAA,CAAAA,MAAA,CAAKzE,MAAM,EAAgB,eAAA,CAAA;MAC7B,sBAAsB2B,EAAAA,OAAO,CAACvF,QAAQ,CAAE;AACxCkB,MAAAA,UAAU,EAAEA,UAAW;AACvBD,MAAAA,YAAY,EAAEA,YAAa;AAC3BE,MAAAA,SAAS,EAAEA,SAAU;AACrBvB,MAAAA,GAAG,EAAEkG,SAAAA;KAEJG,EAAAA,OAAO,CAACjC,aAAa,CAAC,gBACnB+E,KAAA,CAAAC,aAAA,CAACwB,gBAAgB,EAAA;MACbV,SAAS,EAAEnE,OAAO,CAAC8E,iBAAkB;AACrClJ,MAAAA,IAAI,EAAEA,IAAK;AACXmJ,MAAAA,WAAW,EAAC,8FAAA;KACf,CAAC,GAEF1G,aAAa,CAAC0C,GAAG,CAAC,UAACK,IAAI,EAAE4D,KAAK,EAAA;AAAA,MAAA,oBAC1B5B,KAAA,CAAAC,aAAA,CAAC4B,KAAK,EAAA;AACFrD,QAAAA,GAAG,EAAAc,EAAAA,CAAAA,MAAA,CAAKsC,KAAK,EAAK,IAAA,CAAA;AAClB5D,QAAAA,IAAI,EAAEA,IAAK;AACX8D,QAAAA,YAAY,EAAE,CAAE;AAChBlG,QAAAA,IAAI,EAAEA,IAAK;AACXC,QAAAA,YAAY,EAAEA,YAAa;AAC3B+F,QAAAA,KAAK,EAAEA,KAAM;AACbxJ,QAAAA,SAAS,EAAEA,SAAAA;AAAU,OACxB,CAAC,CAAA;AAAA,KACL,CAEL,CACF,CACO,CACH,CACjB,CACH,CAAC,CAAA;AAEf,GAAC,CAAC,CAAA;AAAA,EAAA;AAEC,IAAM2J,cAAc,GAAG;AAC1BC,EAAAA,IAAI,EAAE,QAAQ;AACdC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEzL,YAAY;AACpB0L,EAAAA,IAAI,EAAJA,IAAI;AACJC,EAAAA,UAAU,EAAE;AACR7J,IAAAA,IAAI,EAAE;AACF8J,MAAAA,GAAG,EAAEC,MAAAA;KACR;AACD9J,IAAAA,IAAI,EAAE;AACF6J,MAAAA,GAAG,EAAEE,MAAAA;KACR;AACD5J,IAAAA,QAAQ,EAAE;AACN0J,MAAAA,GAAG,EAAEE,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNjK,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAG;AACTC,IAAAA,cAAc,EAAE,OAAA;AACpB,GAAA;AACJ;;;;"}
@@ -1,9 +1,11 @@
1
1
  import './Combobox.styles_1s09ifw.css';
2
2
  import { styled } from '@linaria/react';
3
- import { tokens, constants } from './Combobox.tokens.js';
3
+ import { emptyStateConfig } from '../../EmptyState/EmptyState.js';
4
+ import 'react';
4
5
  import { IconDisclosureDownCentered } from '../../_Icon/Icons/IconDisclosureDownCentered.js';
6
+ import '@linaria/core';
5
7
  import { component, mergeConfig } from '../../../engines/common.js';
6
- import { emptyStateConfig } from '../../EmptyState/EmptyState.js';
8
+ import { tokens, constants } from './Combobox.tokens.js';
7
9
 
8
10
  var mergedConfig = /*#__PURE__*/mergeConfig(emptyStateConfig);
9
11
  var EmptyState = /*#__PURE__*/component(mergedConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.styles.js","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\nimport { css } from '@linaria/core';\n\nimport { emptyStateConfig, emptyStateTokens } from '../../EmptyState';\nimport { IconDisclosureDownCentered } from '../../_Icon';\nimport { component, mergeConfig } from '../../../engines';\n\nimport { ComboboxProps } from './Combobox.types';\nimport { tokens, constants, classes } from './Combobox.tokens';\n\nconst mergedConfig = mergeConfig(emptyStateConfig);\nconst EmptyState = component(mergedConfig);\n\nexport const Ul = styled.ul<{\n listOverflow?: ComboboxProps['listOverflow'];\n listHeight?: ComboboxProps['listHeight'];\n listWidth?: ComboboxProps['listWidth'];\n isInnerUl?: boolean;\n}>`\n box-sizing: border-box;\n\n background: var(${constants.background});\n box-shadow: ${constants.boxShadow};\n\n border-radius: var(${tokens.borderRadius});\n width: ${({ listWidth }) => listWidth || '100%'};\n height: ${({ listHeight }) => listHeight || 'auto'};\n overflow: ${({ listOverflow }) => listOverflow || 'initial'};\n\n border: var(${tokens.dropdownBorderWidth}) solid var(${tokens.dropdownBorderColor});\n margin: ${({ isInnerUl }) => (isInnerUl ? `calc(var(${tokens.padding}) * -1) 0 0 0` : 0)};\n padding: var(${tokens.padding}) 0;\n\n .${classes.emptyStateWrapper} {\n box-shadow: none;\n }\n`;\n\nexport const IconArrowWrapper = styled.div<{ disabled: boolean }>`\n line-height: 0;\n color: var(${constants.disclosureIconColor});\n cursor: ${({ disabled }) => (disabled ? 'inherit' : 'pointer')};\n\n .${classes.arrowInverse} {\n transform: rotate(-180deg);\n }\n\n &:hover,\n &:active {\n color: ${({ disabled }) =>\n disabled ? `var(${constants.disclosureIconColor})` : `var(${constants.disclosureIconColorHover})`};\n }\n`;\n\nexport const StyledArrow = styled(IconDisclosureDownCentered)``;\n\nexport const base = css``;\n\nexport const StyledEmptyState = styled(EmptyState)`\n ${emptyStateTokens.borderRadius}: var(${tokens.textFieldBorderRadius});\n ${emptyStateTokens.padding}: var(${tokens.emptyStatePadding});\n ${emptyStateTokens.fontFamily}: var(${tokens.textFieldFontFamily});\n ${emptyStateTokens.fontSize}: var(${tokens.textFieldFontSize});\n ${emptyStateTokens.fontStyle}: var(${tokens.textFieldFontStyle});\n ${emptyStateTokens.fontWeight}: var(${tokens.textFieldFontWeight});\n ${emptyStateTokens.fontLetterSpacing}: var(${tokens.textFieldLetterSpacing});\n ${emptyStateTokens.fontLineHeight}: var(${tokens.textFieldLineHeight});\n`;\n"],"names":["mergedConfig","mergeConfig","emptyStateConfig","EmptyState","component","_exp4","_ref","listWidth","_exp5","_ref2","listHeight","_exp6","_ref3","listOverflow","_exp9","_ref4","isInnerUl","concat","tokens","padding","Ul","styled","name","class","propsAsIs","vars","_exp13","_ref5","disabled","_exp15","_ref6","constants","disclosureIconColor","disclosureIconColorHover","IconArrowWrapper","_exp16","IconDisclosureDownCentered","StyledArrow","base","_exp17","StyledEmptyState"],"mappings":"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"}
1
+ {"version":3,"file":"Combobox.styles.js","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\nimport { css } from '@linaria/core';\n\nimport { emptyStateConfig, emptyStateTokens } from '../../EmptyState';\nimport { IconDisclosureDownCentered } from '../../_Icon';\nimport { component, mergeConfig } from '../../../engines';\n\nimport { ComboboxProps } from './Combobox.types';\nimport { tokens, constants, classes } from './Combobox.tokens';\n\nconst mergedConfig = mergeConfig(emptyStateConfig);\nconst EmptyState = component(mergedConfig);\n\nexport const Ul = styled.ul<{\n listOverflow?: ComboboxProps['listOverflow'];\n listHeight?: ComboboxProps['listHeight'];\n listWidth?: ComboboxProps['listWidth'];\n isInnerUl?: boolean;\n}>`\n box-sizing: border-box;\n\n background: var(${constants.background});\n box-shadow: ${constants.boxShadow};\n\n border-radius: var(${tokens.borderRadius});\n width: ${({ listWidth }) => listWidth || '100%'};\n height: ${({ listHeight }) => listHeight || 'auto'};\n overflow: ${({ listOverflow }) => listOverflow || 'initial'};\n\n border: var(${tokens.dropdownBorderWidth}) solid var(${tokens.dropdownBorderColor});\n margin: ${({ isInnerUl }) => (isInnerUl ? `calc(var(${tokens.padding}) * -1) 0 0 0` : 0)};\n padding: var(${tokens.padding}) 0;\n\n .${classes.emptyStateWrapper} {\n box-shadow: none;\n }\n`;\n\nexport const IconArrowWrapper = styled.div<{ disabled: boolean }>`\n line-height: 0;\n color: var(${constants.disclosureIconColor});\n cursor: ${({ disabled }) => (disabled ? 'inherit' : 'pointer')};\n\n .${classes.arrowInverse} {\n transform: rotate(-180deg);\n }\n\n &:hover,\n &:active {\n color: ${({ disabled }) =>\n disabled ? `var(${constants.disclosureIconColor})` : `var(${constants.disclosureIconColorHover})`};\n }\n`;\n\nexport const StyledArrow = styled(IconDisclosureDownCentered)``;\n\nexport const base = css``;\n\nexport const StyledEmptyState = styled(EmptyState)`\n ${emptyStateTokens.borderRadius}: var(${tokens.textFieldBorderRadius});\n ${emptyStateTokens.padding}: var(${tokens.emptyStatePadding});\n ${emptyStateTokens.fontFamily}: var(${tokens.textFieldFontFamily});\n ${emptyStateTokens.fontSize}: var(${tokens.textFieldFontSize});\n ${emptyStateTokens.fontStyle}: var(${tokens.textFieldFontStyle});\n ${emptyStateTokens.fontWeight}: var(${tokens.textFieldFontWeight});\n ${emptyStateTokens.fontLetterSpacing}: var(${tokens.textFieldLetterSpacing});\n ${emptyStateTokens.fontLineHeight}: var(${tokens.textFieldLineHeight});\n`;\n"],"names":["mergedConfig","mergeConfig","emptyStateConfig","EmptyState","component","_exp4","_ref","listWidth","_exp5","_ref2","listHeight","_exp6","_ref3","listOverflow","_exp9","_ref4","isInnerUl","concat","tokens","padding","Ul","styled","name","class","propsAsIs","vars","_exp13","_ref5","disabled","_exp15","_ref6","constants","disclosureIconColor","disclosureIconColorHover","IconArrowWrapper","_exp16","IconDisclosureDownCentered","StyledArrow","base","_exp17","StyledEmptyState"],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import 'react';
2
+ import '../../../../utils/react.js';
1
3
  import { isEmpty } from '../../../../utils/isEmpty.js';
2
4
 
3
5
  var getPathMap = function getPathMap(items) {
@@ -1 +1 @@
1
- {"version":3,"file":"getPathMaps.js","sources":["../../../../../src/components/Combobox/ComboboxNew/hooks/getPathMaps.ts"],"sourcesContent":["import { isEmpty } from '../../../../utils';\nimport { ComboboxProps } from '../Combobox.types';\nimport { ItemOptionTransformed } from '../ui/Inner/ui/Item/Item.types';\n\nexport type PathMapType = Map<string, number>;\nexport type FocusedToValueMapType = Map<string, ItemOptionTransformed>;\nexport type ValueToCheckedMapType = Map<ItemOptionTransformed['value'], boolean | 'done' | 'dot' | 'indeterminate'>;\nexport type ValueToItemMapType = Map<ItemOptionTransformed['value'], ItemOptionTransformed>;\nexport type LabelToItemMapType = Map<ItemOptionTransformed['label'], ItemOptionTransformed>;\n\nexport const getPathMap = (items: ComboboxProps['items']) => {\n const pathMap: PathMapType = new Map();\n const focusedToValueMap: FocusedToValueMapType = new Map();\n\n pathMap.set('root', items?.length || 0);\n\n const rec = (items: ComboboxProps['items'], prevIndex = '') => {\n items?.forEach((item: ItemOptionTransformed, index: number) => {\n const { value, items: innerItems } = item;\n const currIndex = `${prevIndex}/${index}`.replace(/^(\\/)/, '');\n\n focusedToValueMap.set(currIndex, item);\n\n if (innerItems) {\n pathMap.set(value, innerItems.length);\n rec(innerItems, currIndex);\n }\n });\n };\n rec(items);\n\n return [pathMap, focusedToValueMap] as [PathMapType, FocusedToValueMapType];\n};\n\nexport const getTreeMaps = (items: ComboboxProps['items']) => {\n const valueToCheckedMap: ValueToCheckedMapType = new Map();\n const valueToItemMap: ValueToItemMapType = new Map();\n const labelToItemMap: ValueToItemMapType = new Map();\n\n const rec = (items: ComboboxProps['items'], prevIndex = '') => {\n items?.forEach((item: ItemOptionTransformed, index: number) => {\n const { value, label, items: innerItems } = item;\n\n const currIndex = `${prevIndex}/${index}`.replace(/^(\\/)/, '');\n\n valueToCheckedMap.set(value, false);\n\n if (isEmpty(innerItems) || !innerItems) {\n valueToItemMap.set(value, item);\n labelToItemMap.set(label, item);\n } else {\n rec(innerItems, currIndex);\n }\n });\n };\n rec(items);\n\n return [valueToCheckedMap, valueToItemMap, labelToItemMap] as [\n ValueToCheckedMapType,\n ValueToItemMapType,\n LabelToItemMapType,\n ];\n};\n"],"names":["getPathMap","items","pathMap","Map","focusedToValueMap","set","length","rec","prevIndex","arguments","undefined","forEach","item","index","value","innerItems","currIndex","concat","replace","getTreeMaps","valueToCheckedMap","valueToItemMap","labelToItemMap","label","isEmpty"],"mappings":"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"}
1
+ {"version":3,"file":"getPathMaps.js","sources":["../../../../../src/components/Combobox/ComboboxNew/hooks/getPathMaps.ts"],"sourcesContent":["import { isEmpty } from '../../../../utils';\nimport { ComboboxProps } from '../Combobox.types';\nimport { ItemOptionTransformed } from '../ui/Inner/ui/Item/Item.types';\n\nexport type PathMapType = Map<string, number>;\nexport type FocusedToValueMapType = Map<string, ItemOptionTransformed>;\nexport type ValueToCheckedMapType = Map<ItemOptionTransformed['value'], boolean | 'done' | 'dot' | 'indeterminate'>;\nexport type ValueToItemMapType = Map<ItemOptionTransformed['value'], ItemOptionTransformed>;\nexport type LabelToItemMapType = Map<ItemOptionTransformed['label'], ItemOptionTransformed>;\n\nexport const getPathMap = (items: ComboboxProps['items']) => {\n const pathMap: PathMapType = new Map();\n const focusedToValueMap: FocusedToValueMapType = new Map();\n\n pathMap.set('root', items?.length || 0);\n\n const rec = (items: ComboboxProps['items'], prevIndex = '') => {\n items?.forEach((item: ItemOptionTransformed, index: number) => {\n const { value, items: innerItems } = item;\n const currIndex = `${prevIndex}/${index}`.replace(/^(\\/)/, '');\n\n focusedToValueMap.set(currIndex, item);\n\n if (innerItems) {\n pathMap.set(value, innerItems.length);\n rec(innerItems, currIndex);\n }\n });\n };\n rec(items);\n\n return [pathMap, focusedToValueMap] as [PathMapType, FocusedToValueMapType];\n};\n\nexport const getTreeMaps = (items: ComboboxProps['items']) => {\n const valueToCheckedMap: ValueToCheckedMapType = new Map();\n const valueToItemMap: ValueToItemMapType = new Map();\n const labelToItemMap: ValueToItemMapType = new Map();\n\n const rec = (items: ComboboxProps['items'], prevIndex = '') => {\n items?.forEach((item: ItemOptionTransformed, index: number) => {\n const { value, label, items: innerItems } = item;\n\n const currIndex = `${prevIndex}/${index}`.replace(/^(\\/)/, '');\n\n valueToCheckedMap.set(value, false);\n\n if (isEmpty(innerItems) || !innerItems) {\n valueToItemMap.set(value, item);\n labelToItemMap.set(label, item);\n } else {\n rec(innerItems, currIndex);\n }\n });\n };\n rec(items);\n\n return [valueToCheckedMap, valueToItemMap, labelToItemMap] as [\n ValueToCheckedMapType,\n ValueToItemMapType,\n LabelToItemMapType,\n ];\n};\n"],"names":["getPathMap","items","pathMap","Map","focusedToValueMap","set","length","rec","prevIndex","arguments","undefined","forEach","item","index","value","innerItems","currIndex","concat","replace","getTreeMaps","valueToCheckedMap","valueToItemMap","labelToItemMap","label","isEmpty"],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import React from 'react';
2
2
  import { safeUseId } from '@salutejs/plasma-core';
3
3
  import { FloatingPopover } from '../../FloatingPopover.js';
4
- import { Ul } from '../../Combobox.styles.js';
4
+ import '../../../../../utils/react.js';
5
5
  import { isEmpty } from '../../../../../utils/isEmpty.js';
6
+ import { Ul } from '../../Combobox.styles.js';
6
7
  import { Item } from './ui/Item/Item.js';
7
8
 
8
9
  var Inner = function Inner(_ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"Inner.js","sources":["../../../../../../src/components/Combobox/ComboboxNew/ui/Inner/Inner.tsx"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport { FloatingPopover } from '../../FloatingPopover';\nimport { isEmpty } from '../../../../../utils';\nimport { Ul } from '../../Combobox.styles';\n\nimport type { ItemOptionTransformed } from './ui/Item/Item.types';\nimport { Item } from './ui';\nimport { InnerProps } from './Inner.type';\n\nexport const Inner: FC<InnerProps> = ({ item, currentLevel, path, dispatchPath, index, listWidth }) => {\n const handleToggle = (opened: boolean): void => {\n if (opened) {\n dispatchPath({ type: 'changed_on_level', value: item.value.toString(), level: currentLevel + 1 });\n } else {\n dispatchPath({ type: 'cut_by_level', level: currentLevel + 1 });\n }\n };\n\n const isCurrentListOpen = path[currentLevel + 1] === item.value.toString();\n\n const treeId = safeUseId();\n const listId = `${treeId}_tree_level_${currentLevel + 2}`;\n const nextLevel = currentLevel + 1;\n\n if (!isEmpty(item?.items)) {\n return (\n <FloatingPopover\n placement=\"right-start\"\n opened={isCurrentListOpen}\n onToggle={handleToggle}\n offset={2}\n target={\n <Item\n item={item}\n path={path}\n currentLevel={currentLevel}\n index={index}\n ariaControls={listId}\n ariaExpanded={isCurrentListOpen}\n ariaLevel={nextLevel}\n ariaLabel={item.label}\n />\n }\n >\n <Ul role=\"group\" id={listId} isInnerUl listWidth={listWidth}>\n {item.items?.map((innerItem: ItemOptionTransformed, innerIndex: number) => (\n <Inner\n key={`${innerIndex}/${currentLevel}`}\n item={innerItem}\n currentLevel={nextLevel}\n path={path}\n dispatchPath={dispatchPath}\n index={innerIndex}\n listWidth={listWidth}\n />\n ))}\n </Ul>\n </FloatingPopover>\n );\n }\n\n return <Item item={item} path={path} index={index} currentLevel={currentLevel} ariaLevel={nextLevel} />;\n};\n"],"names":["Inner","_ref","item","currentLevel","path","dispatchPath","index","listWidth","handleToggle","opened","type","value","toString","level","isCurrentListOpen","treeId","safeUseId","listId","concat","nextLevel","isEmpty","items","_item$items","React","createElement","FloatingPopover","placement","onToggle","offset","target","Item","ariaControls","ariaExpanded","ariaLevel","ariaLabel","label","Ul","role","id","isInnerUl","map","innerItem","innerIndex","key"],"mappings":";;;;;;;IAYaA,KAAqB,GAAG,SAAxBA,KAAqBA,CAAAC,IAAA,EAAqE;AAAA,EAAA,IAA/DC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,YAAY,GAAAF,IAAA,CAAZE,YAAY;IAAEC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IAAEC,YAAY,GAAAJ,IAAA,CAAZI,YAAY;IAAEC,KAAK,GAAAL,IAAA,CAALK,KAAK;IAAEC,SAAS,GAAAN,IAAA,CAATM,SAAS,CAAA;AAC5F,EAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,MAAe,EAAW;AAC5C,IAAA,IAAIA,MAAM,EAAE;AACRJ,MAAAA,YAAY,CAAC;AAAEK,QAAAA,IAAI,EAAE,kBAAkB;AAAEC,QAAAA,KAAK,EAAET,IAAI,CAACS,KAAK,CAACC,QAAQ,EAAE;QAAEC,KAAK,EAAEV,YAAY,GAAG,CAAA;AAAE,OAAC,CAAC,CAAA;AACrG,KAAC,MAAM;AACHE,MAAAA,YAAY,CAAC;AAAEK,QAAAA,IAAI,EAAE,cAAc;QAAEG,KAAK,EAAEV,YAAY,GAAG,CAAA;AAAE,OAAC,CAAC,CAAA;AACnE,KAAA;GACH,CAAA;AAED,EAAA,IAAMW,iBAAiB,GAAGV,IAAI,CAACD,YAAY,GAAG,CAAC,CAAC,KAAKD,IAAI,CAACS,KAAK,CAACC,QAAQ,EAAE,CAAA;AAE1E,EAAA,IAAMG,MAAM,GAAGC,SAAS,EAAE,CAAA;EAC1B,IAAMC,MAAM,GAAAC,EAAAA,CAAAA,MAAA,CAAMH,MAAM,EAAAG,cAAAA,CAAAA,CAAAA,MAAA,CAAef,YAAY,GAAG,CAAC,CAAE,CAAA;AACzD,EAAA,IAAMgB,SAAS,GAAGhB,YAAY,GAAG,CAAC,CAAA;EAElC,IAAI,CAACiB,OAAO,CAAClB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEmB,KAAK,CAAC,EAAE;AAAA,IAAA,IAAAC,WAAA,CAAA;AACvB,IAAA,oBACIC,KAAA,CAAAC,aAAA,CAACC,eAAe,EAAA;AACZC,MAAAA,SAAS,EAAC,aAAa;AACvBjB,MAAAA,MAAM,EAAEK,iBAAkB;AAC1Ba,MAAAA,QAAQ,EAAEnB,YAAa;AACvBoB,MAAAA,MAAM,EAAE,CAAE;AACVC,MAAAA,MAAM,eACFN,KAAA,CAAAC,aAAA,CAACM,IAAI,EAAA;AACD5B,QAAAA,IAAI,EAAEA,IAAK;AACXE,QAAAA,IAAI,EAAEA,IAAK;AACXD,QAAAA,YAAY,EAAEA,YAAa;AAC3BG,QAAAA,KAAK,EAAEA,KAAM;AACbyB,QAAAA,YAAY,EAAEd,MAAO;AACrBe,QAAAA,YAAY,EAAElB,iBAAkB;AAChCmB,QAAAA,SAAS,EAAEd,SAAU;QACrBe,SAAS,EAAEhC,IAAI,CAACiC,KAAAA;OACnB,CAAA;AACJ,KAAA,eAEDZ,KAAA,CAAAC,aAAA,CAACY,EAAE,EAAA;AAACC,MAAAA,IAAI,EAAC,OAAO;AAACC,MAAAA,EAAE,EAAErB,MAAO;MAACsB,SAAS,EAAA,IAAA;AAAChC,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,EAAA,CAAAe,WAAA,GACvDpB,IAAI,CAACmB,KAAK,MAAAC,IAAAA,IAAAA,WAAA,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAA,CAAYkB,GAAG,CAAC,UAACC,SAAgC,EAAEC,UAAkB,EAAA;AAAA,MAAA,oBAClEnB,KAAA,CAAAC,aAAA,CAACxB,KAAK,EAAA;QACF2C,GAAG,EAAA,EAAA,CAAAzB,MAAA,CAAKwB,UAAU,OAAAxB,MAAA,CAAIf,YAAY,CAAG;AACrCD,QAAAA,IAAI,EAAEuC,SAAU;AAChBtC,QAAAA,YAAY,EAAEgB,SAAU;AACxBf,QAAAA,IAAI,EAAEA,IAAK;AACXC,QAAAA,YAAY,EAAEA,YAAa;AAC3BC,QAAAA,KAAK,EAAEoC,UAAW;AAClBnC,QAAAA,SAAS,EAAEA,SAAAA;AAAU,OACxB,CAAC,CAAA;KACL,CACD,CACS,CAAC,CAAA;AAE1B,GAAA;AAEA,EAAA,oBAAOgB,KAAA,CAAAC,aAAA,CAACM,IAAI,EAAA;AAAC5B,IAAAA,IAAI,EAAEA,IAAK;AAACE,IAAAA,IAAI,EAAEA,IAAK;AAACE,IAAAA,KAAK,EAAEA,KAAM;AAACH,IAAAA,YAAY,EAAEA,YAAa;AAAC8B,IAAAA,SAAS,EAAEd,SAAAA;AAAU,GAAE,CAAC,CAAA;AAC3G;;;;"}
1
+ {"version":3,"file":"Inner.js","sources":["../../../../../../src/components/Combobox/ComboboxNew/ui/Inner/Inner.tsx"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport { FloatingPopover } from '../../FloatingPopover';\nimport { isEmpty } from '../../../../../utils';\nimport { Ul } from '../../Combobox.styles';\n\nimport type { ItemOptionTransformed } from './ui/Item/Item.types';\nimport { Item } from './ui';\nimport { InnerProps } from './Inner.type';\n\nexport const Inner: FC<InnerProps> = ({ item, currentLevel, path, dispatchPath, index, listWidth }) => {\n const handleToggle = (opened: boolean): void => {\n if (opened) {\n dispatchPath({ type: 'changed_on_level', value: item.value.toString(), level: currentLevel + 1 });\n } else {\n dispatchPath({ type: 'cut_by_level', level: currentLevel + 1 });\n }\n };\n\n const isCurrentListOpen = path[currentLevel + 1] === item.value.toString();\n\n const treeId = safeUseId();\n const listId = `${treeId}_tree_level_${currentLevel + 2}`;\n const nextLevel = currentLevel + 1;\n\n if (!isEmpty(item?.items)) {\n return (\n <FloatingPopover\n placement=\"right-start\"\n opened={isCurrentListOpen}\n onToggle={handleToggle}\n offset={2}\n target={\n <Item\n item={item}\n path={path}\n currentLevel={currentLevel}\n index={index}\n ariaControls={listId}\n ariaExpanded={isCurrentListOpen}\n ariaLevel={nextLevel}\n ariaLabel={item.label}\n />\n }\n >\n <Ul role=\"group\" id={listId} isInnerUl listWidth={listWidth}>\n {item.items?.map((innerItem: ItemOptionTransformed, innerIndex: number) => (\n <Inner\n key={`${innerIndex}/${currentLevel}`}\n item={innerItem}\n currentLevel={nextLevel}\n path={path}\n dispatchPath={dispatchPath}\n index={innerIndex}\n listWidth={listWidth}\n />\n ))}\n </Ul>\n </FloatingPopover>\n );\n }\n\n return <Item item={item} path={path} index={index} currentLevel={currentLevel} ariaLevel={nextLevel} />;\n};\n"],"names":["Inner","_ref","item","currentLevel","path","dispatchPath","index","listWidth","handleToggle","opened","type","value","toString","level","isCurrentListOpen","treeId","safeUseId","listId","concat","nextLevel","isEmpty","items","_item$items","React","createElement","FloatingPopover","placement","onToggle","offset","target","Item","ariaControls","ariaExpanded","ariaLevel","ariaLabel","label","Ul","role","id","isInnerUl","map","innerItem","innerIndex","key"],"mappings":"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"}
@@ -1,14 +1,15 @@
1
1
  import React, { useRef, useContext } from 'react';
2
+ import { sizeToIconSize } from '../../../../utils/sizeToIconSize.js';
3
+ import { getItemId } from '../../../../utils/getItemId.js';
2
4
  import { classes } from '../../../../Combobox.tokens.js';
3
5
  import { cx } from '../../../../../../../utils/index.js';
6
+ import '@linaria/react';
7
+ import { IconDone } from '../../../../../../_Icon/Icons/IconDone.js';
8
+ import { IconDisclosureRightCentered } from '../../../../../../_Icon/Icons/IconDisclosureRightCentered.js';
4
9
  import { Context } from '../../../../Combobox.js';
5
- import { Wrapper, IconWrapper, StyledCheckboxWrapper, StyledCheckbox, StyledIndicator, StyledText, StyledWrapper, StyledCell, DisclosureIconWrapper } from './Item.styles.js';
6
10
  import { useDidMountEffect } from '../../../../../../../hooks/useDidMountEffect.js';
7
- import { getItemId } from '../../../../utils/getItemId.js';
8
- import { IconDone } from '../../../../../../_Icon/Icons/IconDone.js';
9
- import { sizeToIconSize } from '../../../../utils/sizeToIconSize.js';
11
+ import { Wrapper, IconWrapper, StyledCheckboxWrapper, StyledCheckbox, StyledIndicator, StyledText, StyledWrapper, StyledCell, DisclosureIconWrapper } from './Item.styles.js';
10
12
  import { isEmpty } from '../../../../../../../utils/isEmpty.js';
11
- import { IconDisclosureRightCentered } from '../../../../../../_Icon/Icons/IconDisclosureRightCentered.js';
12
13
 
13
14
  var _StyledIndicator;
14
15
  var Item = function Item(_ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"Item.js","sources":["../../../../../../../../src/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.tsx"],"sourcesContent":["import React, { useRef, FC, useContext } from 'react';\n\nimport { sizeToIconSize, getItemId } from '../../../../utils';\nimport { classes } from '../../../../Combobox.tokens';\nimport { cx, isEmpty } from '../../../../../../../utils';\nimport { IconDisclosureRightCentered, IconDone } from '../../../../../../_Icon';\nimport { Context } from '../../../../Combobox';\nimport { useDidMountEffect } from '../../../../../../../hooks';\n\nimport { ItemProps } from './Item.types';\nimport {\n StyledWrapper,\n StyledText,\n Wrapper,\n DisclosureIconWrapper,\n StyledCheckbox,\n IconWrapper,\n StyledIndicator,\n StyledCheckboxWrapper,\n StyledCell,\n} from './Item.styles';\n\nexport const Item: FC<ItemProps> = ({\n item,\n path,\n currentLevel,\n index,\n ariaControls,\n ariaExpanded,\n ariaLevel,\n ariaLabel,\n}) => {\n const { value, label, disabled, contentLeft, contentRight } = item;\n\n const ref = useRef<HTMLLIElement | null>(null);\n\n const {\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n valueToItemMap,\n treeId,\n } = useContext(Context);\n\n const disabledClassName = disabled ? classes.dropdownItemIsDisabled : undefined;\n\n const focusedClass =\n currentLevel === focusedPath.length - 1 && index === focusedPath?.[currentLevel]\n ? classes.dropdownItemIsFocused\n : undefined;\n const activeClass = value === path?.[currentLevel + 1] ? classes.dropdownItemIsActive : undefined;\n\n useDidMountEffect(() => {\n if (focusedClass && ref?.current) {\n ref.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n }\n }, [focusedClass]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (disabled) return;\n\n e.stopPropagation();\n\n handleCheckboxChange(item);\n };\n\n const handleClick = (e: React.MouseEvent<HTMLElement>) => {\n if (disabled) {\n e.stopPropagation();\n return;\n }\n\n handleItemClick(item, e);\n };\n\n return (\n <Wrapper\n className={cx(disabledClassName, focusedClass, activeClass)}\n id={getItemId(treeId, value)}\n ref={ref}\n onClick={handleClick}\n variant={variant}\n role=\"treeitem\"\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-level={ariaLevel}\n aria-label={ariaLabel}\n aria-selected={Boolean(checked.get(item.value))}\n >\n <IconWrapper variant={variant}>\n {multiple && (\n <StyledCheckboxWrapper onClick={(e) => e.stopPropagation()}>\n <StyledCheckbox\n checked={Boolean(checked.get(item.value))}\n indeterminate={checked.get(item.value) === 'indeterminate'}\n onChange={handleChange}\n className={classes.selectItemCheckbox}\n />\n </StyledCheckboxWrapper>\n )}\n\n {!multiple && checked.get(item.value) === 'dot' && <StyledIndicator size=\"s\" view=\"default\" />}\n\n {!multiple && checked.get(item.value) === 'done' && (\n <IconDone size={sizeToIconSize(size, variant)} color=\"inherit\" />\n )}\n </IconWrapper>\n\n {renderItem ? (\n <StyledText>{renderItem(valueToItemMap.get(value)!)}</StyledText>\n ) : (\n <StyledWrapper>\n <StyledCell\n view=\"default\"\n size=\"l\"\n contentLeft={contentLeft}\n contentRight={contentRight}\n alignContentLeft=\"center\"\n alignContentRight=\"center\"\n title={label}\n />\n </StyledWrapper>\n )}\n\n {!isEmpty(item.items) && (\n <DisclosureIconWrapper>\n <IconDisclosureRightCentered size={sizeToIconSize(size, variant)} color=\"inherit\" />\n </DisclosureIconWrapper>\n )}\n </Wrapper>\n );\n};\n"],"names":["Item","_ref","item","path","currentLevel","index","ariaControls","ariaExpanded","ariaLevel","ariaLabel","value","label","disabled","contentLeft","contentRight","ref","useRef","_useContext","useContext","Context","focusedPath","checked","multiple","size","handleCheckboxChange","handleItemClick","variant","renderItem","valueToItemMap","treeId","disabledClassName","classes","dropdownItemIsDisabled","undefined","focusedClass","length","dropdownItemIsFocused","activeClass","dropdownItemIsActive","useDidMountEffect","current","scrollIntoView","behavior","block","inline","handleChange","e","stopPropagation","handleClick","React","createElement","Wrapper","className","cx","id","getItemId","onClick","role","Boolean","get","IconWrapper","StyledCheckboxWrapper","StyledCheckbox","indeterminate","onChange","selectItemCheckbox","_StyledIndicator","StyledIndicator","view","IconDone","sizeToIconSize","color","StyledText","StyledWrapper","StyledCell","alignContentLeft","alignContentRight","title","isEmpty","items","DisclosureIconWrapper","IconDisclosureRightCentered"],"mappings":"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"}
1
+ {"version":3,"file":"Item.js","sources":["../../../../../../../../src/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.tsx"],"sourcesContent":["import React, { useRef, FC, useContext } from 'react';\n\nimport { sizeToIconSize, getItemId } from '../../../../utils';\nimport { classes } from '../../../../Combobox.tokens';\nimport { cx, isEmpty } from '../../../../../../../utils';\nimport { IconDisclosureRightCentered, IconDone } from '../../../../../../_Icon';\nimport { Context } from '../../../../Combobox';\nimport { useDidMountEffect } from '../../../../../../../hooks';\n\nimport { ItemProps } from './Item.types';\nimport {\n StyledWrapper,\n StyledText,\n Wrapper,\n DisclosureIconWrapper,\n StyledCheckbox,\n IconWrapper,\n StyledIndicator,\n StyledCheckboxWrapper,\n StyledCell,\n} from './Item.styles';\n\nexport const Item: FC<ItemProps> = ({\n item,\n path,\n currentLevel,\n index,\n ariaControls,\n ariaExpanded,\n ariaLevel,\n ariaLabel,\n}) => {\n const { value, label, disabled, contentLeft, contentRight } = item;\n\n const ref = useRef<HTMLLIElement | null>(null);\n\n const {\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n valueToItemMap,\n treeId,\n } = useContext(Context);\n\n const disabledClassName = disabled ? classes.dropdownItemIsDisabled : undefined;\n\n const focusedClass =\n currentLevel === focusedPath.length - 1 && index === focusedPath?.[currentLevel]\n ? classes.dropdownItemIsFocused\n : undefined;\n const activeClass = value === path?.[currentLevel + 1] ? classes.dropdownItemIsActive : undefined;\n\n useDidMountEffect(() => {\n if (focusedClass && ref?.current) {\n ref.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n }\n }, [focusedClass]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (disabled) return;\n\n e.stopPropagation();\n\n handleCheckboxChange(item);\n };\n\n const handleClick = (e: React.MouseEvent<HTMLElement>) => {\n if (disabled) {\n e.stopPropagation();\n return;\n }\n\n handleItemClick(item, e);\n };\n\n return (\n <Wrapper\n className={cx(disabledClassName, focusedClass, activeClass)}\n id={getItemId(treeId, value)}\n ref={ref}\n onClick={handleClick}\n variant={variant}\n role=\"treeitem\"\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-level={ariaLevel}\n aria-label={ariaLabel}\n aria-selected={Boolean(checked.get(item.value))}\n >\n <IconWrapper variant={variant}>\n {multiple && (\n <StyledCheckboxWrapper onClick={(e) => e.stopPropagation()}>\n <StyledCheckbox\n checked={Boolean(checked.get(item.value))}\n indeterminate={checked.get(item.value) === 'indeterminate'}\n onChange={handleChange}\n className={classes.selectItemCheckbox}\n />\n </StyledCheckboxWrapper>\n )}\n\n {!multiple && checked.get(item.value) === 'dot' && <StyledIndicator size=\"s\" view=\"default\" />}\n\n {!multiple && checked.get(item.value) === 'done' && (\n <IconDone size={sizeToIconSize(size, variant)} color=\"inherit\" />\n )}\n </IconWrapper>\n\n {renderItem ? (\n <StyledText>{renderItem(valueToItemMap.get(value)!)}</StyledText>\n ) : (\n <StyledWrapper>\n <StyledCell\n view=\"default\"\n size=\"l\"\n contentLeft={contentLeft}\n contentRight={contentRight}\n alignContentLeft=\"center\"\n alignContentRight=\"center\"\n title={label}\n />\n </StyledWrapper>\n )}\n\n {!isEmpty(item.items) && (\n <DisclosureIconWrapper>\n <IconDisclosureRightCentered size={sizeToIconSize(size, variant)} color=\"inherit\" />\n </DisclosureIconWrapper>\n )}\n </Wrapper>\n );\n};\n"],"names":["Item","_ref","item","path","currentLevel","index","ariaControls","ariaExpanded","ariaLevel","ariaLabel","value","label","disabled","contentLeft","contentRight","ref","useRef","_useContext","useContext","Context","focusedPath","checked","multiple","size","handleCheckboxChange","handleItemClick","variant","renderItem","valueToItemMap","treeId","disabledClassName","classes","dropdownItemIsDisabled","undefined","focusedClass","length","dropdownItemIsFocused","activeClass","dropdownItemIsActive","useDidMountEffect","current","scrollIntoView","behavior","block","inline","handleChange","e","stopPropagation","handleClick","React","createElement","Wrapper","className","cx","id","getItemId","onClick","role","Boolean","get","IconWrapper","StyledCheckboxWrapper","StyledCheckbox","indeterminate","onChange","selectItemCheckbox","_StyledIndicator","StyledIndicator","view","IconDone","sizeToIconSize","color","StyledText","StyledWrapper","StyledCell","alignContentLeft","alignContentRight","title","isEmpty","items","DisclosureIconWrapper","IconDisclosureRightCentered"],"mappings":"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"}