@skbkontur/react-ui 0.0.0-dad43298ae → 0.0.0-db9f11da2a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (952) hide show
  1. package/CHANGELOG.md +280 -0
  2. package/README.md +7 -7
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +18 -26
  4. package/cjs/components/Autocomplete/Autocomplete.js +64 -46
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.d.ts +4 -1
  7. package/cjs/components/Button/Button.js +47 -17
  8. package/cjs/components/Button/Button.js.map +1 -1
  9. package/cjs/components/Button/Button.styles.d.ts +6 -0
  10. package/cjs/components/Button/Button.styles.js +109 -76
  11. package/cjs/components/Button/Button.styles.js.map +1 -1
  12. package/cjs/components/Button/ButtonArrow.js +13 -14
  13. package/cjs/components/Button/ButtonArrow.js.map +1 -1
  14. package/cjs/components/Calendar/Calendar.d.ts +2 -0
  15. package/cjs/components/Calendar/Calendar.js +1 -0
  16. package/cjs/components/Calendar/Calendar.js.map +1 -1
  17. package/cjs/components/Calendar/CalendarDay.js +18 -2
  18. package/cjs/components/Calendar/CalendarDay.js.map +1 -1
  19. package/cjs/components/Calendar/DayCellView.js +7 -15
  20. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  21. package/cjs/components/Center/Center.d.ts +2 -0
  22. package/cjs/components/Center/Center.js +1 -0
  23. package/cjs/components/Center/Center.js.map +1 -1
  24. package/cjs/components/Checkbox/Checkbox.d.ts +4 -16
  25. package/cjs/components/Checkbox/Checkbox.js +16 -32
  26. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  27. package/cjs/components/ComboBox/ComboBox.d.ts +22 -3
  28. package/cjs/components/ComboBox/ComboBox.js +26 -1
  29. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  30. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  31. package/cjs/components/CurrencyInput/CurrencyInput.js +6 -25
  32. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  33. package/cjs/components/CurrencyInput/constants.js +1 -2
  34. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  35. package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -28
  36. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  37. package/cjs/components/DateInput/DateInput.d.ts +6 -1
  38. package/cjs/components/DateInput/DateInput.js +45 -17
  39. package/cjs/components/DateInput/DateInput.js.map +1 -1
  40. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  41. package/cjs/components/DateInput/helpers/InternalDateMediator.js +10 -1
  42. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  43. package/cjs/components/DatePicker/DatePicker.d.ts +6 -33
  44. package/cjs/components/DatePicker/DatePicker.js +6 -60
  45. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  46. package/cjs/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  47. package/cjs/components/DateRangePicker/DateRangePicker.js +61 -23
  48. package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  49. package/cjs/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  50. package/cjs/components/DateRangePicker/DateRangePicker.styles.js +13 -18
  51. package/cjs/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
  52. package/cjs/components/DateRangePicker/DateRangePickerInput.js +4 -8
  53. package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  54. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js +17 -17
  55. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
  56. package/cjs/components/Dropdown/Dropdown.d.ts +2 -47
  57. package/cjs/components/Dropdown/Dropdown.js +2 -82
  58. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  59. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  60. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -0
  61. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  62. package/cjs/components/FileUploader/FileUploader.js +15 -2
  63. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  64. package/cjs/components/FxInput/FxInput.d.ts +13 -8
  65. package/cjs/components/FxInput/FxInput.js +137 -60
  66. package/cjs/components/FxInput/FxInput.js.map +1 -1
  67. package/cjs/components/FxInput/FxInputRestoreBtn.js +2 -3
  68. package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  69. package/cjs/components/Gapped/Gapped.d.ts +2 -15
  70. package/cjs/components/Gapped/Gapped.js +1 -24
  71. package/cjs/components/Gapped/Gapped.js.map +1 -1
  72. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  73. package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
  74. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  75. package/cjs/components/Group/Group.d.ts +5 -4
  76. package/cjs/components/Group/Group.js +91 -40
  77. package/cjs/components/Group/Group.js.map +1 -1
  78. package/cjs/components/Group/Group.styles.d.ts +1 -0
  79. package/cjs/components/Group/Group.styles.js +12 -6
  80. package/cjs/components/Group/Group.styles.js.map +1 -1
  81. package/cjs/components/Hint/Hint.d.ts +2 -0
  82. package/cjs/components/Hint/Hint.js +1 -0
  83. package/cjs/components/Hint/Hint.js.map +1 -1
  84. package/cjs/components/Input/Input.d.ts +6 -5
  85. package/cjs/components/Input/Input.js +17 -47
  86. package/cjs/components/Input/Input.js.map +1 -1
  87. package/cjs/components/Input/Input.styles.d.ts +0 -1
  88. package/cjs/components/Input/Input.styles.js +8 -19
  89. package/cjs/components/Input/Input.styles.js.map +1 -1
  90. package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -0
  91. package/cjs/components/Input/InputLayout/InputLayout.js +4 -2
  92. package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
  93. package/cjs/components/Kebab/Kebab.d.ts +4 -2
  94. package/cjs/components/Kebab/Kebab.js +9 -29
  95. package/cjs/components/Kebab/Kebab.js.map +1 -1
  96. package/cjs/components/Link/Link.d.ts +2 -0
  97. package/cjs/components/Link/Link.js +15 -1
  98. package/cjs/components/Link/Link.js.map +1 -1
  99. package/cjs/components/Link/Link.mixins.js +1 -2
  100. package/cjs/components/Link/Link.mixins.js.map +1 -1
  101. package/cjs/components/Link/Link.styles.js +3 -2
  102. package/cjs/components/Link/Link.styles.js.map +1 -1
  103. package/cjs/components/Loader/Loader.d.ts +7 -36
  104. package/cjs/components/Loader/Loader.js +6 -56
  105. package/cjs/components/Loader/Loader.js.map +1 -1
  106. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
  107. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +107 -78
  108. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  109. package/cjs/components/MaskedInput/FixedIMaskInput.js +3 -2
  110. package/cjs/components/MaskedInput/FixedIMaskInput.js.map +1 -1
  111. package/cjs/components/MaskedInput/MaskedInput.d.ts +9 -0
  112. package/cjs/components/MaskedInput/MaskedInput.js +43 -4
  113. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  114. package/cjs/components/MenuItem/MenuItem.d.ts +2 -12
  115. package/cjs/components/MenuItem/MenuItem.js +2 -22
  116. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  117. package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
  118. package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
  119. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
  120. package/cjs/components/MiniModal/MiniModalBody.js +17 -2
  121. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
  122. package/cjs/components/Modal/Modal.styles.d.ts +2 -1
  123. package/cjs/components/Modal/Modal.styles.js +40 -32
  124. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  125. package/cjs/components/Modal/ModalBody.d.ts +2 -0
  126. package/cjs/components/Modal/ModalBody.js +1 -0
  127. package/cjs/components/Modal/ModalBody.js.map +1 -1
  128. package/cjs/components/Modal/ModalHeader.d.ts +5 -0
  129. package/cjs/components/Modal/ModalHeader.js +8 -1
  130. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  131. package/cjs/components/Modal/ModalSeparator.js +1 -1
  132. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  133. package/cjs/components/Paging/DotsIcon.d.ts +3 -0
  134. package/cjs/components/Paging/DotsIcon.js +13 -0
  135. package/cjs/components/Paging/DotsIcon.js.map +1 -0
  136. package/cjs/components/Paging/ForwardIcon.d.ts +3 -0
  137. package/cjs/components/Paging/ForwardIcon.js +13 -1
  138. package/cjs/components/Paging/ForwardIcon.js.map +1 -1
  139. package/cjs/components/Paging/NavigationHelper.d.ts +3 -2
  140. package/cjs/components/Paging/NavigationHelper.js +8 -6
  141. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  142. package/cjs/components/Paging/Paging.d.ts +13 -2
  143. package/cjs/components/Paging/Paging.js +120 -50
  144. package/cjs/components/Paging/Paging.js.map +1 -1
  145. package/cjs/components/Paging/Paging.styles.d.ts +24 -1
  146. package/cjs/components/Paging/Paging.styles.js +151 -22
  147. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  148. package/cjs/components/Paging/PagingHelper.d.ts +1 -1
  149. package/cjs/components/Paging/PagingHelper.js +18 -11
  150. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  151. package/cjs/components/PasswordInput/PasswordInput.d.ts +5 -12
  152. package/cjs/components/PasswordInput/PasswordInput.js +21 -32
  153. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  154. package/cjs/components/Radio/Radio.d.ts +4 -1
  155. package/cjs/components/Radio/Radio.js +7 -4
  156. package/cjs/components/Radio/Radio.js.map +1 -1
  157. package/cjs/components/RadioGroup/RadioGroup.d.ts +3 -0
  158. package/cjs/components/RadioGroup/RadioGroup.js +19 -1
  159. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  160. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
  161. package/cjs/components/RadioGroup/RadioGroup.styles.js +10 -4
  162. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  163. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  164. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -11
  165. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  166. package/cjs/components/Select/Select.d.ts +7 -1
  167. package/cjs/components/Select/Select.js +13 -6
  168. package/cjs/components/Select/Select.js.map +1 -1
  169. package/cjs/components/SidePage/SidePage.js +4 -2
  170. package/cjs/components/SidePage/SidePage.js.map +1 -1
  171. package/cjs/components/SidePage/SidePage.styles.d.ts +3 -1
  172. package/cjs/components/SidePage/SidePage.styles.js +52 -38
  173. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  174. package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
  175. package/cjs/components/SidePage/SidePageBody.js +1 -0
  176. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  177. package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
  178. package/cjs/components/SidePage/SidePageContainer.js +1 -0
  179. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  180. package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
  181. package/cjs/components/SidePage/SidePageFooter.js +1 -0
  182. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  183. package/cjs/components/SidePage/SidePageHeader.d.ts +12 -2
  184. package/cjs/components/SidePage/SidePageHeader.js +63 -19
  185. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  186. package/cjs/components/SingleToast/SingleToast.d.ts +33 -3
  187. package/cjs/components/SingleToast/SingleToast.js +58 -3
  188. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  189. package/cjs/components/Spinner/Spinner.d.ts +2 -18
  190. package/cjs/components/Spinner/Spinner.js +2 -32
  191. package/cjs/components/Spinner/Spinner.js.map +1 -1
  192. package/cjs/components/Sticky/Sticky.d.ts +5 -13
  193. package/cjs/components/Sticky/Sticky.js +12 -18
  194. package/cjs/components/Sticky/Sticky.js.map +1 -1
  195. package/cjs/components/Switcher/Switcher.d.ts +6 -21
  196. package/cjs/components/Switcher/Switcher.js +11 -20
  197. package/cjs/components/Switcher/Switcher.js.map +1 -1
  198. package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
  199. package/cjs/components/Switcher/Switcher.styles.js +17 -9
  200. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  201. package/cjs/components/Tabs/Indicator.d.ts +2 -0
  202. package/cjs/components/Tabs/Indicator.js +1 -0
  203. package/cjs/components/Tabs/Indicator.js.map +1 -1
  204. package/cjs/components/Tabs/Tab.d.ts +2 -0
  205. package/cjs/components/Tabs/Tab.js +1 -0
  206. package/cjs/components/Tabs/Tab.js.map +1 -1
  207. package/cjs/components/Tabs/Tabs.d.ts +2 -0
  208. package/cjs/components/Tabs/Tabs.js +1 -0
  209. package/cjs/components/Tabs/Tabs.js.map +1 -1
  210. package/cjs/components/Textarea/Textarea.d.ts +10 -46
  211. package/cjs/components/Textarea/Textarea.js +23 -60
  212. package/cjs/components/Textarea/Textarea.js.map +1 -1
  213. package/cjs/components/Textarea/Textarea.styles.js +3 -2
  214. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  215. package/cjs/components/Textarea/TextareaCounter.js +2 -13
  216. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  217. package/cjs/components/Toast/Toast.d.ts +62 -13
  218. package/cjs/components/Toast/Toast.js +119 -12
  219. package/cjs/components/Toast/Toast.js.map +1 -1
  220. package/cjs/components/Toast/ToastStatic.d.ts +3 -2
  221. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  222. package/cjs/components/Toast/ToastView.d.ts +8 -16
  223. package/cjs/components/Toast/ToastView.js +19 -22
  224. package/cjs/components/Toast/ToastView.js.map +1 -1
  225. package/cjs/components/Toast/ToastView.styles.d.ts +4 -0
  226. package/cjs/components/Toast/ToastView.styles.js +43 -9
  227. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  228. package/cjs/components/Toggle/Toggle.d.ts +4 -11
  229. package/cjs/components/Toggle/Toggle.js +4 -14
  230. package/cjs/components/Toggle/Toggle.js.map +1 -1
  231. package/cjs/components/Token/Token.d.ts +2 -0
  232. package/cjs/components/Token/Token.js +1 -0
  233. package/cjs/components/Token/Token.js.map +1 -1
  234. package/cjs/components/TokenInput/TokenInput.d.ts +8 -3
  235. package/cjs/components/TokenInput/TokenInput.js +44 -30
  236. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  237. package/cjs/components/TokenInput/TokenInputMenu.d.ts +12 -3
  238. package/cjs/components/TokenInput/TokenInputMenu.js +23 -1
  239. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  240. package/cjs/components/Tooltip/Tooltip.d.ts +14 -8
  241. package/cjs/components/Tooltip/Tooltip.js +102 -17
  242. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  243. package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
  244. package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
  245. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  246. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  247. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -0
  248. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  249. package/cjs/index.d.ts +2 -0
  250. package/cjs/index.js +1 -0
  251. package/cjs/index.js.map +1 -1
  252. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  253. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js +16 -7
  254. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  255. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  256. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +27 -9
  257. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  258. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  259. package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
  260. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  261. package/cjs/internal/ComponentTable.js +2 -3
  262. package/cjs/internal/ComponentTable.js.map +1 -1
  263. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +12 -4
  264. package/cjs/internal/CustomComboBox/ComboBoxView.js +50 -7
  265. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  266. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +11 -4
  267. package/cjs/internal/CustomComboBox/CustomComboBox.js +20 -5
  268. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  269. package/cjs/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
  270. package/cjs/internal/CustomComboBox/getComboBoxTheme.js +10 -7
  271. package/cjs/internal/CustomComboBox/getComboBoxTheme.js.map +1 -1
  272. package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
  273. package/cjs/internal/DateSelect/DateSelect.js +13 -19
  274. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  275. package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
  276. package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
  277. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  278. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
  279. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  280. package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -3
  281. package/cjs/internal/InputLikeText/InputLikeText.js +13 -14
  282. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  283. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  284. package/cjs/internal/InputLikeText/InputLikeText.styles.js +12 -4
  285. package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  286. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
  287. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +235 -0
  288. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  289. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  290. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +10 -0
  291. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -0
  292. package/cjs/internal/Menu/Menu.d.ts +2 -0
  293. package/cjs/internal/Menu/Menu.js +1 -0
  294. package/cjs/internal/Menu/Menu.js.map +1 -1
  295. package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -0
  296. package/cjs/internal/MobilePopup/MobilePopup.js +1 -0
  297. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  298. package/cjs/internal/Popup/Popup.d.ts +43 -60
  299. package/cjs/internal/Popup/Popup.js +41 -81
  300. package/cjs/internal/Popup/Popup.js.map +1 -1
  301. package/cjs/internal/Popup/PopupPin.d.ts +23 -33
  302. package/cjs/internal/Popup/PopupPin.js +2 -35
  303. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  304. package/cjs/internal/Popup/PopupPinNew.d.ts +31 -0
  305. package/cjs/internal/Popup/PopupPinNew.js +180 -0
  306. package/cjs/internal/Popup/PopupPinNew.js.map +1 -0
  307. package/cjs/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  308. package/cjs/internal/Popup/PopupPinNew.styles.js +33 -0
  309. package/cjs/internal/Popup/PopupPinNew.styles.js.map +1 -0
  310. package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
  311. package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
  312. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  313. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  314. package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
  315. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  316. package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -3
  317. package/cjs/internal/RenderLayer/RenderLayer.js +3 -12
  318. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  319. package/cjs/internal/ThemePlayground/Playground.js +20 -16
  320. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  321. package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
  322. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  323. package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
  324. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  325. package/cjs/internal/ThemePlayground/SizesGroup.js +4 -4
  326. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  327. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +1 -1
  328. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  329. package/cjs/internal/ThemePlayground/VariableValue.js +4 -4
  330. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  331. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  332. package/cjs/internal/ZIndex/ZIndex.d.ts +3 -3
  333. package/cjs/internal/ZIndex/ZIndex.js +5 -1
  334. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  335. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  336. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
  337. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
  338. package/cjs/internal/themes/BasicTheme.d.ts +125 -20
  339. package/cjs/internal/themes/BasicTheme.js +172 -25
  340. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  341. package/cjs/internal/themes/DarkTheme5_2.js +1 -1
  342. package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
  343. package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
  344. package/cjs/internal/themes/DarkTheme5_3.js +13 -0
  345. package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
  346. package/cjs/internal/themes/DarkTheme5_4.d.ts +1 -0
  347. package/cjs/internal/themes/DarkTheme5_4.js +18 -0
  348. package/cjs/internal/themes/DarkTheme5_4.js.map +1 -0
  349. package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
  350. package/cjs/internal/themes/LightTheme5_3.js +13 -0
  351. package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
  352. package/cjs/internal/themes/LightTheme5_4.d.ts +1 -0
  353. package/cjs/internal/themes/LightTheme5_4.js +18 -0
  354. package/cjs/internal/themes/LightTheme5_4.js.map +1 -0
  355. package/cjs/internal/themes/consts.d.ts +8 -0
  356. package/cjs/internal/themes/consts.js +8 -0
  357. package/cjs/internal/themes/consts.js.map +1 -0
  358. package/cjs/lib/__stories__/Blink.creevey.mts +90 -0
  359. package/cjs/lib/blink.d.ts +15 -0
  360. package/cjs/lib/blink.js +65 -0
  361. package/cjs/lib/blink.js.map +1 -0
  362. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  363. package/cjs/lib/date/InternalDateGetter.js +8 -1
  364. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  365. package/cjs/lib/delay.mts +3 -0
  366. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +11 -0
  367. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +11 -0
  368. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +23 -1
  369. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  370. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  371. package/cjs/lib/forwardRefAndName.js +0 -1
  372. package/cjs/lib/forwardRefAndName.js.map +1 -1
  373. package/cjs/lib/getMenuPositions.d.ts +21 -1
  374. package/cjs/lib/getMenuPositions.js +45 -8
  375. package/cjs/lib/getMenuPositions.js.map +1 -1
  376. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  377. package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
  378. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  379. package/cjs/lib/size/SizeControlContext.d.ts +6 -0
  380. package/cjs/lib/size/SizeControlContext.js +16 -0
  381. package/cjs/lib/size/SizeControlContext.js.map +1 -0
  382. package/cjs/lib/size/SizeDecorator.d.ts +33 -0
  383. package/cjs/lib/size/SizeDecorator.js +41 -0
  384. package/cjs/lib/size/SizeDecorator.js.map +1 -0
  385. package/cjs/lib/size/constants.d.ts +2 -0
  386. package/cjs/lib/size/constants.js +3 -0
  387. package/cjs/lib/size/constants.js.map +1 -0
  388. package/cjs/lib/size/index.d.ts +1 -0
  389. package/cjs/lib/size/index.js +1 -0
  390. package/cjs/lib/size/index.js.map +1 -0
  391. package/cjs/lib/size/useSizeControl.d.ts +2 -0
  392. package/cjs/lib/size/useSizeControl.js +10 -0
  393. package/cjs/lib/size/useSizeControl.js.map +1 -0
  394. package/cjs/lib/theming/ThemeHelpers.d.ts +1 -1
  395. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  396. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  397. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  398. package/cjs/lib/theming/themes/DarkTheme.d.ts +2 -0
  399. package/cjs/lib/theming/themes/DarkTheme.js +6 -2
  400. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  401. package/cjs/lib/theming/themes/LightTheme.d.ts +2 -0
  402. package/cjs/lib/theming/themes/LightTheme.js +6 -2
  403. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  404. package/cjs/lib/utils.d.ts +18 -1
  405. package/cjs/lib/utils.js +40 -4
  406. package/cjs/lib/utils.js.map +1 -1
  407. package/cjs/test-setup.d.ts +1 -0
  408. package/cjs/vitest.config.d.ts +2 -0
  409. package/components/Autocomplete/Autocomplete/Autocomplete.js +63 -51
  410. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  411. package/components/Autocomplete/Autocomplete.d.ts +18 -26
  412. package/components/Button/Button/Button.js +45 -24
  413. package/components/Button/Button/Button.js.map +1 -1
  414. package/components/Button/Button.d.ts +4 -1
  415. package/components/Button/Button.styles/Button.styles.js +79 -61
  416. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  417. package/components/Button/Button.styles.d.ts +6 -0
  418. package/components/Button/ButtonArrow/ButtonArrow.js +1 -3
  419. package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
  420. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  421. package/components/Calendar/Calendar.d.ts +2 -0
  422. package/components/Calendar/CalendarDay/CalendarDay.js +9 -2
  423. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
  424. package/components/Calendar/DayCellView/DayCellView.js +6 -10
  425. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  426. package/components/Center/Center/Center.js.map +1 -1
  427. package/components/Center/Center.d.ts +2 -0
  428. package/components/Checkbox/Checkbox/Checkbox.js +12 -24
  429. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  430. package/components/Checkbox/Checkbox.d.ts +4 -16
  431. package/components/ComboBox/ComboBox/ComboBox.js +2 -1
  432. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  433. package/components/ComboBox/ComboBox.d.ts +22 -3
  434. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +13 -36
  435. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  436. package/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  437. package/components/CurrencyInput/constants/constants.js +0 -1
  438. package/components/CurrencyInput/constants/constants.js.map +1 -1
  439. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
  440. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  441. package/components/DateInput/DateInput/DateInput.js +34 -24
  442. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  443. package/components/DateInput/DateInput.d.ts +6 -1
  444. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
  445. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  446. package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  447. package/components/DatePicker/DatePicker/DatePicker.js +1 -32
  448. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  449. package/components/DatePicker/DatePicker.d.ts +6 -33
  450. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +41 -22
  451. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
  452. package/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  453. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js +12 -15
  454. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js.map +1 -1
  455. package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  456. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +5 -8
  457. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
  458. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js +16 -15
  459. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js.map +1 -1
  460. package/components/Dropdown/Dropdown/Dropdown.js +1 -47
  461. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  462. package/components/Dropdown/Dropdown.d.ts +2 -47
  463. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  464. package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  465. package/components/FileUploader/FileUploader/FileUploader.js +8 -2
  466. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  467. package/components/FxInput/FxInput/FxInput.js +122 -70
  468. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  469. package/components/FxInput/FxInput.d.ts +13 -8
  470. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js +2 -2
  471. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
  472. package/components/Gapped/Gapped/Gapped.js +1 -15
  473. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  474. package/components/Gapped/Gapped.d.ts +2 -15
  475. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  476. package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  477. package/components/Group/Group/Group.js +64 -28
  478. package/components/Group/Group/Group.js.map +1 -1
  479. package/components/Group/Group.d.ts +5 -4
  480. package/components/Group/Group.styles/Group.styles.js +9 -6
  481. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  482. package/components/Group/Group.styles.d.ts +1 -0
  483. package/components/Hint/Hint/Hint.js.map +1 -1
  484. package/components/Hint/Hint.d.ts +2 -0
  485. package/components/Input/Input/Input.js +23 -52
  486. package/components/Input/Input/Input.js.map +1 -1
  487. package/components/Input/Input.d.ts +6 -5
  488. package/components/Input/Input.styles/Input.styles.js +9 -13
  489. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  490. package/components/Input/Input.styles.d.ts +0 -1
  491. package/components/Input/InputLayout/InputLayout/InputLayout.js +5 -2
  492. package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
  493. package/components/Input/InputLayout/InputLayout.d.ts +1 -0
  494. package/components/Kebab/Kebab/Kebab.js +8 -26
  495. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  496. package/components/Kebab/Kebab.d.ts +4 -2
  497. package/components/Link/Link/Link.js +8 -1
  498. package/components/Link/Link/Link.js.map +1 -1
  499. package/components/Link/Link.d.ts +2 -0
  500. package/components/Link/Link.mixins/Link.mixins.js +1 -1
  501. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  502. package/components/Link/Link.styles/Link.styles.js +1 -1
  503. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  504. package/components/Loader/Loader/Loader.js +2 -34
  505. package/components/Loader/Loader/Loader.js.map +1 -1
  506. package/components/Loader/Loader.d.ts +7 -36
  507. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js +81 -66
  508. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js.map +1 -1
  509. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
  510. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js +3 -2
  511. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js.map +1 -1
  512. package/components/MaskedInput/MaskedInput/MaskedInput.js +28 -2
  513. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  514. package/components/MaskedInput/MaskedInput.d.ts +9 -0
  515. package/components/MenuItem/MenuItem/MenuItem.js +1 -12
  516. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  517. package/components/MenuItem/MenuItem.d.ts +2 -12
  518. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
  519. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
  520. package/components/MiniModal/MiniModal.styles.d.ts +1 -0
  521. package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
  522. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
  523. package/components/Modal/Modal.styles/Modal.styles.js +32 -29
  524. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  525. package/components/Modal/Modal.styles.d.ts +2 -1
  526. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  527. package/components/Modal/ModalBody.d.ts +2 -0
  528. package/components/Modal/ModalHeader/ModalHeader.js +3 -1
  529. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  530. package/components/Modal/ModalHeader.d.ts +5 -0
  531. package/components/Modal/ModalSeparator/ModalSeparator.js +1 -1
  532. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  533. package/components/Paging/DotsIcon/DotsIcon.js +14 -0
  534. package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
  535. package/components/Paging/DotsIcon/package.json +6 -0
  536. package/components/Paging/DotsIcon.d.ts +3 -0
  537. package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
  538. package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
  539. package/components/Paging/ForwardIcon.d.ts +3 -0
  540. package/components/Paging/NavigationHelper/NavigationHelper.js +9 -8
  541. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  542. package/components/Paging/NavigationHelper.d.ts +3 -2
  543. package/components/Paging/Paging/Paging.js +96 -47
  544. package/components/Paging/Paging/Paging.js.map +1 -1
  545. package/components/Paging/Paging.d.ts +13 -2
  546. package/components/Paging/Paging.styles/Paging.styles.js +77 -16
  547. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  548. package/components/Paging/Paging.styles.d.ts +24 -1
  549. package/components/Paging/PagingHelper/PagingHelper.js +16 -8
  550. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  551. package/components/Paging/PagingHelper.d.ts +1 -1
  552. package/components/PasswordInput/PasswordInput/PasswordInput.js +13 -25
  553. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  554. package/components/PasswordInput/PasswordInput.d.ts +5 -12
  555. package/components/Radio/Radio/Radio.js +7 -7
  556. package/components/Radio/Radio/Radio.js.map +1 -1
  557. package/components/Radio/Radio.d.ts +4 -1
  558. package/components/RadioGroup/RadioGroup/RadioGroup.js +23 -17
  559. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  560. package/components/RadioGroup/RadioGroup.d.ts +3 -0
  561. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +7 -4
  562. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  563. package/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
  564. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
  565. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  566. package/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  567. package/components/Select/Select/Select.js +17 -15
  568. package/components/Select/Select/Select.js.map +1 -1
  569. package/components/Select/Select.d.ts +7 -1
  570. package/components/SidePage/SidePage/SidePage.js +3 -3
  571. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  572. package/components/SidePage/SidePage.styles/SidePage.styles.js +41 -35
  573. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  574. package/components/SidePage/SidePage.styles.d.ts +3 -1
  575. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  576. package/components/SidePage/SidePageBody.d.ts +2 -0
  577. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  578. package/components/SidePage/SidePageContainer.d.ts +2 -0
  579. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  580. package/components/SidePage/SidePageFooter.d.ts +2 -0
  581. package/components/SidePage/SidePageHeader/SidePageHeader.js +62 -35
  582. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  583. package/components/SidePage/SidePageHeader.d.ts +12 -2
  584. package/components/SingleToast/SingleToast/SingleToast.js +37 -12
  585. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  586. package/components/SingleToast/SingleToast.d.ts +33 -3
  587. package/components/Spinner/Spinner/Spinner.js +1 -18
  588. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  589. package/components/Spinner/Spinner.d.ts +2 -18
  590. package/components/Sticky/Sticky/Sticky.js +10 -14
  591. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  592. package/components/Sticky/Sticky.d.ts +5 -13
  593. package/components/Switcher/Switcher/Switcher.js +19 -16
  594. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  595. package/components/Switcher/Switcher.d.ts +6 -21
  596. package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
  597. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  598. package/components/Switcher/Switcher.styles.d.ts +1 -0
  599. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  600. package/components/Tabs/Indicator.d.ts +2 -0
  601. package/components/Tabs/Tab/Tab.js.map +1 -1
  602. package/components/Tabs/Tab.d.ts +2 -0
  603. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  604. package/components/Tabs/Tabs.d.ts +2 -0
  605. package/components/Textarea/Textarea/Textarea.js +19 -52
  606. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  607. package/components/Textarea/Textarea.d.ts +10 -46
  608. package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
  609. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  610. package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
  611. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  612. package/components/Toast/Toast/Toast.js +93 -32
  613. package/components/Toast/Toast/Toast.js.map +1 -1
  614. package/components/Toast/Toast.d.ts +62 -13
  615. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  616. package/components/Toast/ToastStatic.d.ts +3 -2
  617. package/components/Toast/ToastView/ToastView.js +20 -22
  618. package/components/Toast/ToastView/ToastView.js.map +1 -1
  619. package/components/Toast/ToastView.d.ts +8 -16
  620. package/components/Toast/ToastView.styles/ToastView.styles.js +17 -5
  621. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  622. package/components/Toast/ToastView.styles.d.ts +4 -0
  623. package/components/Toggle/Toggle/Toggle.js +11 -20
  624. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  625. package/components/Toggle/Toggle.d.ts +4 -11
  626. package/components/Token/Token/Token.js.map +1 -1
  627. package/components/Token/Token.d.ts +2 -0
  628. package/components/TokenInput/TokenInput/TokenInput.js +49 -43
  629. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  630. package/components/TokenInput/TokenInput.d.ts +8 -3
  631. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +16 -6
  632. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  633. package/components/TokenInput/TokenInputMenu.d.ts +12 -3
  634. package/components/Tooltip/Tooltip/Tooltip.js +77 -26
  635. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  636. package/components/Tooltip/Tooltip.d.ts +14 -8
  637. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
  638. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  639. package/components/Tooltip/Tooltip.styles.d.ts +7 -1
  640. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  641. package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  642. package/index.d.ts +2 -0
  643. package/index.js +2 -0
  644. package/index.js.map +1 -1
  645. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js +21 -7
  646. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  647. package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  648. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +14 -5
  649. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -1
  650. package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  651. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  652. package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  653. package/internal/ComponentTable/ComponentTable.js +0 -2
  654. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  655. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +72 -41
  656. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  657. package/internal/CustomComboBox/ComboBoxView.d.ts +12 -4
  658. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +13 -7
  659. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  660. package/internal/CustomComboBox/CustomComboBox.d.ts +11 -4
  661. package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js +5 -3
  662. package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js.map +1 -1
  663. package/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
  664. package/internal/DateSelect/DateSelect/DateSelect.js +4 -11
  665. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  666. package/internal/DateSelect/DateSelect.d.ts +0 -10
  667. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  668. package/internal/FocusTrap/FocusTrap.d.ts +2 -0
  669. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  670. package/internal/InputLikeText/InputLikeText/InputLikeText.js +17 -28
  671. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  672. package/internal/InputLikeText/InputLikeText.d.ts +4 -3
  673. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +7 -4
  674. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
  675. package/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  676. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js +249 -0
  677. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  678. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/package.json +6 -0
  679. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
  680. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js +8 -0
  681. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js.map +1 -0
  682. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/package.json +6 -0
  683. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  684. package/internal/Menu/Menu/Menu.js.map +1 -1
  685. package/internal/Menu/Menu.d.ts +2 -0
  686. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  687. package/internal/MobilePopup/MobilePopup.d.ts +2 -0
  688. package/internal/Popup/Popup/Popup.js +23 -69
  689. package/internal/Popup/Popup/Popup.js.map +1 -1
  690. package/internal/Popup/Popup.d.ts +43 -60
  691. package/internal/Popup/PopupPin/PopupPin.js +1 -34
  692. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  693. package/internal/Popup/PopupPin.d.ts +23 -33
  694. package/internal/Popup/PopupPinNew/PopupPinNew.js +146 -0
  695. package/internal/Popup/PopupPinNew/PopupPinNew.js.map +1 -0
  696. package/internal/Popup/PopupPinNew/package.json +6 -0
  697. package/internal/Popup/PopupPinNew.d.ts +31 -0
  698. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js +20 -0
  699. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js.map +1 -0
  700. package/internal/Popup/PopupPinNew.styles/package.json +6 -0
  701. package/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  702. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  703. package/internal/PopupMenu/PopupMenu.d.ts +2 -0
  704. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
  705. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  706. package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  707. package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
  708. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  709. package/internal/RenderLayer/RenderLayer.d.ts +2 -3
  710. package/internal/ThemePlayground/Playground/Playground.js +21 -18
  711. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  712. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
  713. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  714. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
  715. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  716. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +4 -4
  717. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  718. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +2 -2
  719. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  720. package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -4
  721. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  722. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  723. package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
  724. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  725. package/internal/ZIndex/ZIndex.d.ts +3 -3
  726. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
  727. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
  728. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
  729. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  730. package/internal/themes/BasicTheme/BasicTheme.js +185 -30
  731. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  732. package/internal/themes/BasicTheme.d.ts +125 -20
  733. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
  734. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
  735. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
  736. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
  737. package/internal/themes/DarkTheme5_3/package.json +6 -0
  738. package/internal/themes/DarkTheme5_3.d.ts +1 -0
  739. package/internal/themes/DarkTheme5_4/DarkTheme5_4.js +17 -0
  740. package/internal/themes/DarkTheme5_4/DarkTheme5_4.js.map +1 -0
  741. package/internal/themes/DarkTheme5_4/package.json +6 -0
  742. package/internal/themes/DarkTheme5_4.d.ts +1 -0
  743. package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
  744. package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
  745. package/internal/themes/LightTheme5_3/package.json +6 -0
  746. package/internal/themes/LightTheme5_3.d.ts +1 -0
  747. package/internal/themes/LightTheme5_4/LightTheme5_4.js +17 -0
  748. package/internal/themes/LightTheme5_4/LightTheme5_4.js.map +1 -0
  749. package/internal/themes/LightTheme5_4/package.json +6 -0
  750. package/internal/themes/LightTheme5_4.d.ts +1 -0
  751. package/internal/themes/consts/consts.js +9 -0
  752. package/internal/themes/consts/consts.js.map +1 -0
  753. package/internal/themes/consts/package.json +6 -0
  754. package/internal/themes/consts.d.ts +8 -0
  755. package/lib/__stories__/Blink.creevey.mts +90 -0
  756. package/lib/blink/blink.js +63 -0
  757. package/lib/blink/blink.js.map +1 -0
  758. package/lib/blink/package.json +6 -0
  759. package/lib/blink.d.ts +15 -0
  760. package/lib/date/InternalDateGetter/InternalDateGetter.js +4 -1
  761. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  762. package/lib/date/InternalDateGetter.d.ts +1 -1
  763. package/lib/delay.d.mts +1 -0
  764. package/lib/delay.mts +3 -0
  765. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +11 -0
  766. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +12 -1
  767. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  768. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +11 -0
  769. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  770. package/lib/forwardRefAndName.d.ts +1 -1
  771. package/lib/getMenuPositions/getMenuPositions.js +33 -4
  772. package/lib/getMenuPositions/getMenuPositions.js.map +1 -1
  773. package/lib/getMenuPositions.d.ts +21 -1
  774. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  775. package/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  776. package/lib/size/SizeControlContext/SizeControlContext.js +7 -0
  777. package/lib/size/SizeControlContext/SizeControlContext.js.map +1 -0
  778. package/lib/size/SizeControlContext/package.json +6 -0
  779. package/lib/size/SizeControlContext.d.ts +6 -0
  780. package/lib/size/SizeDecorator/SizeDecorator.js +41 -0
  781. package/lib/size/SizeDecorator/SizeDecorator.js.map +1 -0
  782. package/lib/size/SizeDecorator/package.json +6 -0
  783. package/lib/size/SizeDecorator.d.ts +33 -0
  784. package/lib/size/constants/constants.js +1 -0
  785. package/lib/size/constants/constants.js.map +1 -0
  786. package/lib/size/constants/package.json +6 -0
  787. package/lib/size/constants.d.ts +2 -0
  788. package/lib/size/index/index.js +1 -0
  789. package/lib/size/index/index.js.map +1 -0
  790. package/lib/size/index/package.json +6 -0
  791. package/lib/size/index.d.ts +1 -0
  792. package/lib/size/package.json +6 -0
  793. package/lib/size/useSizeControl/package.json +6 -0
  794. package/lib/size/useSizeControl/useSizeControl.js +7 -0
  795. package/lib/size/useSizeControl/useSizeControl.js.map +1 -0
  796. package/lib/size/useSizeControl.d.ts +2 -0
  797. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  798. package/lib/theming/ThemeHelpers.d.ts +1 -1
  799. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  800. package/lib/theming/ThemeVersions.d.ts +1 -1
  801. package/lib/theming/themes/DarkTheme/DarkTheme.js +5 -1
  802. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  803. package/lib/theming/themes/DarkTheme.d.ts +2 -0
  804. package/lib/theming/themes/LightTheme/LightTheme.js +5 -1
  805. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  806. package/lib/theming/themes/LightTheme.d.ts +2 -0
  807. package/lib/utils/utils.js +33 -2
  808. package/lib/utils/utils.js.map +1 -1
  809. package/lib/utils.d.ts +18 -1
  810. package/package.json +19 -36
  811. package/test-setup.d.ts +1 -0
  812. package/vitest.config.d.ts +2 -0
  813. package/cjs/components/Autocomplete/Autocomplete.md +0 -113
  814. package/cjs/components/Button/Button.md +0 -261
  815. package/cjs/components/Calendar/Calendar.md +0 -276
  816. package/cjs/components/Calendar/CalendarDay.md +0 -70
  817. package/cjs/components/Center/Center.md +0 -26
  818. package/cjs/components/Checkbox/Checkbox.md +0 -171
  819. package/cjs/components/ComboBox/ComboBox.md +0 -574
  820. package/cjs/components/CurrencyInput/CurrencyInput.md +0 -39
  821. package/cjs/components/CurrencyLabel/CurrencyLabel.md +0 -29
  822. package/cjs/components/DateInput/DateInput.md +0 -111
  823. package/cjs/components/DatePicker/DatePicker.md +0 -368
  824. package/cjs/components/Dropdown/Dropdown.md +0 -45
  825. package/cjs/components/DropdownMenu/DropdownMenu.md +0 -290
  826. package/cjs/components/FileUploader/FileUploader.md +0 -131
  827. package/cjs/components/FxInput/FxInput.md +0 -31
  828. package/cjs/components/Gapped/Gapped.md +0 -44
  829. package/cjs/components/GlobalLoader/GlobalLoader.md +0 -97
  830. package/cjs/components/Group/Group.md +0 -19
  831. package/cjs/components/Hint/Hint.md +0 -86
  832. package/cjs/components/Input/Input.md +0 -87
  833. package/cjs/components/Kebab/Kebab.md +0 -306
  834. package/cjs/components/Link/Link.md +0 -182
  835. package/cjs/components/Loader/Loader.md +0 -33
  836. package/cjs/components/MaskedInput/MaskedInput.md +0 -114
  837. package/cjs/components/MenuFooter/MenuFooter.md +0 -27
  838. package/cjs/components/MenuHeader/MenuHeader.md +0 -35
  839. package/cjs/components/MenuItem/MenuItem.md +0 -139
  840. package/cjs/components/MenuSeparator/MenuSeparator.md +0 -14
  841. package/cjs/components/MiniModal/MiniModal.md +0 -231
  842. package/cjs/components/Modal/Modal.md +0 -56
  843. package/cjs/components/Paging/Paging.md +0 -57
  844. package/cjs/components/PasswordInput/PasswordInput.md +0 -29
  845. package/cjs/components/Radio/Radio.md +0 -57
  846. package/cjs/components/RadioGroup/RadioGroup.md +0 -44
  847. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  848. package/cjs/components/ScrollContainer/ScrollContainer.md +0 -224
  849. package/cjs/components/Select/Select.md +0 -113
  850. package/cjs/components/SidePage/SidePage.md +0 -65
  851. package/cjs/components/SingleToast/SingleToast.md +0 -36
  852. package/cjs/components/Spinner/Spinner.md +0 -36
  853. package/cjs/components/Sticky/Sticky.md +0 -28
  854. package/cjs/components/Switcher/Switcher.md +0 -111
  855. package/cjs/components/Tabs/Tab.md +0 -73
  856. package/cjs/components/Tabs/Tabs.md +0 -54
  857. package/cjs/components/Textarea/Textarea.md +0 -58
  858. package/cjs/components/Toast/Toast.md +0 -69
  859. package/cjs/components/Toggle/Toggle.md +0 -110
  860. package/cjs/components/Token/Token.md +0 -131
  861. package/cjs/components/TokenInput/TokenInput.md +0 -308
  862. package/cjs/components/Tooltip/Tooltip.md +0 -322
  863. package/cjs/components/TooltipMenu/TooltipMenu.md +0 -241
  864. package/cjs/internal/DataTids/DATATIDS.md +0 -12
  865. package/cjs/internal/DataTids/DataTids.d.ts +0 -12
  866. package/cjs/internal/DataTids/DataTids.js +0 -50
  867. package/cjs/internal/DataTids/DataTids.js.map +0 -1
  868. package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
  869. package/cjs/internal/DataTids/DataTids.styles.js +0 -42
  870. package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
  871. package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
  872. package/cjs/internal/DataTids/componentsDataTids.js +0 -15
  873. package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
  874. package/cjs/internal/ThemePlayground/Playground.md +0 -7
  875. package/cjs/lib/SSRSafe.d.ts +0 -2
  876. package/cjs/lib/SSRSafe.js +0 -5
  877. package/cjs/lib/SSRSafe.js.map +0 -1
  878. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  879. package/cjs/lib/locale/LOCALECONTEXT.md +0 -222
  880. package/cjs/lib/theming/ThemeContext.md +0 -265
  881. package/components/Autocomplete/Autocomplete.md +0 -113
  882. package/components/Button/Button.md +0 -261
  883. package/components/Calendar/Calendar.md +0 -276
  884. package/components/Calendar/CalendarDay.md +0 -70
  885. package/components/Center/Center.md +0 -26
  886. package/components/Checkbox/Checkbox.md +0 -171
  887. package/components/ComboBox/ComboBox.md +0 -574
  888. package/components/CurrencyInput/CurrencyInput.md +0 -39
  889. package/components/CurrencyLabel/CurrencyLabel.md +0 -29
  890. package/components/DateInput/DateInput.md +0 -111
  891. package/components/DatePicker/DatePicker.md +0 -368
  892. package/components/Dropdown/Dropdown.md +0 -45
  893. package/components/DropdownMenu/DropdownMenu.md +0 -290
  894. package/components/FileUploader/FileUploader.md +0 -131
  895. package/components/FxInput/FxInput.md +0 -31
  896. package/components/Gapped/Gapped.md +0 -44
  897. package/components/GlobalLoader/GlobalLoader.md +0 -97
  898. package/components/Group/Group.md +0 -19
  899. package/components/Hint/Hint.md +0 -86
  900. package/components/Input/Input.md +0 -87
  901. package/components/Kebab/Kebab.md +0 -306
  902. package/components/Link/Link.md +0 -182
  903. package/components/Loader/Loader.md +0 -33
  904. package/components/MaskedInput/MaskedInput.md +0 -114
  905. package/components/MenuFooter/MenuFooter.md +0 -27
  906. package/components/MenuHeader/MenuHeader.md +0 -35
  907. package/components/MenuItem/MenuItem.md +0 -139
  908. package/components/MenuSeparator/MenuSeparator.md +0 -14
  909. package/components/MiniModal/MiniModal.md +0 -231
  910. package/components/Modal/Modal.md +0 -56
  911. package/components/Paging/Paging.md +0 -57
  912. package/components/PasswordInput/PasswordInput.md +0 -29
  913. package/components/Radio/Radio.md +0 -57
  914. package/components/RadioGroup/RadioGroup.md +0 -44
  915. package/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  916. package/components/ScrollContainer/ScrollContainer.md +0 -224
  917. package/components/Select/Select.md +0 -113
  918. package/components/SidePage/SidePage.md +0 -65
  919. package/components/SingleToast/SingleToast.md +0 -36
  920. package/components/Spinner/Spinner.md +0 -36
  921. package/components/Sticky/Sticky.md +0 -28
  922. package/components/Switcher/Switcher.md +0 -111
  923. package/components/Tabs/Tab.md +0 -73
  924. package/components/Tabs/Tabs.md +0 -54
  925. package/components/Textarea/Textarea.md +0 -58
  926. package/components/Toast/Toast.md +0 -69
  927. package/components/Toggle/Toggle.md +0 -110
  928. package/components/Token/Token.md +0 -131
  929. package/components/TokenInput/TokenInput.md +0 -308
  930. package/components/Tooltip/Tooltip.md +0 -322
  931. package/components/TooltipMenu/TooltipMenu.md +0 -241
  932. package/internal/DataTids/DATATIDS.md +0 -12
  933. package/internal/DataTids/DataTids/DataTids.js +0 -69
  934. package/internal/DataTids/DataTids/DataTids.js.map +0 -1
  935. package/internal/DataTids/DataTids/package.json +0 -6
  936. package/internal/DataTids/DataTids.d.ts +0 -12
  937. package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -20
  938. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
  939. package/internal/DataTids/DataTids.styles/package.json +0 -6
  940. package/internal/DataTids/DataTids.styles.d.ts +0 -7
  941. package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -12
  942. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
  943. package/internal/DataTids/componentsDataTids/package.json +0 -6
  944. package/internal/DataTids/componentsDataTids.d.ts +0 -5
  945. package/internal/ThemePlayground/Playground.md +0 -7
  946. package/lib/SSRSafe/SSRSafe.js +0 -4
  947. package/lib/SSRSafe/SSRSafe.js.map +0 -1
  948. package/lib/SSRSafe/package.json +0 -6
  949. package/lib/SSRSafe.d.ts +0 -2
  950. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  951. package/lib/locale/LOCALECONTEXT.md +0 -222
  952. package/lib/theming/ThemeContext.md +0 -265
@@ -1 +1 @@
1
- {"version":3,"names":["React","invariant","globalObject","debounce","isKeyArrowDown","isKeyArrowUp","isKeyArrowVertical","isKeyEnter","isKeyEscape","isKeySpace","locale","reactGetTextContent","Button","filterProps","Input","Menu","MenuItem","MenuSeparator","RenderLayer","createPropsGetter","getRandomID","isFunction","isNonNullable","isReactUINode","ThemeContext","CommonWrapper","MobilePopup","cx","responsiveLayout","getRootNode","rootNode","ThemeFactory","styles","linkStyles","Popup","ZIndex","getMenuPositions","ArrowDownIcon","Item","SelectLocaleHelper","getSelectTheme","SelectDataTids","PASS_BUTTON_PROPS","id","disabled","error","use","size","warning","corners","onMouseEnter","onMouseLeave","onMouseOver","SelectIds","menu","Select","_dec","_class","_Select","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","opened","value","props","defaultValue","searchPattern","menuId","buttonElement","getProps","defaultProps","open","setState","onOpen","close","onClose","focus","getDefaultButtonParams","_this$renderLabel","renderLabel","label","isPlaceholder","buttonParams","onClick","toggle","onKeyDown","handleKey","getSearch","createElement","className","search","ref","debouncedFocusInput","onValueChange","handleSearch","width","getMobileSearch","autoFocus","getMenuItems","isMobile","isMobileLayout","mapItems","iValue","item","i","comment","element","isValidElement","cloneElement","key","areValuesEqual","select","bind","renderItem","popupGetParent","focusInput","input","refMenu","e","preventDefault","up","down","enter","_this$menu","highlightItem","buttonRef","getButton","_props$ariaLabel","button","_renderButton","renderDefaultButton","Children","only","onFocus","onBlur","_inheritsLoose","_proto","prototype","componentDidUpdate","_prevProps","prevState","addEventListener","removeEventListener","render","_this2","Consumer","theme","create","menuOffsetY","selectMenuOffsetY","Provider","renderMain","getMenuRenderer","renderMobileMenu","renderMenu","_this$getProps$dataT","_cx","dataTid","root","style","maxWidth","undefined","rootMobile","_extends","rootNodeRef","setRootNode","onClickOutside","onFocusOutside","active","_this$locale","getValue","getItemByValue","renderValue","placeholder","getLeftIconClass","leftIconLink","leftIconLarge","leftIconMedium","leftIconSmall","params","_cx2","_cx3","_cx4","buttonProps","align","labelProps","customUsePlaceholder","placeholderDisabled","paddingRight","getSelectIconGap","useIsCustom","icon","selectButtonContainer","_icon","arrowWrap","arrowDisabled","customUseArrow","_this3","getArrowPadding","selectIconGapLarge","selectIconGapMedium","selectIconGapSmall","arrowLeftPadding","parseFloat","_this$getProps","menuWidth","menuPos","menuAlign","hasShadow","positions","anchorElement","priority","priorities","PopupMenu","disablePortal","margin","parseInt","minWidth","popupOffset","menuOffset","hasMargin","onItemClick","maxHeight","maxMenuHeight","headerChildComponent","caption","mobileMenuHeaderText","onCloseRequest","disableScrollContainer","_this$props$onValueCh","_this$props","fn","items","pattern","toLowerCase","result","index","_iterator","_createForOfIteratorHelperLoose","_step","done","entry","_normalizeEntry","normalizeEntry","filterItem","push","_iterator2","_step2","_normalizeEntry2","itemValue","value1","value2","Component","__KONTUR_REACT_UI__","displayName","SEP","staticElement","isArray","getTextFromItem","toString","itemText","indexOf"],"sources":["Select.tsx"],"sourcesContent":["import type { ReactNode, ReactPortal, AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport invariant from 'invariant';\nimport { globalObject } from '@skbkontur/global-object';\nimport debounce from 'lodash.debounce';\n\nimport {\n isKeyArrowDown,\n isKeyArrowUp,\n isKeyArrowVertical,\n isKeyEnter,\n isKeyEscape,\n isKeySpace,\n} from '../../lib/events/keyboard/identifiers';\nimport { locale } from '../../lib/locale/decorators';\nimport { reactGetTextContent } from '../../lib/reactGetTextContent';\nimport type { ButtonProps, ButtonUse } from '../Button';\nimport { Button } from '../Button';\nimport { filterProps } from '../../lib/filterProps';\nimport { Input } from '../Input';\nimport { Menu } from '../../internal/Menu';\nimport type { MenuItemProps } from '../MenuItem';\nimport { MenuItem } from '../MenuItem';\nimport { MenuSeparator } from '../MenuSeparator';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { Nullable } from '../../typings/utility-types';\nimport { getRandomID, isFunction, isNonNullable, isReactUINode } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport type { MenuHeaderProps } from '../MenuHeader';\nimport type { SizeProp } from '../../lib/types/props';\nimport { styles as linkStyles } from '../Link/Link.styles';\nimport { Popup } from '../../internal/Popup';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\n\nimport { ArrowDownIcon } from './ArrowDownIcon';\nimport { Item } from './Item';\nimport type { SelectLocale } from './locale';\nimport { SelectLocaleHelper } from './locale';\nimport { styles } from './Select.styles';\nimport { getSelectTheme } from './selectTheme';\nimport { SelectDataTids } from './tids';\n\nexport * from './tids';\n\nexport interface ButtonParams\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-controls' | 'aria-label' | 'aria-expanded'> {\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает лейбл. */\n label: React.ReactNode;\n\n /** Задает функцию, которая вызывается при клике на селект. */\n onClick: () => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n /** Определяет, открыто ли выпадающее меню. */\n opened: boolean;\n\n /** Определяет, есть ли Placeholder. */\n isPlaceholder: boolean;\n\n /** Задает размер контрола. */\n size: SizeProp;\n}\n\nconst PASS_BUTTON_PROPS = {\n id: true,\n disabled: true,\n error: true,\n use: true,\n size: true,\n warning: true,\n corners: true,\n\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseOver: true,\n};\n\nexport const SelectIds = {\n menu: SelectDataTids.menu,\n} as const;\n\ntype SelectItem<TValue, TItem> =\n | [TValue, TItem, React.ReactNode?]\n | TItem\n | TValue\n | React.ReactElement\n | (() => React.ReactElement);\n\nexport interface SelectProps<TValue, TItem>\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** @ignore */\n _icon?: React.ReactNode;\n\n /** @ignore */\n _renderButton?: (params: ButtonParams) => React.ReactNode;\n\n /** @ignore */\n corners?: React.CSSProperties;\n\n /** Задает значение по умолчанию. */\n defaultValue?: TValue;\n\n menuOffset?: number;\n\n /** Отключает использование портала. */\n disablePortal?: boolean;\n\n /** Делает компонент недоступным.*/\n disabled?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Задает функцию, которая отфильтровывает элементы по заданному паттерну. */\n filterItem?: (value: TValue, item: TItem, pattern: string) => boolean;\n\n /** Задает набор значений. Поддерживаются любые перечисляемые типы, в том числе `Array`, `Map`, `Immutable.Map`.\n *\n * Элементы воспринимаются следующим образом: если элемент — это массив, то первый элемент является значением,\n * второй — отображается в списке, а третий – комментарий;\n * если элемент не является массивом, то он используется и для отображения, и для значения.\n *\n * Для вставки разделителя можно использовать `Select.SEP`.\n *\n * Вставить невыделяемый элемент со своей разметкой можно так:\n * @example\n * ```\n * <Select ...\n * items={[Select.staticElement(() => <div>My Element</div>)]}\n * />\n * ```\n *\n * Чтобы добавить стандартный отступ для статического элемента:\n * @example\n * ```\n * <Select.Item>My Element</Select.Item>\n * ``` */\n items?: Array<SelectItem<TValue, TItem>>;\n\n /** Задает максимальную высоту меню. */\n maxMenuHeight?: number;\n\n /** Задает максимальную ширину. */\n maxWidth?: React.CSSProperties['maxWidth'];\n\n /** Задает текущую позицию выпадающего окна вручную. */\n menuPos?: 'top' | 'bottom' | 'middle';\n\n /** Задает выравнивание меню. */\n menuAlign?: 'left' | 'right';\n\n /** Задает ширину выпадающего меню. */\n menuWidth?: React.CSSProperties['width'];\n\n /** Задает функцию, вызывающуюся при изменении value. */\n onValueChange?: (value: TValue) => void;\n\n /** Задает функцию, которая вызывается при закрытии меню. */\n onClose?: () => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: (e: React.MouseEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (e: React.MouseEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */\n onMouseOver?: (e: React.MouseEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при открытии меню. */\n onOpen?: () => void;\n\n /** Задает текст, который отображается если не введено никакое значение. */\n placeholder?: React.ReactNode;\n\n /** Задает функцию, которая отображает элемент в выпадающем списке. */\n renderItem?: (value: TValue, item?: TItem) => React.ReactNode;\n\n /** Задает функцию, которая отображает выбранный элемент. */\n renderValue?: (value: TValue, item?: TItem) => React.ReactNode;\n\n /** Задает функцию сравнения `value` с элементом из `items`. */\n areValuesEqual?: (value1: TValue, value2: TValue) => boolean;\n\n /** Показывает строку поиска в списке. */\n search?: boolean;\n\n /** Задает значение. */\n value?: TValue;\n\n theme?: ThemeIn | Theme;\n\n /** Задает длину контрола. */\n width?: number | string;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задаёт стиль кнопки. */\n use?: ButtonUse;\n\n /** Задает размер. */\n size?: SizeProp;\n\n /** Задаёт HTML-событие `onfocus`. */\n onFocus?: React.FocusEventHandler<HTMLElement>;\n\n /** Задаёт HTML-событие `onblur`. */\n onBlur?: React.FocusEventHandler<HTMLElement>;\n\n /** Задает текст заголовка выпадающего меню в мобильной версии. */\n mobileMenuHeaderText?: string;\n}\n\nexport interface SelectState<TValue> {\n opened: boolean;\n searchPattern: string;\n value: Nullable<TValue>;\n}\n\ninterface FocusableReactElement extends React.ReactElement<any> {\n focus: (event?: any) => void;\n}\n\ntype DefaultProps<TValue, TItem> = Required<\n Pick<SelectProps<TValue, TItem>, 'renderValue' | 'renderItem' | 'areValuesEqual' | 'filterItem' | 'use' | 'size'>\n>;\n\n/**\n * Раскрывающийся список `Select` позволяет выбрать значение из заранее известного набора вариантов.\n *\n * Используйте `Select` при:\n * * заполнении форм, например для выбора месяца.\n * * переключении состояний, например, фильтра.\n * * выборе предустановленных настроек, например, частоты уведомлений, часового пояса.\n *\n * Не используйте `Select` для выбора элементов меню. В таком случае воспользуйтесь компонентом Dropdown.\n */\n@responsiveLayout\n@rootNode\n@locale('Select', SelectLocaleHelper)\n// Suggested solutions break current behavior\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport class Select<TValue = {}, TItem = {}> extends React.Component<SelectProps<TValue, TItem>, SelectState<TValue>> {\n public static __KONTUR_REACT_UI__ = 'Select';\n public static displayName = 'Select';\n\n public static defaultProps: DefaultProps<unknown, ReactNode | ReactPortal> = {\n renderValue,\n renderItem,\n areValuesEqual,\n filterItem,\n use: 'default',\n size: 'small',\n };\n\n public static Item = Item;\n public static SEP = () => <MenuSeparator />;\n\n public static staticElement = (element: React.ReactElement | (() => React.ReactElement)) => {\n invariant(\n React.isValidElement(element) || typeof element === 'function',\n 'Select.staticElement(element) expects element to be a valid react element.',\n );\n return element;\n };\n\n public state: SelectState<TValue> = {\n opened: false,\n value: this.props.defaultValue,\n searchPattern: '',\n };\n\n private theme!: Theme;\n private isMobileLayout!: boolean;\n private readonly locale!: SelectLocale;\n private menu: Nullable<Menu>;\n private menuId = SelectIds.menu + getRandomID();\n private buttonElement: FocusableReactElement | null = null;\n private getProps = createPropsGetter(Select.defaultProps);\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(_prevProps: SelectProps<TValue, TItem>, prevState: SelectState<TValue>) {\n if (!prevState.opened && this.state.opened) {\n globalObject.addEventListener?.('popstate', this.close);\n }\n if (prevState.opened && !this.state.opened) {\n globalObject.removeEventListener?.('popstate', this.close);\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = ThemeFactory.create(\n {\n menuOffsetY: theme.selectMenuOffsetY,\n },\n theme,\n );\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public open = () => {\n if (!this.state.opened) {\n this.setState({ opened: true });\n\n if (this.props.onOpen) {\n this.props.onOpen();\n }\n }\n };\n\n /**\n * @public\n */\n public close = () => {\n if (this.state.opened) {\n this.setState({ opened: false, searchPattern: '' });\n\n if (this.props.onClose) {\n this.props.onClose();\n }\n }\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.buttonElement && this.buttonElement.focus) {\n this.buttonElement.focus();\n }\n };\n\n private getMenuRenderer() {\n if (this.props.disabled) {\n return null;\n }\n\n if (this.isMobileLayout) {\n return this.renderMobileMenu();\n }\n\n if (this.state.opened) {\n return this.renderMenu();\n }\n\n return null;\n }\n\n private renderMain() {\n const buttonParams = this.getDefaultButtonParams();\n const dataTid = this.getProps()['data-tid'] ?? SelectDataTids.root;\n const button = (\n <ThemeContext.Provider value={getSelectTheme(this.theme, this.props)}>\n {this.getButton(buttonParams)}\n </ThemeContext.Provider>\n );\n\n const isMobile = this.isMobileLayout;\n\n const style = {\n width: this.props.width,\n maxWidth: this.props.maxWidth || undefined,\n };\n\n const root = (\n <span\n data-tid={dataTid}\n className={cx({ [styles.root()]: true, [styles.rootMobile(this.theme)]: isMobile })}\n style={style}\n >\n {button}\n {this.getMenuRenderer()}\n </span>\n );\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <RenderLayer\n onClickOutside={this.close}\n onFocusOutside={this.close}\n active={isMobile ? false : this.state.opened}\n >\n {root}\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n private getDefaultButtonParams = (): ButtonParams => {\n const { label, isPlaceholder } = this.renderLabel();\n\n const buttonParams: ButtonParams = {\n opened: this.state.opened,\n label,\n isPlaceholder,\n onClick: this.toggle,\n onKeyDown: this.handleKey,\n size: this.getProps().size,\n disabled: this.getProps().disabled,\n };\n\n return buttonParams;\n };\n\n private renderLabel() {\n const value = this.getValue();\n const item = this.getItemByValue(value);\n\n if (isNonNullable(value)) {\n return {\n label: this.getProps().renderValue(value, item),\n isPlaceholder: false,\n };\n }\n\n return {\n label: <span>{this.props.placeholder || this.locale?.placeholder}</span>,\n isPlaceholder: true,\n };\n }\n\n private getLeftIconClass(size: SizeProp | undefined) {\n if (this.getProps().use === 'link') {\n return styles.leftIconLink(this.theme);\n }\n\n switch (size) {\n case 'large':\n return styles.leftIconLarge(this.theme);\n case 'medium':\n return styles.leftIconMedium(this.theme);\n case 'small':\n default:\n return styles.leftIconSmall(this.theme);\n }\n }\n\n private renderDefaultButton(params: ButtonParams) {\n const buttonProps: ButtonProps = {\n ...filterProps(this.props, PASS_BUTTON_PROPS),\n align: 'left' as React.CSSProperties['textAlign'],\n disabled: this.props.disabled,\n width: '100%',\n onClick: params.onClick,\n onKeyDown: params.onKeyDown,\n active: params.opened,\n size: params.size,\n };\n const use = this.getProps().use;\n\n const labelProps = {\n 'data-tid': SelectDataTids.label,\n className: cx({\n [styles.label()]: use !== 'link',\n [styles.placeholder(this.theme)]: params.isPlaceholder,\n [styles.customUsePlaceholder()]: params.isPlaceholder && use !== 'default',\n [styles.placeholderDisabled(this.theme)]: params.isPlaceholder && this.props.disabled,\n }),\n style: {\n paddingRight: this.getSelectIconGap(),\n },\n };\n\n const useIsCustom = use !== 'default';\n\n const icon = <ArrowDownIcon size={this.props.size} />;\n\n return (\n <Button {...buttonProps}>\n <div className={cx(styles.selectButtonContainer(), { [linkStyles.root(this.theme)]: use === 'link' })}>\n {this.props._icon && <div className={this.getLeftIconClass(this.props.size)}>{this.props._icon}</div>}\n <span {...labelProps}>{params.label}</span>\n\n <div\n className={cx(styles.arrowWrap(this.theme), {\n [styles.arrowDisabled(this.theme)]: this.props.disabled,\n [styles.customUseArrow()]: useIsCustom,\n })}\n >\n {icon}\n </div>\n </div>\n </Button>\n );\n }\n\n private getSelectIconGap(): number {\n const getArrowPadding = () => {\n switch (this.props.size) {\n case 'large':\n return this.theme.selectIconGapLarge;\n case 'medium':\n return this.theme.selectIconGapMedium;\n case 'small':\n default:\n return this.theme.selectIconGapSmall;\n }\n };\n const arrowLeftPadding = parseFloat(getArrowPadding()) || 0;\n\n return arrowLeftPadding;\n }\n\n private renderMenu(): React.ReactNode {\n const search = this.props.search ? this.getSearch() : null;\n\n const value = this.getValue();\n const { menuWidth, menuPos, menuAlign } = this.getProps();\n\n return (\n <Popup\n opened\n hasShadow\n id={this.menuId}\n data-tid={SelectDataTids.menu}\n positions={getMenuPositions(menuPos, menuAlign)}\n anchorElement={this.popupGetParent()}\n priority={ZIndex.priorities.PopupMenu}\n disablePortal={this.props.disablePortal}\n margin={parseInt(this.theme.menuOffsetY) - 1}\n width={menuWidth}\n minWidth={menuWidth === undefined ? '100%' : undefined}\n popupOffset={this.props.menuOffset}\n >\n <Menu\n hasMargin={false}\n ref={this.refMenu}\n onItemClick={this.close}\n maxHeight={this.props.maxMenuHeight}\n align={menuAlign}\n >\n {search}\n {this.getMenuItems(value)}\n </Menu>\n </Popup>\n );\n }\n\n private getSearch = () => {\n return (\n <div className={styles.search()} onKeyDown={this.handleKey}>\n <Input ref={this.debouncedFocusInput} onValueChange={this.handleSearch} width=\"100%\" />\n </div>\n );\n };\n\n private renderMobileMenu(): React.ReactNode {\n const search = this.props.search ? this.getMobileSearch() : null;\n const value = this.getValue();\n\n return (\n <MobilePopup\n headerChildComponent={search}\n caption={this.props.mobileMenuHeaderText}\n onCloseRequest={this.close}\n opened={this.state.opened}\n >\n <Menu onItemClick={this.close} disableScrollContainer maxHeight={'auto'}>\n {this.getMenuItems(value)}\n </Menu>\n </MobilePopup>\n );\n }\n\n private getMobileSearch = () => {\n return (\n <Input\n autoFocus\n value={this.state.searchPattern}\n ref={this.debouncedFocusInput}\n onValueChange={this.handleSearch}\n width=\"100%\"\n />\n );\n };\n\n private getMenuItems = (value: Nullable<TValue>) => {\n const isMobile = this.isMobileLayout;\n const size = this.props.size;\n\n return this.mapItems(\n (iValue: TValue, item: TItem | (() => React.ReactNode), i: number, comment: Nullable<React.ReactNode>) => {\n if (isFunction(item)) {\n const element = item();\n\n if (React.isValidElement(element)) {\n return React.cloneElement(element, { key: i, isMobile, size } as MenuItemProps);\n }\n\n return null;\n }\n\n if (React.isValidElement(item)) {\n if (isReactUINode('MenuItem', item)) {\n return React.cloneElement(item, { key: i, isMobile, size } as MenuItemProps);\n }\n if (isReactUINode('MenuHeader', item)) {\n return React.cloneElement(item, { size } as MenuHeaderProps);\n }\n return React.cloneElement(item, { key: i });\n }\n\n return (\n <MenuItem\n key={i}\n state={this.areValuesEqual(iValue, value) ? 'selected' : null}\n onClick={this.select.bind(this, iValue)}\n comment={comment}\n isMobile={isMobile}\n size={this.props.size}\n >\n {this.getProps().renderItem(iValue, item)}\n </MenuItem>\n );\n },\n );\n };\n\n private popupGetParent = () => {\n return getRootNode(this);\n };\n\n // fix cases when an Input is rendered in portal\n // https://github.com/skbkontur/retail-ui/issues/1995\n private focusInput = (input: Input) => input?.focus();\n private debouncedFocusInput = debounce(this.focusInput);\n\n private refMenu = (menu: Menu) => {\n this.menu = menu;\n };\n\n private toggle = () => {\n if (this.state.opened) {\n this.close();\n } else {\n this.open();\n }\n };\n\n private handleKey = (e: React.KeyboardEvent<HTMLElement>) => {\n if (!this.state.opened) {\n if (isKeySpace(e) || isKeyArrowVertical(e)) {\n e.preventDefault();\n this.open();\n }\n } else {\n switch (true) {\n case isKeyEscape(e):\n this.focus();\n this.close();\n break;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n break;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n break;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n break;\n }\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleSearch = (value: string) => {\n this.setState({ searchPattern: value });\n this.menu?.highlightItem(0);\n };\n\n private select(value: TValue) {\n this.focus();\n this.setState({ opened: false, value });\n\n if (!this.areValuesEqual(this.getValue(), value)) {\n this.props.onValueChange?.(value);\n }\n }\n\n private getValue() {\n if (this.props.value !== undefined) {\n return this.props.value;\n }\n return this.state.value;\n }\n\n private mapItems(fn: (value: TValue, item: TItem, index: number, comment?: string) => React.ReactNode) {\n const { items } = this.props;\n if (!items) {\n return [];\n }\n const pattern = this.state.searchPattern && this.state.searchPattern.toLowerCase();\n\n const result: React.ReactNode[] = [];\n let index = 0;\n for (const entry of items) {\n const [value, item, comment] = normalizeEntry(entry as TItem);\n\n if (!pattern || this.getProps().filterItem(value, item, pattern)) {\n result.push(fn(value, item, index, comment));\n ++index;\n }\n }\n\n return result;\n }\n\n private getItemByValue(value?: Nullable<TValue>) {\n if (value === null || value === undefined) {\n return null;\n }\n\n const items = this.props.items || [];\n\n for (const entry of items) {\n const [itemValue, item] = normalizeEntry(entry);\n\n if (this.areValuesEqual(itemValue, value)) {\n return item;\n }\n }\n return null;\n }\n\n private areValuesEqual(value1: Nullable<TValue>, value2: Nullable<TValue>) {\n return isNonNullable(value1) && isNonNullable(value2) && this.getProps().areValuesEqual(value1, value2);\n }\n\n private buttonRef = (element: FocusableReactElement | null) => {\n this.buttonElement = element;\n };\n\n private getButton = (buttonParams: ButtonParams) => {\n const button = this.props._renderButton\n ? this.props._renderButton(buttonParams)\n : this.renderDefaultButton(buttonParams);\n\n const buttonElement = React.Children.only(button);\n\n return React.isValidElement(buttonElement)\n ? React.cloneElement(buttonElement as React.ReactElement, {\n ref: this.buttonRef,\n onFocus: this.props.onFocus,\n onBlur: this.props.onBlur,\n size: this.props.size,\n 'aria-describedby': this.props['aria-describedby'],\n 'aria-expanded': this.state.opened ? 'true' : 'false',\n 'aria-controls': this.menuId,\n 'aria-label': (buttonElement as React.ReactElement).props['aria-label'] ?? this.props['aria-label'],\n })\n : buttonElement;\n };\n}\n\nfunction renderValue<TValue, TItem>(value: TValue, item: Nullable<TItem>) {\n return item;\n}\n\nfunction renderItem<TValue, TItem>(value: TValue, item?: TItem) {\n return item;\n}\n\nfunction areValuesEqual<TValue>(value1: TValue, value2: TValue) {\n return value1 === value2;\n}\n\nfunction normalizeEntry(entry: any) {\n if (Array.isArray(entry)) {\n return entry;\n }\n\n return [entry, entry, undefined];\n}\n\nconst getTextFromItem = (item: any): string => {\n if (typeof item === 'string') {\n return item;\n }\n\n if (isFunction(item)) {\n return getTextFromItem(item());\n }\n\n if (React.isValidElement(item)) {\n return reactGetTextContent(item);\n }\n\n if (typeof item === 'number') {\n return item.toString(10);\n }\n\n return '';\n};\n\nfunction filterItem<TValue>(value: TValue, item: any, pattern: string) {\n if (item === Select.SEP) {\n return false;\n }\n\n const itemText = getTextFromItem(item);\n\n if (!itemText) {\n return false;\n }\n\n return itemText.toLowerCase().indexOf(pattern) !== -1;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","invariant","globalObject","debounce","isKeyArrowDown","isKeyArrowUp","isKeyArrowVertical","isKeyEnter","isKeyEscape","isKeySpace","locale","reactGetTextContent","Button","filterProps","Input","Menu","MenuItem","MenuSeparator","RenderLayer","createPropsGetter","getRandomID","isFunction","isNonNullable","isReactUINode","ThemeContext","CommonWrapper","MobilePopup","cx","responsiveLayout","getRootNode","rootNode","ThemeFactory","styles","linkStyles","Popup","ZIndex","getMenuPositions","withSize","ArrowDownIcon","Item","SelectLocaleHelper","getSelectTheme","SelectDataTids","PASS_BUTTON_PROPS","id","disabled","error","use","size","warning","corners","onMouseEnter","onMouseLeave","onMouseOver","SelectIds","menu","Select","_dec","_class","_Select","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","opened","value","props","defaultValue","searchPattern","menuId","buttonElement","getProps","defaultProps","open","setState","onOpen","close","onClose","focus","getDefaultButtonParams","_this$renderLabel","renderLabel","label","isPlaceholder","buttonParams","onClick","toggle","onKeyDown","handleKey","getSearch","createElement","className","search","ref","debouncedFocusInput","onValueChange","handleSearch","width","getMobileSearch","autoFocus","getMenuItems","isMobile","isMobileLayout","mapItems","iValue","item","i","comment","element","isValidElement","cloneElement","key","areValuesEqual","select","bind","renderItem","popupGetParent","focusInput","input","refMenu","e","preventDefault","up","down","enter","_this$menu","highlightItem","buttonRef","getButton","_props$ariaLabel","button","_renderButton","renderDefaultButton","Children","only","onFocus","onBlur","_inheritsLoose","_proto","prototype","componentDidUpdate","_prevProps","prevState","addEventListener","removeEventListener","render","_this2","Consumer","theme","create","menuOffsetY","selectMenuOffsetY","Provider","renderMain","getMenuRenderer","renderMobileMenu","renderMenu","_this$getProps$dataT","_cx","dataTid","root","style","maxWidth","undefined","rootMobile","_extends","rootNodeRef","setRootNode","onClickOutside","onFocusOutside","active","_this$props$placehold","_this$locale","getValue","getItemByValue","renderValue","placeholder","getLeftIconClass","leftIconLink","leftIconLarge","leftIconMedium","leftIconSmall","params","_cx2","_cx3","_cx4","buttonProps","align","labelProps","customUsePlaceholder","placeholderDisabled","paddingRight","getSelectIconGap","useIsCustom","icon","selectButtonContainer","_icon","arrowWrap","arrowDisabled","customUseArrow","_this3","getArrowPadding","selectIconGapLarge","selectIconGapMedium","selectIconGapSmall","arrowLeftPadding","parseFloat","_this$getProps","menuWidth","menuPos","menuAlign","positions","hasShadow","anchorElement","priority","priorities","PopupMenu","disablePortal","margin","parseInt","minWidth","popupOffset","menuOffset","hasMargin","onItemClick","maxHeight","maxMenuHeight","headerChildComponent","caption","mobileMenuHeaderText","onCloseRequest","disableScrollContainer","_this$props$onValueCh","_this$props","fn","items","pattern","toLowerCase","result","index","_iterator","_createForOfIteratorHelperLoose","_step","done","entry","_normalizeEntry","normalizeEntry","filterItem","push","_iterator2","_step2","_normalizeEntry2","itemValue","value1","value2","Component","__KONTUR_REACT_UI__","displayName","SEP","staticElement","isArray","getTextFromItem","toString","itemText","indexOf"],"sources":["Select.tsx"],"sourcesContent":["import type { ReactNode, ReactPortal, AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport invariant from 'invariant';\nimport { globalObject } from '@skbkontur/global-object';\nimport debounce from 'lodash.debounce';\n\nimport {\n isKeyArrowDown,\n isKeyArrowUp,\n isKeyArrowVertical,\n isKeyEnter,\n isKeyEscape,\n isKeySpace,\n} from '../../lib/events/keyboard/identifiers';\nimport { locale } from '../../lib/locale/decorators';\nimport { reactGetTextContent } from '../../lib/reactGetTextContent';\nimport type { ButtonProps, ButtonUse } from '../Button';\nimport { Button } from '../Button';\nimport { filterProps } from '../../lib/filterProps';\nimport { Input } from '../Input';\nimport { Menu } from '../../internal/Menu';\nimport type { MenuItemProps } from '../MenuItem';\nimport { MenuItem } from '../MenuItem';\nimport { MenuSeparator } from '../MenuSeparator';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { Nullable } from '../../typings/utility-types';\nimport { getRandomID, isFunction, isNonNullable, isReactUINode } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport type { MenuHeaderProps } from '../MenuHeader';\nimport type { SizeProp } from '../../lib/types/props';\nimport { styles as linkStyles } from '../Link/Link.styles';\nimport { Popup, type PopupPositionsType } from '../../internal/Popup';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\nimport { withSize } from '../../lib/size/SizeDecorator';\n\nimport { ArrowDownIcon } from './ArrowDownIcon';\nimport { Item } from './Item';\nimport type { SelectLocale } from './locale';\nimport { SelectLocaleHelper } from './locale';\nimport { styles } from './Select.styles';\nimport { getSelectTheme } from './selectTheme';\nimport { SelectDataTids } from './tids';\n\nexport * from './tids';\n\nexport interface ButtonParams\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-controls' | 'aria-label' | 'aria-expanded'> {\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает лейбл. */\n label: React.ReactNode;\n\n /** Задает функцию, которая вызывается при клике на селект. */\n onClick: () => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n /** Определяет, открыто ли выпадающее меню. */\n opened: boolean;\n\n /** Определяет, есть ли Placeholder. */\n isPlaceholder: boolean;\n\n /** Задает размер контрола. */\n size: SizeProp;\n}\n\nconst PASS_BUTTON_PROPS = {\n id: true,\n disabled: true,\n error: true,\n use: true,\n size: true,\n warning: true,\n corners: true,\n\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseOver: true,\n};\n\nexport const SelectIds = {\n menu: SelectDataTids.menu,\n} as const;\n\ntype SelectItem<TValue, TItem> =\n | [TValue, TItem, React.ReactNode?]\n | TItem\n | TValue\n | React.ReactElement\n | (() => React.ReactElement);\n\nexport interface SelectProps<TValue, TItem>\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** @ignore */\n _icon?: React.ReactNode;\n\n /** @ignore */\n _renderButton?: (params: ButtonParams) => React.ReactNode;\n\n /** @ignore */\n corners?: React.CSSProperties;\n\n /** Задает значение по умолчанию. */\n defaultValue?: TValue;\n\n menuOffset?: number;\n\n /** Отключает использование портала. */\n disablePortal?: boolean;\n\n /** Делает компонент недоступным.*/\n disabled?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Задает функцию, которая отфильтровывает элементы по заданному паттерну. */\n filterItem?: (value: TValue, item: TItem, pattern: string) => boolean;\n\n /** Задает набор значений. Поддерживаются любые перечисляемые типы, в том числе `Array`, `Map`, `Immutable.Map`.\n *\n * Элементы воспринимаются следующим образом: если элемент — это массив, то первый элемент является значением,\n * второй — отображается в списке, а третий – комментарий;\n * если элемент не является массивом, то он используется и для отображения, и для значения.\n *\n * Для вставки разделителя можно использовать `Select.SEP`.\n *\n * Вставить невыделяемый элемент со своей разметкой можно так:\n * @example\n * ```\n * <Select ...\n * items={[Select.staticElement(() => <div>My Element</div>)]}\n * />\n * ```\n *\n * Чтобы добавить стандартный отступ для статического элемента:\n * @example\n * ```\n * <Select.Item>My Element</Select.Item>\n * ``` */\n items?: Array<SelectItem<TValue, TItem>>;\n\n /** Задает максимальную высоту меню. */\n maxMenuHeight?: number;\n\n /** Задает максимальную ширину. */\n maxWidth?: React.CSSProperties['maxWidth'];\n\n /** Задает позиции выпадающего меню. */\n positions?: PopupPositionsType[];\n\n /** Задает текущую позицию выпадающего окна вручную. */\n menuPos?: 'top' | 'bottom' | 'middle';\n\n /** Задает выравнивание меню. */\n menuAlign?: 'left' | 'right';\n\n /** Задает ширину выпадающего меню. */\n menuWidth?: React.CSSProperties['width'];\n\n /** Задает функцию, вызывающуюся при изменении value. */\n onValueChange?: (value: TValue) => void;\n\n /** Задает функцию, которая вызывается при закрытии меню. */\n onClose?: () => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: (e: React.MouseEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (e: React.MouseEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */\n onMouseOver?: (e: React.MouseEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при открытии меню. */\n onOpen?: () => void;\n\n /** Задает текст, который отображается если не введено никакое значение. */\n placeholder?: React.ReactNode;\n\n /** Задает функцию, которая отображает элемент в выпадающем списке. */\n renderItem?: (value: TValue, item?: TItem) => React.ReactNode;\n\n /** Задает функцию, которая отображает выбранный элемент. */\n renderValue?: (value: TValue, item?: TItem) => React.ReactNode;\n\n /** Задает функцию сравнения `value` с элементом из `items`. */\n areValuesEqual?: (value1: TValue, value2: TValue) => boolean;\n\n /** Показывает строку поиска в списке. */\n search?: boolean;\n\n /** Задает значение. */\n value?: TValue;\n\n theme?: ThemeIn | Theme;\n\n /** Задает длину контрола. */\n width?: number | string;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задаёт стиль кнопки. */\n use?: ButtonUse;\n\n /** Задает размер. */\n size?: SizeProp;\n\n /** Задаёт HTML-событие `onfocus`. */\n onFocus?: React.FocusEventHandler<HTMLElement>;\n\n /** Задаёт HTML-событие `onblur`. */\n onBlur?: React.FocusEventHandler<HTMLElement>;\n\n /** Задает текст заголовка выпадающего меню в мобильной версии. */\n mobileMenuHeaderText?: string;\n}\n\nexport interface SelectState<TValue> {\n opened: boolean;\n searchPattern: string;\n value: Nullable<TValue>;\n}\n\ninterface FocusableReactElement extends React.ReactElement<any> {\n focus: (event?: any) => void;\n}\n\ntype DefaultProps<TValue, TItem> = Required<\n Pick<SelectProps<TValue, TItem>, 'renderValue' | 'renderItem' | 'areValuesEqual' | 'filterItem' | 'use'>\n>;\n\n/**\n * Раскрывающийся список `Select` позволяет выбрать значение из заранее известного набора вариантов.\n *\n * Используйте `Select` при:\n * * заполнении форм, например для выбора месяца.\n * * переключении состояний, например, фильтра.\n * * выборе предустановленных настроек, например, частоты уведомлений, часового пояса.\n *\n * Не используйте `Select` для выбора элементов меню. В таком случае воспользуйтесь компонентом Dropdown.\n */\n\n@responsiveLayout\n@rootNode\n@locale('Select', SelectLocaleHelper)\n@withSize\n// Suggested solutions break current behavior\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport class Select<TValue = {}, TItem = {}> extends React.Component<SelectProps<TValue, TItem>, SelectState<TValue>> {\n public static __KONTUR_REACT_UI__ = 'Select';\n public static displayName = 'Select';\n\n public static defaultProps: DefaultProps<unknown, ReactNode | ReactPortal> = {\n renderValue,\n renderItem,\n areValuesEqual,\n filterItem,\n use: 'default',\n };\n\n public static Item = Item;\n public static SEP = () => <MenuSeparator />;\n\n public static staticElement = (element: React.ReactElement | (() => React.ReactElement)) => {\n invariant(\n React.isValidElement(element) || typeof element === 'function',\n 'Select.staticElement(element) expects element to be a valid react element.',\n );\n return element;\n };\n\n public state: SelectState<TValue> = {\n opened: false,\n value: this.props.defaultValue,\n searchPattern: '',\n };\n\n private theme!: Theme;\n private size!: SizeProp;\n private isMobileLayout!: boolean;\n private readonly locale!: SelectLocale;\n private menu: Nullable<Menu>;\n private menuId = SelectIds.menu + getRandomID();\n private buttonElement: FocusableReactElement | null = null;\n private getProps = createPropsGetter(Select.defaultProps);\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(_prevProps: SelectProps<TValue, TItem>, prevState: SelectState<TValue>) {\n if (!prevState.opened && this.state.opened) {\n globalObject.addEventListener?.('popstate', this.close);\n }\n if (prevState.opened && !this.state.opened) {\n globalObject.removeEventListener?.('popstate', this.close);\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = ThemeFactory.create(\n {\n menuOffsetY: theme.selectMenuOffsetY,\n },\n theme,\n );\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public open = () => {\n if (!this.state.opened) {\n this.setState({ opened: true });\n\n if (this.props.onOpen) {\n this.props.onOpen();\n }\n }\n };\n\n /**\n * @public\n */\n public close = () => {\n if (this.state.opened) {\n this.setState({ opened: false, searchPattern: '' });\n\n if (this.props.onClose) {\n this.props.onClose();\n }\n }\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.buttonElement && this.buttonElement.focus) {\n this.buttonElement.focus();\n }\n };\n\n private getMenuRenderer() {\n if (this.props.disabled) {\n return null;\n }\n\n if (this.isMobileLayout) {\n return this.renderMobileMenu();\n }\n\n if (this.state.opened) {\n return this.renderMenu();\n }\n\n return null;\n }\n\n private renderMain() {\n const buttonParams = this.getDefaultButtonParams();\n const dataTid = this.getProps()['data-tid'] ?? SelectDataTids.root;\n const button = (\n <ThemeContext.Provider value={getSelectTheme(this.theme, this.props)}>\n {this.getButton(buttonParams)}\n </ThemeContext.Provider>\n );\n\n const isMobile = this.isMobileLayout;\n\n const style = {\n width: this.props.width,\n maxWidth: this.props.maxWidth || undefined,\n };\n\n const root = (\n <span\n data-tid={dataTid}\n className={cx({ [styles.root()]: true, [styles.rootMobile(this.theme)]: isMobile })}\n style={style}\n >\n {button}\n {this.getMenuRenderer()}\n </span>\n );\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <RenderLayer\n onClickOutside={this.close}\n onFocusOutside={this.close}\n active={isMobile ? false : this.state.opened}\n >\n {root}\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n private getDefaultButtonParams = (): ButtonParams => {\n const { label, isPlaceholder } = this.renderLabel();\n\n const buttonParams: ButtonParams = {\n opened: this.state.opened,\n label,\n isPlaceholder,\n onClick: this.toggle,\n onKeyDown: this.handleKey,\n size: this.size,\n disabled: this.getProps().disabled,\n };\n\n return buttonParams;\n };\n\n private renderLabel() {\n const value = this.getValue();\n const item = this.getItemByValue(value);\n\n if (isNonNullable(value)) {\n return {\n label: this.getProps().renderValue(value, item),\n isPlaceholder: false,\n };\n }\n\n return {\n label: <span>{this.props.placeholder ?? this.locale?.placeholder}</span>,\n isPlaceholder: true,\n };\n }\n\n private getLeftIconClass(size: SizeProp | undefined) {\n if (this.getProps().use === 'link') {\n return styles.leftIconLink(this.theme);\n }\n\n switch (size) {\n case 'large':\n return styles.leftIconLarge(this.theme);\n case 'medium':\n return styles.leftIconMedium(this.theme);\n case 'small':\n default:\n return styles.leftIconSmall(this.theme);\n }\n }\n\n private renderDefaultButton(params: ButtonParams) {\n const buttonProps: ButtonProps = {\n ...filterProps(this.props, PASS_BUTTON_PROPS),\n align: 'left' as React.CSSProperties['textAlign'],\n disabled: this.props.disabled,\n width: '100%',\n onClick: params.onClick,\n onKeyDown: params.onKeyDown,\n active: params.opened,\n size: params.size,\n };\n const use = this.getProps().use;\n\n const labelProps = {\n 'data-tid': SelectDataTids.label,\n className: cx({\n [styles.label()]: use !== 'link',\n [styles.placeholder(this.theme)]: params.isPlaceholder,\n [styles.customUsePlaceholder()]: params.isPlaceholder && use !== 'default',\n [styles.placeholderDisabled(this.theme)]: params.isPlaceholder && this.props.disabled,\n }),\n style: {\n paddingRight: this.getSelectIconGap(),\n },\n };\n\n const useIsCustom = use !== 'default';\n\n const icon = <ArrowDownIcon size={this.size} />;\n\n return (\n <Button {...buttonProps}>\n <div className={cx(styles.selectButtonContainer(), { [linkStyles.root(this.theme)]: use === 'link' })}>\n {this.props._icon && <div className={this.getLeftIconClass(this.size)}>{this.props._icon}</div>}\n <span {...labelProps}>{params.label}</span>\n\n <div\n className={cx(styles.arrowWrap(this.theme), {\n [styles.arrowDisabled(this.theme)]: this.props.disabled,\n [styles.customUseArrow()]: useIsCustom,\n })}\n >\n {icon}\n </div>\n </div>\n </Button>\n );\n }\n\n private getSelectIconGap(): number {\n const getArrowPadding = () => {\n switch (this.size) {\n case 'large':\n return this.theme.selectIconGapLarge;\n case 'medium':\n return this.theme.selectIconGapMedium;\n case 'small':\n default:\n return this.theme.selectIconGapSmall;\n }\n };\n const arrowLeftPadding = parseFloat(getArrowPadding()) || 0;\n\n return arrowLeftPadding;\n }\n\n private renderMenu(): React.ReactNode {\n const search = this.props.search ? this.getSearch() : null;\n\n const value = this.getValue();\n const { menuWidth, menuPos, menuAlign, positions } = this.getProps();\n\n return (\n <Popup\n opened\n hasShadow\n id={this.menuId}\n data-tid={SelectDataTids.menu}\n positions={positions ?? getMenuPositions(menuPos, menuAlign)}\n anchorElement={this.popupGetParent()}\n priority={ZIndex.priorities.PopupMenu}\n disablePortal={this.props.disablePortal}\n margin={parseInt(this.theme.menuOffsetY) - 1}\n width={menuWidth}\n minWidth={menuWidth === undefined ? '100%' : undefined}\n popupOffset={this.props.menuOffset}\n >\n <Menu\n hasMargin={false}\n ref={this.refMenu}\n onItemClick={this.close}\n maxHeight={this.props.maxMenuHeight}\n align={menuAlign}\n >\n {search}\n {this.getMenuItems(value)}\n </Menu>\n </Popup>\n );\n }\n\n private getSearch = () => {\n return (\n <div className={styles.search()} onKeyDown={this.handleKey}>\n <Input ref={this.debouncedFocusInput} onValueChange={this.handleSearch} width=\"100%\" />\n </div>\n );\n };\n\n private renderMobileMenu(): React.ReactNode {\n const search = this.props.search ? this.getMobileSearch() : null;\n const value = this.getValue();\n\n return (\n <MobilePopup\n headerChildComponent={search}\n caption={this.props.mobileMenuHeaderText}\n onCloseRequest={this.close}\n opened={this.state.opened}\n >\n <Menu onItemClick={this.close} disableScrollContainer maxHeight={'auto'}>\n {this.getMenuItems(value)}\n </Menu>\n </MobilePopup>\n );\n }\n\n private getMobileSearch = () => {\n return (\n <Input\n autoFocus\n value={this.state.searchPattern}\n ref={this.debouncedFocusInput}\n onValueChange={this.handleSearch}\n width=\"100%\"\n />\n );\n };\n\n private getMenuItems = (value: Nullable<TValue>) => {\n const isMobile = this.isMobileLayout;\n const size = this.size;\n\n return this.mapItems(\n (iValue: TValue, item: TItem | (() => React.ReactNode), i: number, comment: Nullable<React.ReactNode>) => {\n if (isFunction(item)) {\n const element = item();\n\n if (React.isValidElement(element)) {\n return React.cloneElement(element, { key: i, isMobile, size } as MenuItemProps);\n }\n\n return null;\n }\n\n if (React.isValidElement(item)) {\n if (isReactUINode('MenuItem', item)) {\n return React.cloneElement(item, { key: i, isMobile, size } as MenuItemProps);\n }\n if (isReactUINode('MenuHeader', item)) {\n return React.cloneElement(item, { size } as MenuHeaderProps);\n }\n return React.cloneElement(item, { key: i });\n }\n\n return (\n <MenuItem\n key={i}\n state={this.areValuesEqual(iValue, value) ? 'selected' : null}\n onClick={this.select.bind(this, iValue)}\n comment={comment}\n isMobile={isMobile}\n size={this.size}\n >\n {this.getProps().renderItem(iValue, item)}\n </MenuItem>\n );\n },\n );\n };\n\n private popupGetParent = () => {\n return getRootNode(this);\n };\n\n // fix cases when an Input is rendered in portal\n // https://github.com/skbkontur/retail-ui/issues/1995\n private focusInput = (input: Input) => input?.focus();\n private debouncedFocusInput = debounce(this.focusInput);\n\n private refMenu = (menu: Menu) => {\n this.menu = menu;\n };\n\n private toggle = () => {\n if (this.state.opened) {\n this.close();\n } else {\n this.open();\n }\n };\n\n private handleKey = (e: React.KeyboardEvent<HTMLElement>) => {\n if (!this.state.opened) {\n if (isKeySpace(e) || isKeyArrowVertical(e)) {\n e.preventDefault();\n this.open();\n }\n } else {\n switch (true) {\n case isKeyEscape(e):\n this.focus();\n this.close();\n break;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n break;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n break;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n break;\n }\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleSearch = (value: string) => {\n this.setState({ searchPattern: value });\n this.menu?.highlightItem(0);\n };\n\n private select(value: TValue) {\n this.focus();\n this.setState({ opened: false, value });\n\n if (!this.areValuesEqual(this.getValue(), value)) {\n this.props.onValueChange?.(value);\n }\n }\n\n private getValue() {\n if (this.props.value !== undefined) {\n return this.props.value;\n }\n return this.state.value;\n }\n\n private mapItems(fn: (value: TValue, item: TItem, index: number, comment?: string) => React.ReactNode) {\n const { items } = this.props;\n if (!items) {\n return [];\n }\n const pattern = this.state.searchPattern && this.state.searchPattern.toLowerCase();\n\n const result: React.ReactNode[] = [];\n let index = 0;\n for (const entry of items) {\n const [value, item, comment] = normalizeEntry(entry as TItem);\n\n if (!pattern || this.getProps().filterItem(value, item, pattern)) {\n result.push(fn(value, item, index, comment));\n ++index;\n }\n }\n\n return result;\n }\n\n private getItemByValue(value?: Nullable<TValue>) {\n if (value === null || value === undefined) {\n return null;\n }\n\n const items = this.props.items || [];\n\n for (const entry of items) {\n const [itemValue, item] = normalizeEntry(entry);\n\n if (this.areValuesEqual(itemValue, value)) {\n return item;\n }\n }\n return null;\n }\n\n private areValuesEqual(value1: Nullable<TValue>, value2: Nullable<TValue>) {\n return isNonNullable(value1) && isNonNullable(value2) && this.getProps().areValuesEqual(value1, value2);\n }\n\n private buttonRef = (element: FocusableReactElement | null) => {\n this.buttonElement = element;\n };\n\n private getButton = (buttonParams: ButtonParams) => {\n const button = this.props._renderButton\n ? this.props._renderButton(buttonParams)\n : this.renderDefaultButton(buttonParams);\n\n const buttonElement = React.Children.only(button);\n\n return React.isValidElement(buttonElement)\n ? React.cloneElement(buttonElement as React.ReactElement, {\n ref: this.buttonRef,\n onFocus: this.props.onFocus,\n onBlur: this.props.onBlur,\n size: this.size,\n 'aria-describedby': this.props['aria-describedby'],\n 'aria-expanded': this.state.opened ? 'true' : 'false',\n 'aria-controls': this.menuId,\n 'aria-label': (buttonElement as React.ReactElement).props['aria-label'] ?? this.props['aria-label'],\n })\n : buttonElement;\n };\n}\n\nfunction renderValue<TValue, TItem>(value: TValue, item: Nullable<TItem>) {\n return item;\n}\n\nfunction renderItem<TValue, TItem>(value: TValue, item?: TItem) {\n return item;\n}\n\nfunction areValuesEqual<TValue>(value1: TValue, value2: TValue) {\n return value1 === value2;\n}\n\nfunction normalizeEntry(entry: any) {\n if (Array.isArray(entry)) {\n return entry;\n }\n\n return [entry, entry, undefined];\n}\n\nconst getTextFromItem = (item: any): string => {\n if (typeof item === 'string') {\n return item;\n }\n\n if (isFunction(item)) {\n return getTextFromItem(item());\n }\n\n if (React.isValidElement(item)) {\n return reactGetTextContent(item);\n }\n\n if (typeof item === 'number') {\n return item.toString(10);\n }\n\n return '';\n};\n\nfunction filterItem<TValue>(value: TValue, item: any, pattern: string) {\n if (item === Select.SEP) {\n return false;\n }\n\n const itemText = getTextFromItem(item);\n\n if (!itemText) {\n return false;\n }\n\n return itemText.toLowerCase().indexOf(pattern) !== -1;\n}\n"],"mappings":";AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,WAAW;AACjC,SAASC,YAAY,QAAQ,0BAA0B;AACvD,OAAOC,QAAQ,MAAM,iBAAiB;;AAEtC;EACEC,cAAc;EACdC,YAAY;EACZC,kBAAkB;EAClBC,UAAU;EACVC,WAAW;EACXC,UAAU;AACL,uCAAuC;AAC9C,SAASC,MAAM,QAAQ,6BAA6B;AACpD,SAASC,mBAAmB,QAAQ,+BAA+B;;AAEnE,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,WAAW,QAAQ,uBAAuB;AACnD,SAASC,KAAK,QAAQ,UAAU;AAChC,SAASC,IAAI,QAAQ,qBAAqB;;AAE1C,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,WAAW,QAAQ,4BAA4B;AACxD,SAASC,iBAAiB,QAAQ,6BAA6B;;AAE/D,SAASC,WAAW,EAAEC,UAAU,EAAEC,aAAa,EAAEC,aAAa,QAAQ,iBAAiB;AACvF,SAASC,YAAY,QAAQ,gCAAgC;;;AAG7D,SAASC,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,WAAW,QAAQ,4BAA4B;AACxD,SAASC,EAAE,QAAQ,2BAA2B;AAC9C,SAASC,gBAAgB,QAAQ,+BAA+B;;AAEhE,SAASC,WAAW,EAAEC,QAAQ,QAAQ,oBAAoB;AAC1D,SAASC,YAAY,QAAQ,gCAAgC;;;AAG7D,SAASC,MAAM,IAAIC,UAAU,QAAQ,qBAAqB;AAC1D,SAASC,KAAK,QAAiC,sBAAsB;AACrE,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,gBAAgB,QAAQ,4BAA4B;AAC7D,SAASC,QAAQ,QAAQ,8BAA8B;;AAEvD,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,IAAI,QAAQ,QAAQ;;AAE7B,SAASC,kBAAkB,QAAQ,UAAU;AAC7C,SAASR,MAAM,QAAQ,iBAAiB;AACxC,SAASS,cAAc,QAAQ,eAAe;AAC9C,SAASC,cAAc,QAAQ,QAAQ;;AAEvC,cAAc,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BtB,IAAMC,iBAAiB,GAAG;EACxBC,EAAE,EAAE,IAAI;EACRC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,IAAI;EACXC,GAAG,EAAE,IAAI;EACTC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE,IAAI;EACbC,OAAO,EAAE,IAAI;;EAEbC,YAAY,EAAE,IAAI;EAClBC,YAAY,EAAE,IAAI;EAClBC,WAAW,EAAE;AACf,CAAC;;AAED,OAAO,IAAMC,SAAS,GAAG;EACvBC,IAAI,EAAEb,cAAc,CAACa;AACvB,CAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6JV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;AAMaC,MAAM,IAAAC,IAAA,GAJlB/C,MAAM,CAAC,QAAQ,EAAE8B,kBAAkB,CAAC,EAFpCZ,gBAAgB,CAAA8B,MAAA,GAChB5B,QAAQ,CAAA4B,MAAA,GAAAD,IAAA,CAAAC,MAAA,GAERrB,QAAQ,CAAAqB,MAAA,IAAAC,OAAA,0BAAAC,gBAAA,YAAAJ,OAAA,OAAAK,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;;;;;;;;;;;;;IA0BAU,KAAK,GAAwB;MAClCC,MAAM,EAAE,KAAK;MACbC,KAAK,EAAEZ,KAAA,CAAKa,KAAK,CAACC,YAAY;MAC9BC,aAAa,EAAE;IACjB,CAAC,CAAAf,KAAA;;;;;;;IAOOgB,MAAM,GAAGvB,SAAS,CAACC,IAAI,GAAGnC,WAAW,CAAC,CAAC,CAAAyC,KAAA;IACvCiB,aAAa,GAAiC,IAAI,CAAAjB,KAAA;IAClDkB,QAAQ,GAAG5D,iBAAiB,CAACqC,MAAM,CAACwB,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6BzD;AACF;AACA,OAFEnB,KAAA;IAGOoB,IAAI,GAAG,YAAM;MAClB,IAAI,CAACpB,KAAA,CAAKU,KAAK,CAACC,MAAM,EAAE;QACtBX,KAAA,CAAKqB,QAAQ,CAAC,EAAEV,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;;QAE/B,IAAIX,KAAA,CAAKa,KAAK,CAACS,MAAM,EAAE;UACrBtB,KAAA,CAAKa,KAAK,CAACS,MAAM,CAAC,CAAC;QACrB;MACF;IACF,CAAC;;IAED;AACF;AACA,OAFEtB,KAAA;IAGOuB,KAAK,GAAG,YAAM;MACnB,IAAIvB,KAAA,CAAKU,KAAK,CAACC,MAAM,EAAE;QACrBX,KAAA,CAAKqB,QAAQ,CAAC,EAAEV,MAAM,EAAE,KAAK,EAAEI,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;;QAEnD,IAAIf,KAAA,CAAKa,KAAK,CAACW,OAAO,EAAE;UACtBxB,KAAA,CAAKa,KAAK,CAACW,OAAO,CAAC,CAAC;QACtB;MACF;IACF,CAAC;;IAED;AACF;AACA,OAFExB,KAAA;IAGOyB,KAAK,GAAG,YAAM;MACnB,IAAIzB,KAAA,CAAKiB,aAAa,IAAIjB,KAAA,CAAKiB,aAAa,CAACQ,KAAK,EAAE;QAClDzB,KAAA,CAAKiB,aAAa,CAACQ,KAAK,CAAC,CAAC;MAC5B;IACF,CAAC,CAAAzB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0DO0B,sBAAsB,GAAG,YAAoB;MACnD,IAAAC,iBAAA,GAAiC3B,KAAA,CAAK4B,WAAW,CAAC,CAAC,CAA3CC,KAAK,GAAAF,iBAAA,CAALE,KAAK,CAAEC,aAAa,GAAAH,iBAAA,CAAbG,aAAa;;MAE5B,IAAMC,YAA0B,GAAG;QACjCpB,MAAM,EAAEX,KAAA,CAAKU,KAAK,CAACC,MAAM;QACzBkB,KAAK,EAALA,KAAK;QACLC,aAAa,EAAbA,aAAa;QACbE,OAAO,EAAEhC,KAAA,CAAKiC,MAAM;QACpBC,SAAS,EAAElC,KAAA,CAAKmC,SAAS;QACzBhD,IAAI,EAAEa,KAAA,CAAKb,IAAI;QACfH,QAAQ,EAAEgB,KAAA,CAAKkB,QAAQ,CAAC,CAAC,CAAClC;MAC5B,CAAC;;MAED,OAAO+C,YAAY;IACrB,CAAC,CAAA/B,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwIOoC,SAAS,GAAG,YAAM;MACxB;QACEjG,KAAA,CAAAkG,aAAA,UAAKC,SAAS,EAAEnE,MAAM,CAACoE,MAAM,CAAC,CAAE,EAACL,SAAS,EAAElC,KAAA,CAAKmC,SAAU;QACzDhG,KAAA,CAAAkG,aAAA,CAACpF,KAAK,IAACuF,GAAG,EAAExC,KAAA,CAAKyC,mBAAoB,EAACC,aAAa,EAAE1C,KAAA,CAAK2C,YAAa,EAACC,KAAK,EAAC,MAAM,EAAE;QACnF,CAAC;;IAEV,CAAC,CAAA5C,KAAA;;;;;;;;;;;;;;;;;;;;IAoBO6C,eAAe,GAAG,YAAM;MAC9B;QACE1G,KAAA,CAAAkG,aAAA,CAACpF,KAAK;UACJ6F,SAAS;UACTlC,KAAK,EAAEZ,KAAA,CAAKU,KAAK,CAACK,aAAc;UAChCyB,GAAG,EAAExC,KAAA,CAAKyC,mBAAoB;UAC9BC,aAAa,EAAE1C,KAAA,CAAK2C,YAAa;UACjCC,KAAK,EAAC,MAAM;QACb,CAAC;;IAEN,CAAC,CAAA5C,KAAA;;IAEO+C,YAAY,GAAG,UAACnC,KAAuB,EAAK;MAClD,IAAMoC,QAAQ,GAAGhD,KAAA,CAAKiD,cAAc;MACpC,IAAM9D,IAAI,GAAGa,KAAA,CAAKb,IAAI;;MAEtB,OAAOa,KAAA,CAAKkD,QAAQ;QAClB,UAACC,MAAc,EAAEC,IAAqC,EAAEC,CAAS,EAAEC,OAAkC,EAAK;UACxG,IAAI9F,UAAU,CAAC4F,IAAI,CAAC,EAAE;YACpB,IAAMG,OAAO,GAAGH,IAAI,CAAC,CAAC;;YAEtB,kBAAIjH,KAAK,CAACqH,cAAc,CAACD,OAAO,CAAC,EAAE;cACjC,oBAAOpH,KAAK,CAACsH,YAAY,CAACF,OAAO,EAAE,EAAEG,GAAG,EAAEL,CAAC,EAAEL,QAAQ,EAARA,QAAQ,EAAE7D,IAAI,EAAJA,IAAI,CAAC,CAAkB,CAAC;YACjF;;YAEA,OAAO,IAAI;UACb;;UAEA,kBAAIhD,KAAK,CAACqH,cAAc,CAACJ,IAAI,CAAC,EAAE;YAC9B,IAAI1F,aAAa,CAAC,UAAU,EAAE0F,IAAI,CAAC,EAAE;cACnC,oBAAOjH,KAAK,CAACsH,YAAY,CAACL,IAAI,EAAE,EAAEM,GAAG,EAAEL,CAAC,EAAEL,QAAQ,EAARA,QAAQ,EAAE7D,IAAI,EAAJA,IAAI,CAAC,CAAkB,CAAC;YAC9E;YACA,IAAIzB,aAAa,CAAC,YAAY,EAAE0F,IAAI,CAAC,EAAE;cACrC,oBAAOjH,KAAK,CAACsH,YAAY,CAACL,IAAI,EAAE,EAAEjE,IAAI,EAAJA,IAAI,CAAC,CAAoB,CAAC;YAC9D;YACA,oBAAOhD,KAAK,CAACsH,YAAY,CAACL,IAAI,EAAE,EAAEM,GAAG,EAAEL,CAAC,CAAC,CAAC,CAAC;UAC7C;;UAEA;YACElH,KAAA,CAAAkG,aAAA,CAAClF,QAAQ;cACPuG,GAAG,EAAEL,CAAE;cACP3C,KAAK,EAAEV,KAAA,CAAK2D,cAAc,CAACR,MAAM,EAAEvC,KAAK,CAAC,GAAG,UAAU,GAAG,IAAK;cAC9DoB,OAAO,EAAEhC,KAAA,CAAK4D,MAAM,CAACC,IAAI,CAAA7D,KAAA,EAAOmD,MAAM,CAAE;cACxCG,OAAO,EAAEA,OAAQ;cACjBN,QAAQ,EAAEA,QAAS;cACnB7D,IAAI,EAAEa,KAAA,CAAKb,IAAK;;YAEfa,KAAA,CAAKkB,QAAQ,CAAC,CAAC,CAAC4C,UAAU,CAACX,MAAM,EAAEC,IAAI;YAChC,CAAC;;QAEf;MACF,CAAC;IACH,CAAC,CAAApD,KAAA;;IAEO+D,cAAc,GAAG,YAAM;MAC7B,OAAO/F,WAAW,CAAAgC,KAAK,CAAC;IAC1B,CAAC;;IAED;IACA;IAAAA,KAAA,CACQgE,UAAU,GAAG,UAACC,KAAY,UAAKA,KAAK,oBAALA,KAAK,CAAExC,KAAK,CAAC,CAAC,GAAAzB,KAAA;IAC7CyC,mBAAmB,GAAGnG,QAAQ,CAAC0D,KAAA,CAAKgE,UAAU,CAAC,CAAAhE,KAAA;;IAE/CkE,OAAO,GAAG,UAACxE,IAAU,EAAK;MAChCM,KAAA,CAAKN,IAAI,GAAGA,IAAI;IAClB,CAAC,CAAAM,KAAA;;IAEOiC,MAAM,GAAG,YAAM;MACrB,IAAIjC,KAAA,CAAKU,KAAK,CAACC,MAAM,EAAE;QACrBX,KAAA,CAAKuB,KAAK,CAAC,CAAC;MACd,CAAC,MAAM;QACLvB,KAAA,CAAKoB,IAAI,CAAC,CAAC;MACb;IACF,CAAC,CAAApB,KAAA;;IAEOmC,SAAS,GAAG,UAACgC,CAAmC,EAAK;MAC3D,IAAI,CAACnE,KAAA,CAAKU,KAAK,CAACC,MAAM,EAAE;QACtB,IAAI/D,UAAU,CAACuH,CAAC,CAAC,IAAI1H,kBAAkB,CAAC0H,CAAC,CAAC,EAAE;UAC1CA,CAAC,CAACC,cAAc,CAAC,CAAC;UAClBpE,KAAA,CAAKoB,IAAI,CAAC,CAAC;QACb;MACF,CAAC,MAAM;QACL,QAAQ,IAAI;UACV,KAAKzE,WAAW,CAACwH,CAAC,CAAC;YACjBnE,KAAA,CAAKyB,KAAK,CAAC,CAAC;YACZzB,KAAA,CAAKuB,KAAK,CAAC,CAAC;YACZ;UACF,KAAK/E,YAAY,CAAC2H,CAAC,CAAC;YAClBA,CAAC,CAACC,cAAc,CAAC,CAAC;YAClB,IAAIpE,KAAA,CAAKN,IAAI,EAAE;cACbM,KAAA,CAAKN,IAAI,CAAC2E,EAAE,CAAC,CAAC;YAChB;YACA;UACF,KAAK9H,cAAc,CAAC4H,CAAC,CAAC;YACpBA,CAAC,CAACC,cAAc,CAAC,CAAC;YAClB,IAAIpE,KAAA,CAAKN,IAAI,EAAE;cACbM,KAAA,CAAKN,IAAI,CAAC4E,IAAI,CAAC,CAAC;YAClB;YACA;UACF,KAAK5H,UAAU,CAACyH,CAAC,CAAC;YAChBA,CAAC,CAACC,cAAc,CAAC,CAAC,CAAC,CAAC;YACpB,IAAIpE,KAAA,CAAKN,IAAI,EAAE;cACbM,KAAA,CAAKN,IAAI,CAAC6E,KAAK,CAACJ,CAAC,CAAC;YACpB;YACA;QACJ;MACF;MACA,IAAInE,KAAA,CAAKa,KAAK,CAACqB,SAAS,EAAE;QACxBlC,KAAA,CAAKa,KAAK,CAACqB,SAAS,CAACiC,CAAC,CAAC;MACzB;IACF,CAAC,CAAAnE,KAAA;;IAEO2C,YAAY,GAAG,UAAC/B,KAAa,EAAK,KAAA4D,UAAA;MACxCxE,KAAA,CAAKqB,QAAQ,CAAC,EAAEN,aAAa,EAAEH,KAAK,CAAC,CAAC,CAAC;MACvC,CAAA4D,UAAA,GAAAxE,KAAA,CAAKN,IAAI,aAAT8E,UAAA,CAAWC,aAAa,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAAzE,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4DO0E,SAAS,GAAG,UAACnB,OAAqC,EAAK;MAC7DvD,KAAA,CAAKiB,aAAa,GAAGsC,OAAO;IAC9B,CAAC,CAAAvD,KAAA;;IAEO2E,SAAS,GAAG,UAAC5C,YAA0B,EAAK,KAAA6C,gBAAA;MAClD,IAAMC,MAAM,GAAG7E,KAAA,CAAKa,KAAK,CAACiE,aAAa;MACnC9E,KAAA,CAAKa,KAAK,CAACiE,aAAa,CAAC/C,YAAY,CAAC;MACtC/B,KAAA,CAAK+E,mBAAmB,CAAChD,YAAY,CAAC;;MAE1C,IAAMd,aAAa,GAAG9E,KAAK,CAAC6I,QAAQ,CAACC,IAAI,CAACJ,MAAM,CAAC;;MAEjD,OAAO,aAAA1I,KAAK,CAACqH,cAAc,CAACvC,aAAa,CAAC;MACtC9E,KAAK,CAACsH,YAAY,CAACxC,aAAa,EAAwB;QACtDuB,GAAG,EAAExC,KAAA,CAAK0E,SAAS;QACnBQ,OAAO,EAAElF,KAAA,CAAKa,KAAK,CAACqE,OAAO;QAC3BC,MAAM,EAAEnF,KAAA,CAAKa,KAAK,CAACsE,MAAM;QACzBhG,IAAI,EAAEa,KAAA,CAAKb,IAAI;QACf,kBAAkB,EAAEa,KAAA,CAAKa,KAAK,CAAC,kBAAkB,CAAC;QAClD,eAAe,EAAEb,KAAA,CAAKU,KAAK,CAACC,MAAM,GAAG,MAAM,GAAG,OAAO;QACrD,eAAe,EAAEX,KAAA,CAAKgB,MAAM;QAC5B,YAAY,GAAA4D,gBAAA,GAAG3D,aAAa,CAAwBJ,KAAK,CAAC,YAAY,CAAC,YAAA+D,gBAAA,GAAI5E,KAAA,CAAKa,KAAK,CAAC,YAAY;MACpG,CAAC,CAAC;MACFI,aAAa;IACnB,CAAC,QAAAjB,KAAA,EAAAoF,cAAA,CAAAzF,MAAA,EAAAI,gBAAA,MAAAsF,MAAA,GAAA1F,MAAA,CAAA2F,SAAA,CAAAD,MAAA,CA1eME,kBAAkB,GAAzB,SAAAA,mBAA0BC,UAAsC,EAAEC,SAA8B,EAAE,CAChG,IAAI,CAACA,SAAS,CAAC9E,MAAM,IAAI,IAAI,CAACD,KAAK,CAACC,MAAM,EAAE,CAC1CtE,YAAY,CAACqJ,gBAAgB,YAA7BrJ,YAAY,CAACqJ,gBAAgB,CAAG,UAAU,EAAE,IAAI,CAACnE,KAAK,CAAC,CACzD,CACA,IAAIkE,SAAS,CAAC9E,MAAM,IAAI,CAAC,IAAI,CAACD,KAAK,CAACC,MAAM,EAAE,CAC1CtE,YAAY,CAACsJ,mBAAmB,YAAhCtJ,YAAY,CAACsJ,mBAAmB,CAAG,UAAU,EAAE,IAAI,CAACpE,KAAK,CAAC,CAC5D,CACF,CAAC,CAAA8D,MAAA,CAEMO,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACE1J,KAAA,CAAAkG,aAAA,CAAC1E,YAAY,CAACmI,QAAQ,QACnB,UAACC,KAAK,EAAK,CACVF,MAAI,CAACE,KAAK,GAAG7H,YAAY,CAAC8H,MAAM,CAC9B,EACEC,WAAW,EAAEF,KAAK,CAACG,iBAAiB,CACtC,CAAC,EACDH,KACF,CAAC,CACD,oBAAO5J,KAAA,CAAAkG,aAAA,CAAC1E,YAAY,CAACwI,QAAQ,IAACvF,KAAK,EAAEiF,MAAI,CAACE,KAAM,IAAEF,MAAI,CAACO,UAAU,CAAC,CAAyB,CAAC,CAC9F,CACqB,CAAC,CAE5B,CAAC,CAAAf,MAAA,CAqCOgB,eAAe,GAAvB,SAAAA,gBAAA,EAA0B,CACxB,IAAI,IAAI,CAACxF,KAAK,CAAC7B,QAAQ,EAAE,CACvB,OAAO,IAAI,CACb,CAEA,IAAI,IAAI,CAACiE,cAAc,EAAE,CACvB,OAAO,IAAI,CAACqD,gBAAgB,CAAC,CAAC,CAChC,CAEA,IAAI,IAAI,CAAC5F,KAAK,CAACC,MAAM,EAAE,CACrB,OAAO,IAAI,CAAC4F,UAAU,CAAC,CAAC,CAC1B,CAEA,OAAO,IAAI,CACb,CAAC,CAAAlB,MAAA,CAEOe,UAAU,GAAlB,SAAAA,WAAA,EAAqB,KAAAI,oBAAA,EAAAC,GAAA,CACnB,IAAM1E,YAAY,GAAG,IAAI,CAACL,sBAAsB,CAAC,CAAC,CAClD,IAAMgF,OAAO,IAAAF,oBAAA,GAAG,IAAI,CAACtF,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,YAAAsF,oBAAA,GAAI3H,cAAc,CAAC8H,IAAI,CAClE,IAAM9B,MAAM,gBACV1I,KAAA,CAAAkG,aAAA,CAAC1E,YAAY,CAACwI,QAAQ,IAACvF,KAAK,EAAEhC,cAAc,CAAC,IAAI,CAACmH,KAAK,EAAE,IAAI,CAAClF,KAAK,CAAE,IAClE,IAAI,CAAC8D,SAAS,CAAC5C,YAAY,CACP,CACxB,CAED,IAAMiB,QAAQ,GAAG,IAAI,CAACC,cAAc,CAEpC,IAAM2D,KAAK,GAAG,EACZhE,KAAK,EAAE,IAAI,CAAC/B,KAAK,CAAC+B,KAAK,EACvBiE,QAAQ,EAAE,IAAI,CAAChG,KAAK,CAACgG,QAAQ,IAAIC,SAAS,CAC5C,CAAC,CAED,IAAMH,IAAI,gBACRxK,KAAA,CAAAkG,aAAA,WACE,YAAUqE,OAAQ,EAClBpE,SAAS,EAAExE,EAAE,EAAA2I,GAAA,OAAAA,GAAA,CAAItI,MAAM,CAACwI,IAAI,CAAC,CAAC,IAAG,IAAI,EAAAF,GAAA,CAAGtI,MAAM,CAAC4I,UAAU,CAAC,IAAI,CAAChB,KAAK,CAAC,IAAG/C,QAAQ,EAAAyD,GAAA,CAAE,CAAE,EACpFG,KAAK,EAAEA,KAAM,IAEZ/B,MAAM,EACN,IAAI,CAACwB,eAAe,CAAC,CAClB,CACP,CAED,oBACElK,KAAA,CAAAkG,aAAA,CAACzE,aAAa,EAAAoJ,QAAA,GAACC,WAAW,EAAE,IAAI,CAACC,WAAY,IAAK,IAAI,CAACrG,KAAK,gBAC1D1E,KAAA,CAAAkG,aAAA,CAAChF,WAAW,IACV8J,cAAc,EAAE,IAAI,CAAC5F,KAAM,EAC3B6F,cAAc,EAAE,IAAI,CAAC7F,KAAM,EAC3B8F,MAAM,EAAErE,QAAQ,GAAG,KAAK,GAAG,IAAI,CAACtC,KAAK,CAACC,MAAO,IAE5CgG,IACU,CACA,CAAC,CAEpB,CAAC,CAAAtB,MAAA,CAkBOzD,WAAW,GAAnB,SAAAA,YAAA,EAAsB,KAAA0F,qBAAA,EAAAC,YAAA,CACpB,IAAM3G,KAAK,GAAG,IAAI,CAAC4G,QAAQ,CAAC,CAAC,CAC7B,IAAMpE,IAAI,GAAG,IAAI,CAACqE,cAAc,CAAC7G,KAAK,CAAC,CAEvC,IAAInD,aAAa,CAACmD,KAAK,CAAC,EAAE,CACxB,OAAO,EACLiB,KAAK,EAAE,IAAI,CAACX,QAAQ,CAAC,CAAC,CAACwG,WAAW,CAAC9G,KAAK,EAAEwC,IAAI,CAAC,EAC/CtB,aAAa,EAAE,KAAK,CACtB,CAAC,CACH,CAEA,OAAO,EACLD,KAAK,eAAE1F,KAAA,CAAAkG,aAAA,gBAAAiF,qBAAA,GAAO,IAAI,CAACzG,KAAK,CAAC8G,WAAW,YAAAL,qBAAA,IAAAC,YAAA,GAAI,IAAI,CAAC1K,MAAM,qBAAX0K,YAAA,CAAaI,WAAkB,CAAC,EACxE7F,aAAa,EAAE,IAAI,CACrB,CAAC,CACH,CAAC,CAAAuD,MAAA,CAEOuC,gBAAgB,GAAxB,SAAAA,iBAAyBzI,IAA0B,EAAE,CACnD,IAAI,IAAI,CAAC+B,QAAQ,CAAC,CAAC,CAAChC,GAAG,KAAK,MAAM,EAAE,CAClC,OAAOf,MAAM,CAAC0J,YAAY,CAAC,IAAI,CAAC9B,KAAK,CAAC,CACxC,CAEA,QAAQ5G,IAAI,GACV,KAAK,OAAO,CACV,OAAOhB,MAAM,CAAC2J,aAAa,CAAC,IAAI,CAAC/B,KAAK,CAAC,CACzC,KAAK,QAAQ,CACX,OAAO5H,MAAM,CAAC4J,cAAc,CAAC,IAAI,CAAChC,KAAK,CAAC,CAC1C,KAAK,OAAO,CACZ,QACE,OAAO5H,MAAM,CAAC6J,aAAa,CAAC,IAAI,CAACjC,KAAK,CAAC,CAC3C,CACF,CAAC,CAAAV,MAAA,CAEON,mBAAmB,GAA3B,SAAAA,oBAA4BkD,MAAoB,EAAE,KAAAC,IAAA,EAAAC,IAAA,EAAAC,IAAA,CAChD,IAAMC,WAAwB,GAAArB,QAAA,KACzBhK,WAAW,CAAC,IAAI,CAAC6D,KAAK,EAAE/B,iBAAiB,CAAC,IAC7CwJ,KAAK,EAAE,MAA0C,EACjDtJ,QAAQ,EAAE,IAAI,CAAC6B,KAAK,CAAC7B,QAAQ,EAC7B4D,KAAK,EAAE,MAAM,EACbZ,OAAO,EAAEiG,MAAM,CAACjG,OAAO,EACvBE,SAAS,EAAE+F,MAAM,CAAC/F,SAAS,EAC3BmF,MAAM,EAAEY,MAAM,CAACtH,MAAM,EACrBxB,IAAI,EAAE8I,MAAM,CAAC9I,IAAI,GAClB,CACD,IAAMD,GAAG,GAAG,IAAI,CAACgC,QAAQ,CAAC,CAAC,CAAChC,GAAG,CAE/B,IAAMqJ,UAAU,GAAG,EACjB,UAAU,EAAE1J,cAAc,CAACgD,KAAK,EAChCS,SAAS,EAAExE,EAAE,EAAAoK,IAAA,OAAAA,IAAA,CACV/J,MAAM,CAAC0D,KAAK,CAAC,CAAC,IAAG3C,GAAG,KAAK,MAAM,EAAAgJ,IAAA,CAC/B/J,MAAM,CAACwJ,WAAW,CAAC,IAAI,CAAC5B,KAAK,CAAC,IAAGkC,MAAM,CAACnG,aAAa,EAAAoG,IAAA,CACrD/J,MAAM,CAACqK,oBAAoB,CAAC,CAAC,IAAGP,MAAM,CAACnG,aAAa,IAAI5C,GAAG,KAAK,SAAS,EAAAgJ,IAAA,CACzE/J,MAAM,CAACsK,mBAAmB,CAAC,IAAI,CAAC1C,KAAK,CAAC,IAAGkC,MAAM,CAACnG,aAAa,IAAI,IAAI,CAACjB,KAAK,CAAC7B,QAAQ,EAAAkJ,IAAA,CACtF,CAAC,EACFtB,KAAK,EAAE,EACL8B,YAAY,EAAE,IAAI,CAACC,gBAAgB,CAAC,CAAC,CACvC,CAAC,CACH,CAAC,CAED,IAAMC,WAAW,GAAG1J,GAAG,KAAK,SAAS,CAErC,IAAM2J,IAAI,gBAAG1M,KAAA,CAAAkG,aAAA,CAAC5D,aAAa,IAACU,IAAI,EAAE,IAAI,CAACA,IAAK,EAAE,CAAC,CAE/C,oBACEhD,KAAA,CAAAkG,aAAA,CAACtF,MAAM,EAAKsL,WAAW,eACrBlM,KAAA,CAAAkG,aAAA,UAAKC,SAAS,EAAExE,EAAE,CAACK,MAAM,CAAC2K,qBAAqB,CAAC,CAAC,GAAAX,IAAA,OAAAA,IAAA,CAAK/J,UAAU,CAACuI,IAAI,CAAC,IAAI,CAACZ,KAAK,CAAC,IAAG7G,GAAG,KAAK,MAAM,EAAAiJ,IAAA,CAAE,CAAE,IACnG,IAAI,CAACtH,KAAK,CAACkI,KAAK,iBAAI5M,KAAA,CAAAkG,aAAA,UAAKC,SAAS,EAAE,IAAI,CAACsF,gBAAgB,CAAC,IAAI,CAACzI,IAAI,CAAE,IAAE,IAAI,CAAC0B,KAAK,CAACkI,KAAW,CAAC,eAC/F5M,KAAA,CAAAkG,aAAA,SAAUkG,UAAU,EAAGN,MAAM,CAACpG,KAAY,CAAC,eAE3C1F,KAAA,CAAAkG,aAAA,UACEC,SAAS,EAAExE,EAAE,CAACK,MAAM,CAAC6K,SAAS,CAAC,IAAI,CAACjD,KAAK,CAAC,GAAAqC,IAAA,OAAAA,IAAA,CACvCjK,MAAM,CAAC8K,aAAa,CAAC,IAAI,CAAClD,KAAK,CAAC,IAAG,IAAI,CAAClF,KAAK,CAAC7B,QAAQ,EAAAoJ,IAAA,CACtDjK,MAAM,CAAC+K,cAAc,CAAC,CAAC,IAAGN,WAAW,EAAAR,IAAA,CACvC,CAAE,IAEFS,IACE,CACF,CACC,CAAC,CAEb,CAAC,CAAAxD,MAAA,CAEOsD,gBAAgB,GAAxB,SAAAA,iBAAA,EAAmC,KAAAQ,MAAA,QACjC,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAAS,CAC5B,QAAQD,MAAI,CAAChK,IAAI,GACf,KAAK,OAAO,CACV,OAAOgK,MAAI,CAACpD,KAAK,CAACsD,kBAAkB,CACtC,KAAK,QAAQ,CACX,OAAOF,MAAI,CAACpD,KAAK,CAACuD,mBAAmB,CACvC,KAAK,OAAO,CACZ,QACE,OAAOH,MAAI,CAACpD,KAAK,CAACwD,kBAAkB,CACxC,CACF,CAAC,CACD,IAAMC,gBAAgB,GAAGC,UAAU,CAACL,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAE3D,OAAOI,gBAAgB,CACzB,CAAC,CAAAnE,MAAA,CAEOkB,UAAU,GAAlB,SAAAA,WAAA,EAAsC,CACpC,IAAMhE,MAAM,GAAG,IAAI,CAAC1B,KAAK,CAAC0B,MAAM,GAAG,IAAI,CAACH,SAAS,CAAC,CAAC,GAAG,IAAI,CAE1D,IAAMxB,KAAK,GAAG,IAAI,CAAC4G,QAAQ,CAAC,CAAC,CAC7B,IAAAkC,cAAA,GAAqD,IAAI,CAACxI,QAAQ,CAAC,CAAC,CAA5DyI,SAAS,GAAAD,cAAA,CAATC,SAAS,CAAEC,OAAO,GAAAF,cAAA,CAAPE,OAAO,CAAEC,SAAS,GAAAH,cAAA,CAATG,SAAS,CAAEC,SAAS,GAAAJ,cAAA,CAATI,SAAS,CAEhD,oBACE3N,KAAA,CAAAkG,aAAA,CAAChE,KAAK,IACJsC,MAAM,QACNoJ,SAAS,QACThL,EAAE,EAAE,IAAI,CAACiC,MAAO,EAChB,YAAUnC,cAAc,CAACa,IAAK,EAC9BoK,SAAS,EAAEA,SAAS,WAATA,SAAS,GAAIvL,gBAAgB,CAACqL,OAAO,EAAEC,SAAS,CAAE,EAC7DG,aAAa,EAAE,IAAI,CAACjG,cAAc,CAAC,CAAE,EACrCkG,QAAQ,EAAE3L,MAAM,CAAC4L,UAAU,CAACC,SAAU,EACtCC,aAAa,EAAE,IAAI,CAACvJ,KAAK,CAACuJ,aAAc,EACxCC,MAAM,EAAEC,QAAQ,CAAC,IAAI,CAACvE,KAAK,CAACE,WAAW,CAAC,GAAG,CAAE,EAC7CrD,KAAK,EAAE+G,SAAU,EACjBY,QAAQ,EAAEZ,SAAS,KAAK7C,SAAS,GAAG,MAAM,GAAGA,SAAU,EACvD0D,WAAW,EAAE,IAAI,CAAC3J,KAAK,CAAC4J,UAAW,iBAEnCtO,KAAA,CAAAkG,aAAA,CAACnF,IAAI,IACHwN,SAAS,EAAE,KAAM,EACjBlI,GAAG,EAAE,IAAI,CAAC0B,OAAQ,EAClByG,WAAW,EAAE,IAAI,CAACpJ,KAAM,EACxBqJ,SAAS,EAAE,IAAI,CAAC/J,KAAK,CAACgK,aAAc,EACpCvC,KAAK,EAAEuB,SAAU,IAEhBtH,MAAM,EACN,IAAI,CAACQ,YAAY,CAACnC,KAAK,CACpB,CACD,CAAC,CAEZ,CAAC,CAAAyE,MAAA,CAUOiB,gBAAgB,GAAxB,SAAAA,iBAAA,EAA4C,CAC1C,IAAM/D,MAAM,GAAG,IAAI,CAAC1B,KAAK,CAAC0B,MAAM,GAAG,IAAI,CAACM,eAAe,CAAC,CAAC,GAAG,IAAI,CAChE,IAAMjC,KAAK,GAAG,IAAI,CAAC4G,QAAQ,CAAC,CAAC,CAE7B,oBACErL,KAAA,CAAAkG,aAAA,CAACxE,WAAW,IACViN,oBAAoB,EAAEvI,MAAO,EAC7BwI,OAAO,EAAE,IAAI,CAAClK,KAAK,CAACmK,oBAAqB,EACzCC,cAAc,EAAE,IAAI,CAAC1J,KAAM,EAC3BZ,MAAM,EAAE,IAAI,CAACD,KAAK,CAACC,MAAO,iBAE1BxE,KAAA,CAAAkG,aAAA,CAACnF,IAAI,IAACyN,WAAW,EAAE,IAAI,CAACpJ,KAAM,EAAC2J,sBAAsB,QAACN,SAAS,EAAE,MAAO,IACrE,IAAI,CAAC7H,YAAY,CAACnC,KAAK,CACpB,CACK,CAAC,CAElB,CAAC,CAAAyE,MAAA,CAuHOzB,MAAM,GAAd,SAAAA,OAAehD,KAAa,EAAE,CAC5B,IAAI,CAACa,KAAK,CAAC,CAAC,CACZ,IAAI,CAACJ,QAAQ,CAAC,EAAEV,MAAM,EAAE,KAAK,EAAEC,KAAK,EAALA,KAAK,CAAC,CAAC,CAAC,CAEvC,IAAI,CAAC,IAAI,CAAC+C,cAAc,CAAC,IAAI,CAAC6D,QAAQ,CAAC,CAAC,EAAE5G,KAAK,CAAC,EAAE,KAAAuK,qBAAA,EAAAC,WAAA,CAChD,CAAAD,qBAAA,IAAAC,WAAA,OAAI,CAACvK,KAAK,EAAC6B,aAAa,aAAxByI,qBAAA,CAAA5K,IAAA,CAAA6K,WAAA,EAA2BxK,KAAK,CAAC,CACnC,CACF,CAAC,CAAAyE,MAAA,CAEOmC,QAAQ,GAAhB,SAAAA,SAAA,EAAmB,CACjB,IAAI,IAAI,CAAC3G,KAAK,CAACD,KAAK,KAAKkG,SAAS,EAAE,CAClC,OAAO,IAAI,CAACjG,KAAK,CAACD,KAAK,CACzB,CACA,OAAO,IAAI,CAACF,KAAK,CAACE,KAAK,CACzB,CAAC,CAAAyE,MAAA,CAEOnC,QAAQ,GAAhB,SAAAA,SAAiBmI,EAAoF,EAAE,CACrG,IAAQC,KAAK,GAAK,IAAI,CAACzK,KAAK,CAApByK,KAAK,CACb,IAAI,CAACA,KAAK,EAAE,CACV,OAAO,EAAE,CACX,CACA,IAAMC,OAAO,GAAG,IAAI,CAAC7K,KAAK,CAACK,aAAa,IAAI,IAAI,CAACL,KAAK,CAACK,aAAa,CAACyK,WAAW,CAAC,CAAC,CAElF,IAAMC,MAAyB,GAAG,EAAE,CACpC,IAAIC,KAAK,GAAG,CAAC,CACb,SAAAC,SAAA,GAAAC,+BAAA,CAAoBN,KAAK,GAAAO,KAAA,IAAAA,KAAA,GAAAF,SAAA,IAAAG,IAAA,GAAE,KAAhBC,KAAK,GAAAF,KAAA,CAAAjL,KAAA,CACd,IAAAoL,eAAA,GAA+BC,cAAc,CAACF,KAAc,CAAC,CAAtDnL,KAAK,GAAAoL,eAAA,IAAE5I,IAAI,GAAA4I,eAAA,IAAE1I,OAAO,GAAA0I,eAAA,IAE3B,IAAI,CAACT,OAAO,IAAI,IAAI,CAACrK,QAAQ,CAAC,CAAC,CAACgL,UAAU,CAACtL,KAAK,EAAEwC,IAAI,EAAEmI,OAAO,CAAC,EAAE,CAChEE,MAAM,CAACU,IAAI,CAACd,EAAE,CAACzK,KAAK,EAAEwC,IAAI,EAAEsI,KAAK,EAAEpI,OAAO,CAAC,CAAC,CAC5C,EAAEoI,KAAK,CACT,CACF,CAEA,OAAOD,MAAM,CACf,CAAC,CAAApG,MAAA,CAEOoC,cAAc,GAAtB,SAAAA,eAAuB7G,KAAwB,EAAE,CAC/C,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKkG,SAAS,EAAE,CACzC,OAAO,IAAI,CACb,CAEA,IAAMwE,KAAK,GAAG,IAAI,CAACzK,KAAK,CAACyK,KAAK,IAAI,EAAE,CAEpC,SAAAc,UAAA,GAAAR,+BAAA,CAAoBN,KAAK,GAAAe,MAAA,IAAAA,MAAA,GAAAD,UAAA,IAAAN,IAAA,GAAE,KAAhBC,KAAK,GAAAM,MAAA,CAAAzL,KAAA,CACd,IAAA0L,gBAAA,GAA0BL,cAAc,CAACF,KAAK,CAAC,CAAxCQ,SAAS,GAAAD,gBAAA,IAAElJ,IAAI,GAAAkJ,gBAAA,IAEtB,IAAI,IAAI,CAAC3I,cAAc,CAAC4I,SAAS,EAAE3L,KAAK,CAAC,EAAE,CACzC,OAAOwC,IAAI,CACb,CACF,CACA,OAAO,IAAI,CACb,CAAC,CAAAiC,MAAA,CAEO1B,cAAc,GAAtB,SAAAA,eAAuB6I,MAAwB,EAAEC,MAAwB,EAAE,CACzE,OAAOhP,aAAa,CAAC+O,MAAM,CAAC,IAAI/O,aAAa,CAACgP,MAAM,CAAC,IAAI,IAAI,CAACvL,QAAQ,CAAC,CAAC,CAACyC,cAAc,CAAC6I,MAAM,EAAEC,MAAM,CAAC,CACzG,CAAC,QAAA9M,MAAA,GAzfkDxD,KAAK,CAACuQ,SAAS,GAAA5M,OAAA,CACpD6M,mBAAmB,GAAG,QAAQ,EAAA7M,OAAA,CAC9B8M,WAAW,GAAG,QAAQ,EAAA9M,OAAA,CAEtBqB,YAAY,GAAmD,EAC3EuG,WAAW,EAAXA,WAAW,EACX5D,UAAU,EAAVA,UAAU,EACVH,cAAc,EAAdA,cAAc,EACduI,UAAU,EAAVA,UAAU,EACVhN,GAAG,EAAE,SAAS,CAChB,CAAC,EAAAY,OAAA,CAEapB,IAAI,GAAGA,IAAI,EAAAoB,OAAA,CACX+M,GAAG,GAAG,iCAAM1Q,KAAA,CAAAkG,aAAA,CAACjF,aAAa,MAAE,CAAC,IAAA0C,OAAA,CAE7BgN,aAAa,GAAG,UAACvJ,OAAwD,EAAK,CAC1FnH,SAAS,CACP,cAAAD,KAAK,CAACqH,cAAc,CAACD,OAAO,CAAC,IAAI,OAAOA,OAAO,KAAK,UAAU,EAC9D,4EACF,CAAC,CACD,OAAOA,OAAO,CAChB,CAAC,EAAAzD,OAAA,MAAAD,MAAA,KAAAA,MAAA,KAAAA,MAAA,KAAAA,MAAA;;;AAggBH,SAAS6H,WAAWA,CAAgB9G,KAAa,EAAEwC,IAAqB,EAAE;EACxE,OAAOA,IAAI;AACb;;AAEA,SAASU,UAAUA,CAAgBlD,KAAa,EAAEwC,IAAY,EAAE;EAC9D,OAAOA,IAAI;AACb;;AAEA,SAASO,cAAcA,CAAS6I,MAAc,EAAEC,MAAc,EAAE;EAC9D,OAAOD,MAAM,KAAKC,MAAM;AAC1B;;AAEA,SAASR,cAAcA,CAACF,KAAU,EAAE;EAClC,IAAI1L,KAAK,CAAC0M,OAAO,CAAChB,KAAK,CAAC,EAAE;IACxB,OAAOA,KAAK;EACd;;EAEA,OAAO,CAACA,KAAK,EAAEA,KAAK,EAAEjF,SAAS,CAAC;AAClC;;AAEA,IAAMkG,eAAe,GAAG,SAAlBA,eAAeA,CAAI5J,IAAS,EAAa;EAC7C,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,OAAOA,IAAI;EACb;;EAEA,IAAI5F,UAAU,CAAC4F,IAAI,CAAC,EAAE;IACpB,OAAO4J,eAAe,CAAC5J,IAAI,CAAC,CAAC,CAAC;EAChC;;EAEA,kBAAIjH,KAAK,CAACqH,cAAc,CAACJ,IAAI,CAAC,EAAE;IAC9B,OAAOtG,mBAAmB,CAACsG,IAAI,CAAC;EAClC;;EAEA,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,OAAOA,IAAI,CAAC6J,QAAQ,CAAC,EAAE,CAAC;EAC1B;;EAEA,OAAO,EAAE;AACX,CAAC;;AAED,SAASf,UAAUA,CAAStL,KAAa,EAAEwC,IAAS,EAAEmI,OAAe,EAAE;EACrE,IAAInI,IAAI,KAAKzD,MAAM,CAACkN,GAAG,EAAE;IACvB,OAAO,KAAK;EACd;;EAEA,IAAMK,QAAQ,GAAGF,eAAe,CAAC5J,IAAI,CAAC;;EAEtC,IAAI,CAAC8J,QAAQ,EAAE;IACb,OAAO,KAAK;EACd;;EAEA,OAAOA,QAAQ,CAAC1B,WAAW,CAAC,CAAC,CAAC2B,OAAO,CAAC5B,OAAO,CAAC,KAAK,CAAC,CAAC;AACvD","ignoreList":[]}
@@ -4,7 +4,9 @@ import type { ButtonUse } from '../Button';
4
4
  import type { Nullable } from '../../typings/utility-types';
5
5
  import type { Theme, ThemeIn } from '../../lib/theming/Theme';
6
6
  import type { CommonProps } from '../../internal/CommonWrapper';
7
+ import type { TGetRootNode } from '../../lib/rootNode';
7
8
  import type { SizeProp } from '../../lib/types/props';
9
+ import { type PopupPositionsType } from '../../internal/Popup';
8
10
  import { Item } from './Item';
9
11
  export * from './tids';
10
12
  export interface ButtonParams extends Pick<AriaAttributes, 'aria-describedby' | 'aria-controls' | 'aria-label' | 'aria-expanded'> {
@@ -71,6 +73,8 @@ export interface SelectProps<TValue, TItem> extends CommonProps, Pick<AriaAttrib
71
73
  maxMenuHeight?: number;
72
74
  /** Задает максимальную ширину. */
73
75
  maxWidth?: React.CSSProperties['maxWidth'];
76
+ /** Задает позиции выпадающего меню. */
77
+ positions?: PopupPositionsType[];
74
78
  /** Задает текущую позицию выпадающего окна вручную. */
75
79
  menuPos?: 'top' | 'bottom' | 'middle';
76
80
  /** Задает выравнивание меню. */
@@ -124,7 +128,7 @@ export interface SelectState<TValue> {
124
128
  searchPattern: string;
125
129
  value: Nullable<TValue>;
126
130
  }
127
- type DefaultProps<TValue, TItem> = Required<Pick<SelectProps<TValue, TItem>, 'renderValue' | 'renderItem' | 'areValuesEqual' | 'filterItem' | 'use' | 'size'>>;
131
+ type DefaultProps<TValue, TItem> = Required<Pick<SelectProps<TValue, TItem>, 'renderValue' | 'renderItem' | 'areValuesEqual' | 'filterItem' | 'use'>>;
128
132
  /**
129
133
  * Раскрывающийся список `Select` позволяет выбрать значение из заранее известного набора вариантов.
130
134
  *
@@ -144,12 +148,14 @@ export declare class Select<TValue = {}, TItem = {}> extends React.Component<Sel
144
148
  static staticElement: (element: React.ReactElement | (() => React.ReactElement)) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | (() => React.ReactElement);
145
149
  state: SelectState<TValue>;
146
150
  private theme;
151
+ private size;
147
152
  private isMobileLayout;
148
153
  private readonly locale;
149
154
  private menu;
150
155
  private menuId;
151
156
  private buttonElement;
152
157
  private getProps;
158
+ getRootNode: TGetRootNode;
153
159
  private setRootNode;
154
160
  componentDidUpdate(_prevProps: SelectProps<TValue, TItem>, prevState: SelectState<TValue>): void;
155
161
  render(): React.JSX.Element;
@@ -4,7 +4,7 @@ import React from 'react';
4
4
  import { CSSTransition } from 'react-transition-group';
5
5
  import FocusLock from 'react-focus-lock';
6
6
  import { globalObject } from '@skbkontur/global-object';
7
- import { isNonNullable } from "../../../lib/utils";
7
+ import { isNonNullable, isReactUIInstance } from "../../../lib/utils";
8
8
  import { isKeyEscape } from "../../../lib/events/keyboard/identifiers";
9
9
  import * as LayoutEvents from "../../../lib/LayoutEvents";
10
10
  import { stopPropagation } from "../../../lib/events/stopPropagation";
@@ -93,7 +93,7 @@ export var SidePage = /*#__PURE__*/function (_React$Component) {
93
93
  };
94
94
  _this.handleStackChange = function (stack) {
95
95
  var sidePages = stack.filter(function (x) {
96
- return x instanceof SidePage && x.props.fromLeft === _this.props.fromLeft;
96
+ return isReactUIInstance(x, 'SidePage') && x.props.fromLeft === _this.props.fromLeft;
97
97
  });
98
98
  var currentSidePagePosition = sidePages.indexOf(_this);
99
99
  var hasMargin = sidePages.length > 1 && currentSidePagePosition === sidePages.length - 1;
@@ -208,7 +208,6 @@ export var SidePage = /*#__PURE__*/function (_React$Component) {
208
208
  priority: 'Sidepage',
209
209
  onScroll: LayoutEvents.emit,
210
210
  createStackingContext: true,
211
- wrapperRef: _this3.rootRef,
212
211
  style: {
213
212
  position: 'absolute'
214
213
  }
@@ -246,6 +245,7 @@ export var SidePage = /*#__PURE__*/function (_React$Component) {
246
245
  "aria-label": ariaLabel,
247
246
  "data-tid": SidePageDataTids.root,
248
247
  className: cx((_cx = {}, _cx[styles.root()] = true, _cx)),
248
+ ref: this.rootRef,
249
249
  onScroll: LayoutEvents.emit,
250
250
  style: isMobile && !isThemeGTE(this.theme, '5.2') ? {
251
251
  width: mobileWidth || '100%'
@@ -1 +1 @@
1
- {"version":3,"names":["React","CSSTransition","FocusLock","globalObject","isNonNullable","isKeyEscape","LayoutEvents","stopPropagation","HideBodyVerticalScroll","ModalStack","RenderContainer","RenderLayer","ZIndex","ThemeContext","CommonWrapper","cx","isTestEnv","ResponsiveLayout","createPropsGetter","isInstanceOf","isThemeGTE","SidePageBody","SidePageContainer","SidePageContext","SidePageFooter","SidePageHeader","styles","SidePageDataTids","root","container","TRANSITION_TIMEOUT","SidePage","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","hasHeader","hasFooter","hasPanel","stackSubscription","layout","header","footer","rootRef","createRef","updateLayout","_this$header","_this$footer","update","getProps","defaultProps","getSidePageContextProps","requestClose","getWidth","headerRef","footerRef","setHasHeader","setHasFooter","setHasPanel","clientWidth","handleStackChange","stack","sidePages","filter","x","props","fromLeft","currentSidePagePosition","indexOf","hasMargin","hasShadow","hasBackground","isBlocking","setState","stackPosition","handleClickOutside","e","ignoreBackgroundClick","MouseEvent","document","clientX","documentElement","handleKeyDown","disableClose","onClose","ref","layoutRef","_inheritsLoose","_proto","prototype","componentDidMount","addEventListener","add","componentDidUpdate","prevProps","blockBackground","rerender","componentWillUnmount","removeEventListener","remove","render","_this2","createElement","Consumer","theme","renderMain","_this3","_this$props","onOpened","disableAnimations","versionGTE5_2","_ref","isMobile","priority","onScroll","emit","createStackingContext","wrapperRef","style","position","renderShadow","classNames","getTransitionNames","appear","enter","exit","timeout","nodeRef","onEntered","renderContainer","_cx","_cx2","_this$props2","mobileWidth","ariaLabel","_this$getProps","offset","role","widthDesktop","width","widthMobile","className","right","left","disabled","isFocusLockDisabled","autoFocus","focusLock","onClickOutside","active","wrapper","wrapperLeft","wrapperMarginLeft","wrapperMarginRight","shadow","Provider","value","children","_cx3","overlay","key","background","backgroundGray","transition","transitionRight","transitionLeft","enterActive","transitionActive","transitionLeave","exitActive","transitionLeaveActive","appearActive","_createClass","get","_this$getProps2","disableFocusLock","undefined","Component","__KONTUR_REACT_UI__","displayName","Header","Body","Footer","Container"],"sources":["SidePage.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport FocusLock from 'react-focus-lock';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { stopPropagation } from '../../lib/events/stopPropagation';\nimport { HideBodyVerticalScroll } from '../../internal/HideBodyVerticalScroll';\nimport type { ModalStackSubscription } from '../../lib/ModalStack';\nimport { ModalStack } from '../../lib/ModalStack';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ResponsiveLayout } from '../ResponsiveLayout';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers';\n\nimport { SidePageBody } from './SidePageBody';\nimport { SidePageContainer } from './SidePageContainer';\nimport type { SidePageContextType } from './SidePageContext';\nimport { SidePageContext } from './SidePageContext';\nimport { SidePageFooter } from './SidePageFooter';\nimport { SidePageHeader } from './SidePageHeader';\nimport { styles } from './SidePage.styles';\n\nexport interface SidePageProps\n extends CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-label'> {\n /** Добавляет блокирующий фон, когда сайдпейдж открыт. */\n blockBackground?: boolean;\n\n /** Отключает событие onClose, также дизейблит кнопку закрытия сайдпейджа. */\n disableClose?: boolean;\n\n /** Оставляет окно открытым при клике на фон. */\n ignoreBackgroundClick?: boolean;\n\n /** Задает ширину сайдпейджа. */\n width?: number | string;\n\n /** Задает ширину сайдпейджаю на мобилке. По умолчанию ширина во весь экран. */\n mobileWidth?: number | string;\n\n /** Задает функцию, которая вызывается при запросе закрытия сайдпейджа пользователем (нажал на фон, на Escape или на крестик). */\n onClose?: () => void;\n\n /** Задает функцию, которая вызывается при завершении анимации открытия сайдпейджа. */\n onOpened?: () => void;\n\n /** Отображает сайдпэйдж слева. */\n fromLeft?: boolean;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Отключает фокус-лок внутри сайдпейджа.\n * Работает только при заблокированном фоне: `blockBackground = true`.*/\n disableFocusLock?: boolean;\n\n /** Задает отступ от края экрана. */\n offset?: number | string;\n}\n\nexport interface SidePageState {\n stackPosition?: number;\n hasMargin?: boolean;\n hasShadow?: boolean;\n hasBackground?: boolean;\n hasHeader: boolean;\n hasFooter: boolean;\n hasPanel: boolean;\n}\n\nexport const SidePageDataTids = {\n root: 'SidePage__root',\n container: 'SidePage__container',\n} as const;\n\ntype DefaultProps = Required<Pick<SidePageProps, 'disableAnimations' | 'offset' | 'role'>>;\n\nconst TRANSITION_TIMEOUT = 200;\n\n/**\n * `SidePage` — это модальное окно, которое открывается поверх основной страницы и занимает всю высоту окна браузера.\n *\n * Используйте его, когда нужно сохранить контекст и показать большое количество данных.\n *\n * Содержит в себе три компоненты: `SidePage.Header`, `SidePage.Body` и `SidePage.Footer`.\n *\n * Для отображения серой плашки в футере в компонент `Footer` необходимо передать пропс `panel`.\n */\nexport class SidePage extends React.Component<SidePageProps, SidePageState> {\n public static __KONTUR_REACT_UI__ = 'SidePage';\n public static displayName = 'SidePage';\n\n public static Header = SidePageHeader;\n public static Body = SidePageBody;\n public static Footer = SidePageFooter;\n public static Container = SidePageContainer;\n public state: SidePageState = {\n hasHeader: false,\n hasFooter: false,\n hasPanel: false,\n };\n private theme!: Theme;\n private stackSubscription: ModalStackSubscription | null = null;\n private layout: HTMLElement | null = null;\n private header: SidePageHeader | null = null;\n private footer: SidePageFooter | null = null;\n public rootRef = React.createRef<HTMLDivElement>();\n\n public componentDidMount() {\n globalObject.addEventListener?.('keydown', this.handleKeyDown);\n this.stackSubscription = ModalStack.add(this, this.handleStackChange);\n }\n\n public componentDidUpdate(prevProps: SidePageProps) {\n if (prevProps.blockBackground !== this.props.blockBackground) {\n ModalStack.rerender();\n this.setState({\n hasBackground: ModalStack.isBlocking(this),\n });\n }\n }\n\n public componentWillUnmount() {\n globalObject.removeEventListener?.('keydown', this.handleKeyDown);\n if (isNonNullable(this.stackSubscription)) {\n this.stackSubscription.remove();\n }\n ModalStack.remove(this);\n }\n\n /**\n * Обновляет разметку компонента.\n * @public\n */\n public updateLayout = (): void => {\n this.header?.update();\n this.footer?.update();\n };\n\n public static defaultProps: DefaultProps = {\n disableAnimations: isTestEnv,\n offset: 0,\n role: 'dialog',\n };\n\n private getProps = createPropsGetter(SidePage.defaultProps);\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { blockBackground, onOpened } = this.props;\n const disableAnimations = this.getProps().disableAnimations;\n const versionGTE5_2 = isThemeGTE(this.theme, '5.2');\n return (\n <ResponsiveLayout>\n {({ isMobile }) => (\n <RenderContainer>\n <CommonWrapper {...this.props}>\n <ZIndex\n priority={'Sidepage'}\n onScroll={LayoutEvents.emit}\n createStackingContext\n wrapperRef={this.rootRef}\n style={{ position: 'absolute' }}\n >\n {(versionGTE5_2 || !isMobile) && blockBackground && this.renderShadow()}\n <CSSTransition\n in\n classNames={this.getTransitionNames()}\n appear={!disableAnimations}\n enter={!disableAnimations}\n exit={false}\n timeout={{\n enter: TRANSITION_TIMEOUT,\n exit: TRANSITION_TIMEOUT,\n }}\n nodeRef={this.rootRef}\n onEntered={onOpened}\n >\n {this.renderContainer(isMobile)}\n </CSSTransition>\n {isMobile && <HideBodyVerticalScroll />}\n </ZIndex>\n </CommonWrapper>\n </RenderContainer>\n )}\n </ResponsiveLayout>\n );\n }\n\n private get isFocusLockDisabled() {\n const { disableFocusLock } = this.getProps();\n const { blockBackground } = this.props;\n if (!blockBackground) {\n return true;\n }\n if (disableFocusLock !== undefined) {\n return disableFocusLock;\n }\n return false;\n }\n\n private renderContainer(isMobile: boolean): JSX.Element {\n const { mobileWidth, blockBackground, fromLeft, 'aria-label': ariaLabel } = this.props;\n const { offset, role } = this.getProps();\n\n const widthDesktop = this.props.width || (blockBackground ? 800 : 500);\n const widthMobile = this.props.mobileWidth || '100%';\n const width = isMobile ? widthMobile : widthDesktop;\n\n return (\n <div\n aria-modal\n role={role}\n aria-label={ariaLabel}\n data-tid={SidePageDataTids.root}\n className={cx({\n [styles.root()]: true,\n })}\n onScroll={LayoutEvents.emit}\n style={\n isMobile && !isThemeGTE(this.theme, '5.2')\n ? {\n width: mobileWidth || '100%',\n }\n : {\n width,\n right: fromLeft ? 'auto' : offset,\n left: fromLeft ? offset : 'auto',\n }\n }\n >\n <FocusLock disabled={this.isFocusLockDisabled} autoFocus={false} className={styles.focusLock()}>\n <RenderLayer onClickOutside={this.handleClickOutside} active>\n <div\n data-tid={SidePageDataTids.container}\n className={cx(styles.wrapper(this.theme), {\n [styles.wrapperLeft()]: fromLeft,\n [styles.wrapperMarginLeft()]: this.state.hasMargin && fromLeft,\n [styles.wrapperMarginRight()]: this.state.hasMargin && !fromLeft,\n [styles.shadow(this.theme)]: this.state.hasShadow,\n })}\n ref={this.layoutRef}\n >\n <SidePageContext.Provider value={this.getSidePageContextProps()}>\n {this.props.children}\n </SidePageContext.Provider>\n </div>\n </RenderLayer>\n </FocusLock>\n </div>\n );\n }\n\n private getSidePageContextProps = (): SidePageContextType => {\n return {\n hasHeader: this.state.hasHeader,\n hasFooter: this.state.hasFooter,\n hasPanel: this.state.hasPanel,\n requestClose: this.requestClose,\n getWidth: this.getWidth,\n updateLayout: this.updateLayout,\n headerRef: this.headerRef,\n footerRef: this.footerRef,\n setHasHeader: this.setHasHeader,\n setHasFooter: this.setHasFooter,\n setHasPanel: this.setHasPanel,\n };\n };\n\n private getWidth = () => {\n if (!this.layout) {\n return 'auto';\n }\n return this.layout.clientWidth;\n };\n\n private renderShadow(): JSX.Element {\n return (\n <div className={styles.overlay()} onScroll={LayoutEvents.emit}>\n <HideBodyVerticalScroll key=\"hbvs\" />\n <div\n key=\"overlay\"\n className={cx({\n [styles.background()]: true,\n [styles.backgroundGray(this.theme)]: this.state.hasBackground,\n })}\n />\n </div>\n );\n }\n\n private getTransitionNames(): Record<string, string> {\n const transition = this.props.fromLeft ? styles.transitionRight : styles.transitionLeft;\n\n return {\n enter: transition(),\n enterActive: styles.transitionActive(),\n exit: styles.transitionLeave(),\n exitActive: styles.transitionLeaveActive(),\n appear: transition(),\n appearActive: styles.transitionActive(),\n };\n }\n\n private handleStackChange = (stack: readonly React.Component[]) => {\n const sidePages = stack.filter((x) => x instanceof SidePage && x.props.fromLeft === this.props.fromLeft);\n const currentSidePagePosition = sidePages.indexOf(this);\n\n const hasMargin = sidePages.length > 1 && currentSidePagePosition === sidePages.length - 1;\n const hasShadow = sidePages.length < 3 || currentSidePagePosition > sidePages.length - 3;\n const hasBackground = ModalStack.isBlocking(this);\n\n this.setState({\n stackPosition: stack.indexOf(this),\n hasMargin,\n hasShadow,\n hasBackground,\n });\n };\n\n private handleClickOutside = (e: Event) => {\n if (this.state.stackPosition === 0 && !this.props.ignoreBackgroundClick) {\n // ignore mousedown on window scrollbar\n if (\n isInstanceOf(e, globalObject.MouseEvent) &&\n globalObject.document &&\n e.clientX > globalObject.document.documentElement.clientWidth\n ) {\n return;\n }\n this.requestClose();\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (this.state.stackPosition !== 0) {\n return;\n }\n if (isKeyEscape(e)) {\n stopPropagation(e);\n this.requestClose();\n }\n };\n\n private requestClose = () => {\n if (this.props.disableClose) {\n return;\n }\n if (this.props.onClose) {\n this.props.onClose();\n }\n };\n\n private headerRef = (ref: SidePageHeader | null) => {\n this.header = ref;\n };\n\n private footerRef = (ref: SidePageFooter | null) => {\n this.footer = ref;\n };\n\n private layoutRef = (ref: HTMLDivElement | null) => {\n this.layout = ref;\n };\n\n private setHasHeader = (hasHeader = true) => {\n this.state.hasHeader !== hasHeader && this.setState({ hasHeader });\n };\n\n private setHasFooter = (hasFooter = true) => {\n this.state.hasFooter !== hasFooter && this.setState({ hasFooter });\n };\n\n private setHasPanel = (hasPanel = false) => {\n this.state.hasPanel !== hasPanel && this.setState({ hasPanel });\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","CSSTransition","FocusLock","globalObject","isNonNullable","isReactUIInstance","isKeyEscape","LayoutEvents","stopPropagation","HideBodyVerticalScroll","ModalStack","RenderContainer","RenderLayer","ZIndex","ThemeContext","CommonWrapper","cx","isTestEnv","ResponsiveLayout","createPropsGetter","isInstanceOf","isThemeGTE","SidePageBody","SidePageContainer","SidePageContext","SidePageFooter","SidePageHeader","styles","SidePageDataTids","root","container","TRANSITION_TIMEOUT","SidePage","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","hasHeader","hasFooter","hasPanel","stackSubscription","layout","header","footer","rootRef","createRef","updateLayout","_this$header","_this$footer","update","getProps","defaultProps","getSidePageContextProps","requestClose","getWidth","headerRef","footerRef","setHasHeader","setHasFooter","setHasPanel","clientWidth","handleStackChange","stack","sidePages","filter","x","props","fromLeft","currentSidePagePosition","indexOf","hasMargin","hasShadow","hasBackground","isBlocking","setState","stackPosition","handleClickOutside","e","ignoreBackgroundClick","MouseEvent","document","clientX","documentElement","handleKeyDown","disableClose","onClose","ref","layoutRef","_inheritsLoose","_proto","prototype","componentDidMount","addEventListener","add","componentDidUpdate","prevProps","blockBackground","rerender","componentWillUnmount","removeEventListener","remove","render","_this2","createElement","Consumer","theme","renderMain","_this3","_this$props","onOpened","disableAnimations","versionGTE5_2","_ref","isMobile","priority","onScroll","emit","createStackingContext","style","position","renderShadow","classNames","getTransitionNames","appear","enter","exit","timeout","nodeRef","onEntered","renderContainer","_cx","_cx2","_this$props2","mobileWidth","ariaLabel","_this$getProps","offset","role","widthDesktop","width","widthMobile","className","right","left","disabled","isFocusLockDisabled","autoFocus","focusLock","onClickOutside","active","wrapper","wrapperLeft","wrapperMarginLeft","wrapperMarginRight","shadow","Provider","value","children","_cx3","overlay","key","background","backgroundGray","transition","transitionRight","transitionLeft","enterActive","transitionActive","transitionLeave","exitActive","transitionLeaveActive","appearActive","_createClass","get","_this$getProps2","disableFocusLock","undefined","Component","__KONTUR_REACT_UI__","displayName","Header","Body","Footer","Container"],"sources":["SidePage.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport FocusLock from 'react-focus-lock';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable, isReactUIInstance } from '../../lib/utils';\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { stopPropagation } from '../../lib/events/stopPropagation';\nimport { HideBodyVerticalScroll } from '../../internal/HideBodyVerticalScroll';\nimport type { ModalStackSubscription } from '../../lib/ModalStack';\nimport { ModalStack } from '../../lib/ModalStack';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ResponsiveLayout } from '../ResponsiveLayout';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers';\n\nimport { SidePageBody } from './SidePageBody';\nimport { SidePageContainer } from './SidePageContainer';\nimport type { SidePageContextType } from './SidePageContext';\nimport { SidePageContext } from './SidePageContext';\nimport { SidePageFooter } from './SidePageFooter';\nimport { SidePageHeader } from './SidePageHeader';\nimport { styles } from './SidePage.styles';\n\nexport interface SidePageProps\n extends CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-label'> {\n /** Добавляет блокирующий фон, когда сайдпейдж открыт. */\n blockBackground?: boolean;\n\n /** Отключает событие onClose, также дизейблит кнопку закрытия сайдпейджа. */\n disableClose?: boolean;\n\n /** Оставляет окно открытым при клике на фон. */\n ignoreBackgroundClick?: boolean;\n\n /** Задает ширину сайдпейджа. */\n width?: number | string;\n\n /** Задает ширину сайдпейджаю на мобилке. По умолчанию ширина во весь экран. */\n mobileWidth?: number | string;\n\n /** Задает функцию, которая вызывается при запросе закрытия сайдпейджа пользователем (нажал на фон, на Escape или на крестик). */\n onClose?: () => void;\n\n /** Задает функцию, которая вызывается при завершении анимации открытия сайдпейджа. */\n onOpened?: () => void;\n\n /** Отображает сайдпэйдж слева. */\n fromLeft?: boolean;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Отключает фокус-лок внутри сайдпейджа.\n * Работает только при заблокированном фоне: `blockBackground = true`.*/\n disableFocusLock?: boolean;\n\n /** Задает отступ от края экрана. */\n offset?: number | string;\n}\n\nexport interface SidePageState {\n stackPosition?: number;\n hasMargin?: boolean;\n hasShadow?: boolean;\n hasBackground?: boolean;\n hasHeader: boolean;\n hasFooter: boolean;\n hasPanel: boolean;\n}\n\nexport const SidePageDataTids = {\n root: 'SidePage__root',\n container: 'SidePage__container',\n} as const;\n\ntype DefaultProps = Required<Pick<SidePageProps, 'disableAnimations' | 'offset' | 'role'>>;\n\nconst TRANSITION_TIMEOUT = 200;\n\n/**\n * `SidePage` — это модальное окно, которое открывается поверх основной страницы и занимает всю высоту окна браузера.\n *\n * Используйте его, когда нужно сохранить контекст и показать большое количество данных.\n *\n * Содержит в себе три компоненты: `SidePage.Header`, `SidePage.Body` и `SidePage.Footer`.\n *\n * Для отображения серой плашки в футере в компонент `Footer` необходимо передать пропс `panel`.\n */\nexport class SidePage extends React.Component<SidePageProps, SidePageState> {\n public static __KONTUR_REACT_UI__ = 'SidePage';\n public static displayName = 'SidePage';\n\n public static Header = SidePageHeader;\n public static Body = SidePageBody;\n public static Footer = SidePageFooter;\n public static Container = SidePageContainer;\n public state: SidePageState = {\n hasHeader: false,\n hasFooter: false,\n hasPanel: false,\n };\n private theme!: Theme;\n private stackSubscription: ModalStackSubscription | null = null;\n private layout: HTMLElement | null = null;\n private header: SidePageHeader | null = null;\n private footer: SidePageFooter | null = null;\n public rootRef = React.createRef<HTMLDivElement>();\n\n public componentDidMount() {\n globalObject.addEventListener?.('keydown', this.handleKeyDown);\n this.stackSubscription = ModalStack.add(this, this.handleStackChange);\n }\n\n public componentDidUpdate(prevProps: SidePageProps) {\n if (prevProps.blockBackground !== this.props.blockBackground) {\n ModalStack.rerender();\n this.setState({\n hasBackground: ModalStack.isBlocking(this),\n });\n }\n }\n\n public componentWillUnmount() {\n globalObject.removeEventListener?.('keydown', this.handleKeyDown);\n if (isNonNullable(this.stackSubscription)) {\n this.stackSubscription.remove();\n }\n ModalStack.remove(this);\n }\n\n /**\n * Обновляет разметку компонента.\n * @public\n */\n public updateLayout = (): void => {\n this.header?.update();\n this.footer?.update();\n };\n\n public static defaultProps: DefaultProps = {\n disableAnimations: isTestEnv,\n offset: 0,\n role: 'dialog',\n };\n\n private getProps = createPropsGetter(SidePage.defaultProps);\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { blockBackground, onOpened } = this.props;\n const disableAnimations = this.getProps().disableAnimations;\n const versionGTE5_2 = isThemeGTE(this.theme, '5.2');\n return (\n <ResponsiveLayout>\n {({ isMobile }) => (\n <RenderContainer>\n <CommonWrapper {...this.props}>\n <ZIndex\n priority={'Sidepage'}\n onScroll={LayoutEvents.emit}\n createStackingContext\n style={{ position: 'absolute' }}\n >\n {(versionGTE5_2 || !isMobile) && blockBackground && this.renderShadow()}\n <CSSTransition\n in\n classNames={this.getTransitionNames()}\n appear={!disableAnimations}\n enter={!disableAnimations}\n exit={false}\n timeout={{\n enter: TRANSITION_TIMEOUT,\n exit: TRANSITION_TIMEOUT,\n }}\n nodeRef={this.rootRef}\n onEntered={onOpened}\n >\n {this.renderContainer(isMobile)}\n </CSSTransition>\n {isMobile && <HideBodyVerticalScroll />}\n </ZIndex>\n </CommonWrapper>\n </RenderContainer>\n )}\n </ResponsiveLayout>\n );\n }\n\n private get isFocusLockDisabled() {\n const { disableFocusLock } = this.getProps();\n const { blockBackground } = this.props;\n if (!blockBackground) {\n return true;\n }\n if (disableFocusLock !== undefined) {\n return disableFocusLock;\n }\n return false;\n }\n\n private renderContainer(isMobile: boolean): JSX.Element {\n const { mobileWidth, blockBackground, fromLeft, 'aria-label': ariaLabel } = this.props;\n const { offset, role } = this.getProps();\n\n const widthDesktop = this.props.width || (blockBackground ? 800 : 500);\n const widthMobile = this.props.mobileWidth || '100%';\n const width = isMobile ? widthMobile : widthDesktop;\n\n return (\n <div\n aria-modal\n role={role}\n aria-label={ariaLabel}\n data-tid={SidePageDataTids.root}\n className={cx({\n [styles.root()]: true,\n })}\n ref={this.rootRef}\n onScroll={LayoutEvents.emit}\n style={\n isMobile && !isThemeGTE(this.theme, '5.2')\n ? {\n width: mobileWidth || '100%',\n }\n : {\n width,\n right: fromLeft ? 'auto' : offset,\n left: fromLeft ? offset : 'auto',\n }\n }\n >\n <FocusLock disabled={this.isFocusLockDisabled} autoFocus={false} className={styles.focusLock()}>\n <RenderLayer onClickOutside={this.handleClickOutside} active>\n <div\n data-tid={SidePageDataTids.container}\n className={cx(styles.wrapper(this.theme), {\n [styles.wrapperLeft()]: fromLeft,\n [styles.wrapperMarginLeft()]: this.state.hasMargin && fromLeft,\n [styles.wrapperMarginRight()]: this.state.hasMargin && !fromLeft,\n [styles.shadow(this.theme)]: this.state.hasShadow,\n })}\n ref={this.layoutRef}\n >\n <SidePageContext.Provider value={this.getSidePageContextProps()}>\n {this.props.children}\n </SidePageContext.Provider>\n </div>\n </RenderLayer>\n </FocusLock>\n </div>\n );\n }\n\n private getSidePageContextProps = (): SidePageContextType => {\n return {\n hasHeader: this.state.hasHeader,\n hasFooter: this.state.hasFooter,\n hasPanel: this.state.hasPanel,\n requestClose: this.requestClose,\n getWidth: this.getWidth,\n updateLayout: this.updateLayout,\n headerRef: this.headerRef,\n footerRef: this.footerRef,\n setHasHeader: this.setHasHeader,\n setHasFooter: this.setHasFooter,\n setHasPanel: this.setHasPanel,\n };\n };\n\n private getWidth = () => {\n if (!this.layout) {\n return 'auto';\n }\n return this.layout.clientWidth;\n };\n\n private renderShadow(): JSX.Element {\n return (\n <div className={styles.overlay()} onScroll={LayoutEvents.emit}>\n <HideBodyVerticalScroll key=\"hbvs\" />\n <div\n key=\"overlay\"\n className={cx({\n [styles.background()]: true,\n [styles.backgroundGray(this.theme)]: this.state.hasBackground,\n })}\n />\n </div>\n );\n }\n\n private getTransitionNames(): Record<string, string> {\n const transition = this.props.fromLeft ? styles.transitionRight : styles.transitionLeft;\n\n return {\n enter: transition(),\n enterActive: styles.transitionActive(),\n exit: styles.transitionLeave(),\n exitActive: styles.transitionLeaveActive(),\n appear: transition(),\n appearActive: styles.transitionActive(),\n };\n }\n\n private handleStackChange = (stack: readonly React.Component[]) => {\n const sidePages = stack.filter(\n (x) => isReactUIInstance<SidePage>(x, 'SidePage') && x.props.fromLeft === this.props.fromLeft,\n );\n const currentSidePagePosition = sidePages.indexOf(this);\n\n const hasMargin = sidePages.length > 1 && currentSidePagePosition === sidePages.length - 1;\n const hasShadow = sidePages.length < 3 || currentSidePagePosition > sidePages.length - 3;\n const hasBackground = ModalStack.isBlocking(this);\n\n this.setState({\n stackPosition: stack.indexOf(this),\n hasMargin,\n hasShadow,\n hasBackground,\n });\n };\n\n private handleClickOutside = (e: Event) => {\n if (this.state.stackPosition === 0 && !this.props.ignoreBackgroundClick) {\n // ignore mousedown on window scrollbar\n if (\n isInstanceOf(e, globalObject.MouseEvent) &&\n globalObject.document &&\n e.clientX > globalObject.document.documentElement.clientWidth\n ) {\n return;\n }\n this.requestClose();\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (this.state.stackPosition !== 0) {\n return;\n }\n if (isKeyEscape(e)) {\n stopPropagation(e);\n this.requestClose();\n }\n };\n\n private requestClose = () => {\n if (this.props.disableClose) {\n return;\n }\n if (this.props.onClose) {\n this.props.onClose();\n }\n };\n\n private headerRef = (ref: SidePageHeader | null) => {\n this.header = ref;\n };\n\n private footerRef = (ref: SidePageFooter | null) => {\n this.footer = ref;\n };\n\n private layoutRef = (ref: HTMLDivElement | null) => {\n this.layout = ref;\n };\n\n private setHasHeader = (hasHeader = true) => {\n this.state.hasHeader !== hasHeader && this.setState({ hasHeader });\n };\n\n private setHasFooter = (hasFooter = true) => {\n this.state.hasFooter !== hasFooter && this.setState({ hasFooter });\n };\n\n private setHasPanel = (hasPanel = false) => {\n this.state.hasPanel !== hasPanel && this.setState({ hasPanel });\n };\n}\n"],"mappings":"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","ignoreList":[]}