@skbkontur/react-ui 6.4.3-6344a.0 → 6.4.4-3a8c8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (669) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/components/Autocomplete/Autocomplete.js +1 -1
  3. package/components/Autocomplete/Autocomplete.js.map +1 -1
  4. package/components/Autocomplete/{Autocomplete.css.d.ts → Autocomplete.styles.d.ts} +1 -1
  5. package/components/Autocomplete/Autocomplete.styles.js +18 -0
  6. package/components/Autocomplete/Autocomplete.styles.js.map +1 -0
  7. package/components/Button/Button.js +2 -3
  8. package/components/Button/Button.js.map +1 -1
  9. package/components/Button/Button.mixins.js +6 -11
  10. package/components/Button/Button.mixins.js.map +1 -1
  11. package/components/Button/{Button.css.d.ts → Button.styles.d.ts} +2 -2
  12. package/components/Button/Button.styles.js +260 -0
  13. package/components/Button/Button.styles.js.map +1 -0
  14. package/components/Button/ButtonArrow.d.ts +1 -1
  15. package/components/Button/ButtonArrow.js +1 -1
  16. package/components/Button/ButtonArrow.js.map +1 -1
  17. package/components/Button/ButtonIcon.js +1 -1
  18. package/components/Button/ButtonIcon.js.map +1 -1
  19. package/components/Button/{ButtonIcon.css.d.ts → ButtonIcon.styles.d.ts} +1 -1
  20. package/components/Button/ButtonIcon.styles.js +53 -0
  21. package/components/Button/ButtonIcon.styles.js.map +1 -0
  22. package/components/Button/LoadingButtonIcon.js +1 -1
  23. package/components/Button/LoadingButtonIcon.js.map +1 -1
  24. package/components/Calendar/Calendar.js +1 -1
  25. package/components/Calendar/Calendar.js.map +1 -1
  26. package/components/Calendar/{Calendar.css.d.ts → Calendar.styles.d.ts} +1 -1
  27. package/components/Calendar/Calendar.styles.js +22 -0
  28. package/components/Calendar/Calendar.styles.js.map +1 -0
  29. package/components/Calendar/CalendarDay.js +1 -1
  30. package/components/Calendar/CalendarDay.js.map +1 -1
  31. package/components/Calendar/DayCellView.js +1 -1
  32. package/components/Calendar/DayCellView.js.map +1 -1
  33. package/components/Calendar/{DayCellView.css.d.ts → DayCellView.styles.d.ts} +1 -1
  34. package/components/Calendar/DayCellView.styles.js +31 -0
  35. package/components/Calendar/DayCellView.styles.js.map +1 -0
  36. package/components/Calendar/Month.js +2 -2
  37. package/components/Calendar/Month.js.map +1 -1
  38. package/components/Calendar/MonthView.js +1 -1
  39. package/components/Calendar/MonthView.js.map +1 -1
  40. package/components/Calendar/{MonthView.css.d.ts → MonthView.styles.d.ts} +1 -1
  41. package/components/Calendar/MonthView.styles.js +47 -0
  42. package/components/Calendar/MonthView.styles.js.map +1 -0
  43. package/components/Center/Center.js +1 -1
  44. package/components/Center/Center.js.map +1 -1
  45. package/components/Center/{Center.css.d.ts → Center.styles.d.ts} +1 -1
  46. package/components/Center/Center.styles.js +27 -0
  47. package/components/Center/Center.styles.js.map +1 -0
  48. package/components/Checkbox/Checkbox.js +1 -1
  49. package/components/Checkbox/Checkbox.js.map +1 -1
  50. package/components/Checkbox/Checkbox.mixins.js +6 -3
  51. package/components/Checkbox/Checkbox.mixins.js.map +1 -1
  52. package/components/Checkbox/{Checkbox.css.d.ts → Checkbox.styles.d.ts} +1 -2
  53. package/components/Checkbox/Checkbox.styles.js +100 -0
  54. package/components/Checkbox/Checkbox.styles.js.map +1 -0
  55. package/components/DateInput/DateFragmentsView.js +1 -1
  56. package/components/DateInput/DateFragmentsView.js.map +1 -1
  57. package/components/DateInput/{DateFragmentsView.css.d.ts → DateFragmentsView.styles.d.ts} +1 -1
  58. package/components/DateInput/DateFragmentsView.styles.js +28 -0
  59. package/components/DateInput/DateFragmentsView.styles.js.map +1 -0
  60. package/components/DateInput/DateInput.js +1 -1
  61. package/components/DateInput/DateInput.js.map +1 -1
  62. package/components/DateInput/{DateInput.css.d.ts → DateInput.styles.d.ts} +3 -2
  63. package/components/DateInput/DateInput.styles.js +29 -0
  64. package/components/DateInput/DateInput.styles.js.map +1 -0
  65. package/components/DatePicker/DatePicker.js +1 -1
  66. package/components/DatePicker/DatePicker.js.map +1 -1
  67. package/components/DatePicker/{DatePicker.css.d.ts → DatePicker.styles.d.ts} +1 -1
  68. package/components/DatePicker/DatePicker.styles.js +18 -0
  69. package/components/DatePicker/DatePicker.styles.js.map +1 -0
  70. package/components/DatePicker/MobilePicker.js +1 -1
  71. package/components/DatePicker/MobilePicker.js.map +1 -1
  72. package/components/DatePicker/MobilePicker.styles.d.ts +3 -0
  73. package/components/DatePicker/MobilePicker.styles.js +15 -0
  74. package/components/DatePicker/MobilePicker.styles.js.map +1 -0
  75. package/components/DateRangePicker/DateRangePicker.d.ts +4 -4
  76. package/components/DateRangePicker/DateRangePicker.js +27 -32
  77. package/components/DateRangePicker/DateRangePicker.js.map +1 -1
  78. package/components/DateRangePicker/{DateRangePicker.css.d.ts → DateRangePicker.styles.d.ts} +3 -7
  79. package/components/DateRangePicker/DateRangePicker.styles.js +57 -0
  80. package/components/DateRangePicker/DateRangePicker.styles.js.map +1 -0
  81. package/components/FileUploader/FileUploader.js +1 -1
  82. package/components/FileUploader/FileUploader.js.map +1 -1
  83. package/components/FileUploader/{FileUploader.css.d.ts → FileUploader.styles.d.ts} +3 -3
  84. package/components/FileUploader/FileUploader.styles.js +221 -0
  85. package/components/FileUploader/FileUploader.styles.js.map +1 -0
  86. package/components/FileUploader/FileUploaderFile.js +1 -1
  87. package/components/FileUploader/FileUploaderFile.js.map +1 -1
  88. package/components/FileUploader/{FileUploaderFile.css.d.ts → FileUploaderFile.styles.d.ts} +3 -3
  89. package/components/FileUploader/FileUploaderFile.styles.js +184 -0
  90. package/components/FileUploader/FileUploaderFile.styles.js.map +1 -0
  91. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js +1 -1
  92. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  93. package/components/FileUploader/FileUploaderFileList/{FileUploaderFileList.css.d.ts → FileUploaderFileList.styles.d.ts} +3 -3
  94. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js +103 -0
  95. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -0
  96. package/components/FileUploader/FileUploaderFileStatusIcon.js +1 -1
  97. package/components/FileUploader/FileUploaderFileStatusIcon.js.map +1 -1
  98. package/components/GlobalLoader/GlobalLoaderView.js +7 -13
  99. package/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  100. package/components/GlobalLoader/GlobalLoaderView.styles.d.ts +17 -0
  101. package/components/GlobalLoader/GlobalLoaderView.styles.js +70 -0
  102. package/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -0
  103. package/components/Group/Group.js +1 -1
  104. package/components/Group/Group.js.map +1 -1
  105. package/components/Group/{Group.css.d.ts → Group.styles.d.ts} +1 -1
  106. package/components/Group/Group.styles.js +30 -0
  107. package/components/Group/Group.styles.js.map +1 -0
  108. package/components/Hint/Hint.js +1 -1
  109. package/components/Hint/Hint.js.map +1 -1
  110. package/components/Hint/{Hint.css.d.ts → Hint.styles.d.ts} +1 -1
  111. package/components/Hint/Hint.styles.js +18 -0
  112. package/components/Hint/Hint.styles.js.map +1 -0
  113. package/components/Input/Input.js +1 -1
  114. package/components/Input/Input.js.map +1 -1
  115. package/components/Input/{Input.css.d.ts → Input.styles.d.ts} +1 -1
  116. package/components/Input/Input.styles.js +68 -0
  117. package/components/Input/Input.styles.js.map +1 -0
  118. package/components/Input/InputLayout/InputLayout.js +1 -1
  119. package/components/Input/InputLayout/InputLayout.js.map +1 -1
  120. package/components/Input/InputLayout/{InputLayout.css.d.ts → InputLayout.styles.d.ts} +1 -1
  121. package/components/Input/InputLayout/InputLayout.styles.js +59 -0
  122. package/components/Input/InputLayout/InputLayout.styles.js.map +1 -0
  123. package/components/Input/InputLayout/InputLayoutAside.js +1 -1
  124. package/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
  125. package/components/Input/InputLayout/InputLayoutAsideCounter.js +1 -1
  126. package/components/Input/InputLayout/InputLayoutAsideCounter.js.map +1 -1
  127. package/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -1
  128. package/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  129. package/components/Input/InputLayout/InputLayoutAsideText.js +1 -1
  130. package/components/Input/InputLayout/InputLayoutAsideText.js.map +1 -1
  131. package/components/Kebab/Kebab.js +1 -1
  132. package/components/Kebab/Kebab.js.map +1 -1
  133. package/components/Kebab/{Kebab.css.d.ts → Kebab.styles.d.ts} +1 -1
  134. package/components/Kebab/Kebab.styles.js +36 -0
  135. package/components/Kebab/Kebab.styles.js.map +1 -0
  136. package/components/Link/Link.js +2 -3
  137. package/components/Link/Link.js.map +1 -1
  138. package/components/Link/{Link.css.d.ts → Link.styles.d.ts} +1 -1
  139. package/components/Link/Link.styles.js +82 -0
  140. package/components/Link/Link.styles.js.map +1 -0
  141. package/components/Link/LinkIcon.js +1 -1
  142. package/components/Link/LinkIcon.js.map +1 -1
  143. package/components/Loader/Loader.js +1 -1
  144. package/components/Loader/Loader.js.map +1 -1
  145. package/components/Loader/{Loader.css.d.ts → Loader.styles.d.ts} +1 -1
  146. package/components/Loader/Loader.styles.js +27 -0
  147. package/components/Loader/Loader.styles.js.map +1 -0
  148. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +1 -1
  149. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  150. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.d.ts +6 -0
  151. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js +18 -0
  152. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js.map +1 -0
  153. package/components/MaskedInput/{MaskedInput.css.d.ts → MaskedInput.styles.d.ts} +1 -1
  154. package/components/MaskedInput/MaskedInput.styles.js +19 -0
  155. package/components/MaskedInput/MaskedInput.styles.js.map +1 -0
  156. package/components/MaskedInput/MaskedInputLegacy.js +1 -1
  157. package/components/MaskedInput/MaskedInputLegacy.js.map +1 -1
  158. package/components/MaskedInputV2/MaskedInputV2.js +1 -1
  159. package/components/MaskedInputV2/MaskedInputV2.js.map +1 -1
  160. package/components/MaskedInputV2/{MaskedInputV2.css.d.ts → MaskedInputV2.styles.d.ts} +1 -1
  161. package/components/MaskedInputV2/MaskedInputV2.styles.js +19 -0
  162. package/components/MaskedInputV2/MaskedInputV2.styles.js.map +1 -0
  163. package/components/MaskedInputV2/internal/MaskOverlay.js +1 -1
  164. package/components/MaskedInputV2/internal/MaskOverlay.js.map +1 -1
  165. package/components/MaskedInputV2/internal/MaskedCore.js +1 -1
  166. package/components/MaskedInputV2/internal/MaskedCore.js.map +1 -1
  167. package/components/MaskedInputV2/internal/{MaskedInternal.css.d.ts → MaskedInternal.styles.d.ts} +1 -1
  168. package/components/MaskedInputV2/internal/MaskedInternal.styles.js +34 -0
  169. package/components/MaskedInputV2/internal/MaskedInternal.styles.js.map +1 -0
  170. package/components/MenuFooter/MenuFooter.js +1 -1
  171. package/components/MenuFooter/MenuFooter.js.map +1 -1
  172. package/components/MenuFooter/{MenuFooter.css.d.ts → MenuFooter.styles.d.ts} +1 -1
  173. package/components/MenuFooter/MenuFooter.styles.js +34 -0
  174. package/components/MenuFooter/MenuFooter.styles.js.map +1 -0
  175. package/components/MenuHeader/MenuHeader.js +1 -1
  176. package/components/MenuHeader/MenuHeader.js.map +1 -1
  177. package/components/MenuHeader/{MenuHeader.css.d.ts → MenuHeader.styles.d.ts} +1 -1
  178. package/components/MenuHeader/MenuHeader.styles.js +34 -0
  179. package/components/MenuHeader/MenuHeader.styles.js.map +1 -0
  180. package/components/MenuItem/MenuItem.js +1 -1
  181. package/components/MenuItem/MenuItem.js.map +1 -1
  182. package/components/MenuItem/MenuItem.mixins.js +1 -1
  183. package/components/MenuItem/MenuItem.mixins.js.map +1 -1
  184. package/components/MenuItem/{MenuItem.css.d.ts → MenuItem.styles.d.ts} +3 -1
  185. package/components/MenuItem/MenuItem.styles.js +88 -0
  186. package/components/MenuItem/MenuItem.styles.js.map +1 -0
  187. package/components/MenuSeparator/MenuSeparator.js +1 -1
  188. package/components/MenuSeparator/MenuSeparator.js.map +1 -1
  189. package/components/MenuSeparator/{MenuSeparator.css.d.ts → MenuSeparator.styles.d.ts} +1 -1
  190. package/components/MenuSeparator/MenuSeparator.styles.js +18 -0
  191. package/components/MenuSeparator/MenuSeparator.styles.js.map +1 -0
  192. package/components/MiniModal/{MiniModal.css.d.ts → MiniModal.styles.d.ts} +1 -1
  193. package/components/MiniModal/MiniModal.styles.js +37 -0
  194. package/components/MiniModal/MiniModal.styles.js.map +1 -0
  195. package/components/MiniModal/MiniModalBody.js +1 -1
  196. package/components/MiniModal/MiniModalBody.js.map +1 -1
  197. package/components/MiniModal/MiniModalFooter.js +1 -1
  198. package/components/MiniModal/MiniModalFooter.js.map +1 -1
  199. package/components/MiniModal/MiniModalHeader.js +1 -1
  200. package/components/MiniModal/MiniModalHeader.js.map +1 -1
  201. package/components/MiniModal/MiniModalIndent.js +1 -1
  202. package/components/MiniModal/MiniModalIndent.js.map +1 -1
  203. package/components/Modal/Modal.js +1 -1
  204. package/components/Modal/Modal.js.map +1 -1
  205. package/components/Modal/{Modal.css.d.ts → Modal.styles.d.ts} +1 -1
  206. package/components/Modal/Modal.styles.js +167 -0
  207. package/components/Modal/Modal.styles.js.map +1 -0
  208. package/components/Modal/ModalBody.js +1 -1
  209. package/components/Modal/ModalBody.js.map +1 -1
  210. package/components/Modal/ModalClose.js +1 -1
  211. package/components/Modal/ModalClose.js.map +1 -1
  212. package/components/Modal/ModalFooter.js +1 -1
  213. package/components/Modal/ModalFooter.js.map +1 -1
  214. package/components/Modal/ModalHeader.js +1 -1
  215. package/components/Modal/ModalHeader.js.map +1 -1
  216. package/components/Modal/ModalSeparator.js +1 -1
  217. package/components/Modal/ModalSeparator.js.map +1 -1
  218. package/components/Paging/Paging.js +1 -1
  219. package/components/Paging/Paging.js.map +1 -1
  220. package/components/Paging/{Paging.css.d.ts → Paging.styles.d.ts} +1 -1
  221. package/components/Paging/Paging.styles.js +99 -0
  222. package/components/Paging/Paging.styles.js.map +1 -0
  223. package/components/PasswordInput/PasswordInput.js +1 -1
  224. package/components/PasswordInput/PasswordInput.js.map +1 -1
  225. package/components/PasswordInput/{PasswordInput.css.d.ts → PasswordInput.styles.d.ts} +1 -1
  226. package/components/PasswordInput/PasswordInput.styles.js +36 -0
  227. package/components/PasswordInput/PasswordInput.styles.js.map +1 -0
  228. package/components/Radio/Radio.js +1 -1
  229. package/components/Radio/Radio.js.map +1 -1
  230. package/components/Radio/Radio.mixins.js +7 -4
  231. package/components/Radio/Radio.mixins.js.map +1 -1
  232. package/components/Radio/{Radio.css.d.ts → Radio.styles.d.ts} +1 -2
  233. package/components/Radio/Radio.styles.js +100 -0
  234. package/components/Radio/Radio.styles.js.map +1 -0
  235. package/components/RadioGroup/RadioGroup.js +1 -1
  236. package/components/RadioGroup/RadioGroup.js.map +1 -1
  237. package/components/RadioGroup/{RadioGroup.css.d.ts → RadioGroup.styles.d.ts} +1 -1
  238. package/components/RadioGroup/RadioGroup.styles.js +24 -0
  239. package/components/RadioGroup/RadioGroup.styles.js.map +1 -0
  240. package/components/ScrollContainer/ScrollBar.js +1 -1
  241. package/components/ScrollContainer/ScrollBar.js.map +1 -1
  242. package/components/ScrollContainer/ScrollContainer.js +1 -1
  243. package/components/ScrollContainer/ScrollContainer.js.map +1 -1
  244. package/components/ScrollContainer/{ScrollContainer.css.d.ts → ScrollContainer.styles.d.ts} +1 -1
  245. package/components/ScrollContainer/ScrollContainer.styles.js +52 -0
  246. package/components/ScrollContainer/ScrollContainer.styles.js.map +1 -0
  247. package/components/Select/Select.js +2 -2
  248. package/components/Select/Select.js.map +1 -1
  249. package/components/Select/{Select.css.d.ts → Select.styles.d.ts} +1 -1
  250. package/components/Select/Select.styles.js +57 -0
  251. package/components/Select/Select.styles.js.map +1 -0
  252. package/components/SidePage/SidePage.js +1 -1
  253. package/components/SidePage/SidePage.js.map +1 -1
  254. package/components/SidePage/{SidePage.css.d.ts → SidePage.styles.d.ts} +1 -1
  255. package/components/SidePage/SidePage.styles.js +158 -0
  256. package/components/SidePage/SidePage.styles.js.map +1 -0
  257. package/components/SidePage/SidePageBody.js +1 -1
  258. package/components/SidePage/SidePageBody.js.map +1 -1
  259. package/components/SidePage/SidePageCloseButton.js +1 -1
  260. package/components/SidePage/SidePageCloseButton.js.map +1 -1
  261. package/components/SidePage/SidePageContainer.js +1 -1
  262. package/components/SidePage/SidePageContainer.js.map +1 -1
  263. package/components/SidePage/SidePageFooter.js +1 -1
  264. package/components/SidePage/SidePageFooter.js.map +1 -1
  265. package/components/SidePage/SidePageHeader.js +1 -1
  266. package/components/SidePage/SidePageHeader.js.map +1 -1
  267. package/components/Spinner/Spinner.js +1 -1
  268. package/components/Spinner/Spinner.js.map +1 -1
  269. package/components/Spinner/{Spinner.css.d.ts → Spinner.styles.d.ts} +1 -1
  270. package/components/Spinner/Spinner.styles.js +43 -0
  271. package/components/Spinner/Spinner.styles.js.map +1 -0
  272. package/components/Sticky/Sticky.js +1 -1
  273. package/components/Sticky/Sticky.js.map +1 -1
  274. package/components/Sticky/{Sticky.css.d.ts → Sticky.styles.d.ts} +1 -1
  275. package/components/Sticky/Sticky.styles.js +27 -0
  276. package/components/Sticky/Sticky.styles.js.map +1 -0
  277. package/components/Switcher/Switcher.js +1 -1
  278. package/components/Switcher/Switcher.js.map +1 -1
  279. package/components/Switcher/{Switcher.css.d.ts → Switcher.styles.d.ts} +1 -1
  280. package/components/Switcher/Switcher.styles.js +39 -0
  281. package/components/Switcher/Switcher.styles.js.map +1 -0
  282. package/components/Tabs/Indicator.js +1 -1
  283. package/components/Tabs/Indicator.js.map +1 -1
  284. package/components/Tabs/{Indicator.css.d.ts → Indicator.styles.d.ts} +1 -1
  285. package/components/Tabs/Indicator.styles.js +27 -0
  286. package/components/Tabs/Indicator.styles.js.map +1 -0
  287. package/components/Tabs/Tab.js +1 -1
  288. package/components/Tabs/Tab.js.map +1 -1
  289. package/components/Tabs/{Tab.css.d.ts → Tab.styles.d.ts} +3 -3
  290. package/components/Tabs/Tab.styles.js +105 -0
  291. package/components/Tabs/Tab.styles.js.map +1 -0
  292. package/components/Tabs/Tabs.js +1 -1
  293. package/components/Tabs/Tabs.js.map +1 -1
  294. package/components/Tabs/{Tabs.css.d.ts → Tabs.styles.d.ts} +1 -1
  295. package/components/Tabs/Tabs.styles.js +26 -0
  296. package/components/Tabs/Tabs.styles.js.map +1 -0
  297. package/components/Textarea/Textarea.js +1 -1
  298. package/components/Textarea/Textarea.js.map +1 -1
  299. package/components/Textarea/{Textarea.css.d.ts → Textarea.styles.d.ts} +1 -1
  300. package/components/Textarea/Textarea.styles.js +73 -0
  301. package/components/Textarea/Textarea.styles.js.map +1 -0
  302. package/components/Textarea/TextareaCounter.js +1 -1
  303. package/components/Textarea/TextareaCounter.js.map +1 -1
  304. package/components/TimePicker/TimePicker.js +1 -1
  305. package/components/TimePicker/TimePicker.js.map +1 -1
  306. package/components/TimePicker/{TimePicker.css.d.ts → TimePicker.styles.d.ts} +1 -1
  307. package/components/TimePicker/TimePicker.styles.js +39 -0
  308. package/components/TimePicker/TimePicker.styles.js.map +1 -0
  309. package/components/TimePicker/TimePickerItems.js +1 -1
  310. package/components/TimePicker/TimePickerItems.js.map +1 -1
  311. package/components/TimePicker/TimePickerPopup.js +1 -1
  312. package/components/TimePicker/TimePickerPopup.js.map +1 -1
  313. package/components/Toast/Toast.js +1 -1
  314. package/components/Toast/Toast.js.map +1 -1
  315. package/components/Toast/{Toast.css.d.ts → Toast.styles.d.ts} +1 -1
  316. package/components/Toast/Toast.styles.js +24 -0
  317. package/components/Toast/Toast.styles.js.map +1 -0
  318. package/components/Toast/ToastView.js +1 -1
  319. package/components/Toast/ToastView.js.map +1 -1
  320. package/components/Toast/{ToastView.css.d.ts → ToastView.styles.d.ts} +1 -1
  321. package/components/Toast/ToastView.styles.js +67 -0
  322. package/components/Toast/ToastView.styles.js.map +1 -0
  323. package/components/Toggle/Toggle.js +1 -1
  324. package/components/Toggle/Toggle.js.map +1 -1
  325. package/components/Toggle/Toggle.mixins.js +7 -4
  326. package/components/Toggle/Toggle.mixins.js.map +1 -1
  327. package/components/Toggle/{Toggle.css.d.ts → Toggle.styles.d.ts} +1 -2
  328. package/components/Toggle/Toggle.styles.js +147 -0
  329. package/components/Toggle/Toggle.styles.js.map +1 -0
  330. package/components/Token/Token.js +1 -1
  331. package/components/Token/Token.js.map +1 -1
  332. package/components/Token/{Token.css.d.ts → Token.styles.d.ts} +1 -1
  333. package/components/Token/Token.styles.js +67 -0
  334. package/components/Token/Token.styles.js.map +1 -0
  335. package/components/Token/TokenView.js +1 -1
  336. package/components/Token/TokenView.js.map +1 -1
  337. package/components/TokenInput/TextWidthHelper.js +1 -1
  338. package/components/TokenInput/TextWidthHelper.js.map +1 -1
  339. package/components/TokenInput/TokenInput.js +1 -1
  340. package/components/TokenInput/TokenInput.js.map +1 -1
  341. package/components/TokenInput/{TokenInput.css.d.ts → TokenInput.styles.d.ts} +1 -1
  342. package/components/TokenInput/TokenInput.styles.js +68 -0
  343. package/components/TokenInput/TokenInput.styles.js.map +1 -0
  344. package/components/Tooltip/Tooltip.js +1 -1
  345. package/components/Tooltip/Tooltip.js.map +1 -1
  346. package/components/Tooltip/{Tooltip.css.d.ts → Tooltip.styles.d.ts} +1 -1
  347. package/components/Tooltip/Tooltip.styles.js +36 -0
  348. package/components/Tooltip/Tooltip.styles.js.map +1 -0
  349. package/internal/ClearCrossIcon/ClearCrossIcon.js +1 -1
  350. package/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  351. package/internal/ClearCrossIcon/{ClearCrossIcon.css.d.ts → ClearCrossIcon.styles.d.ts} +3 -2
  352. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js +36 -0
  353. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -0
  354. package/internal/CloseButtonIcon/CloseButtonIcon.js +8 -13
  355. package/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  356. package/internal/CloseButtonIcon/{CloseButtonIcon.css.d.ts → CloseButtonIcon.styles.d.ts} +3 -4
  357. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js +24 -0
  358. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +1 -0
  359. package/internal/CommonWrapper/CommonWrapper.d.ts +1 -6
  360. package/internal/CommonWrapper/CommonWrapper.js +4 -18
  361. package/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  362. package/internal/CustomComboBox/ComboBoxView.js +2 -2
  363. package/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  364. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +4 -0
  365. package/internal/CustomComboBox/CustomComboBox.styles.js +18 -0
  366. package/internal/CustomComboBox/CustomComboBox.styles.js.map +1 -0
  367. package/internal/DateSelect/DateSelect.js +1 -1
  368. package/internal/DateSelect/DateSelect.js.map +1 -1
  369. package/internal/DateSelect/{DateSelect.css.d.ts → DateSelect.styles.d.ts} +1 -1
  370. package/internal/DateSelect/DateSelect.styles.js +24 -0
  371. package/internal/DateSelect/DateSelect.styles.js.map +1 -0
  372. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -1
  373. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +11 -7
  374. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  375. package/internal/InputLikeText/InputLikeText.js +2 -2
  376. package/internal/InputLikeText/InputLikeText.js.map +1 -1
  377. package/internal/InputLikeText/{InputLikeText.css.d.ts → InputLikeText.styles.d.ts} +1 -1
  378. package/internal/InputLikeText/InputLikeText.styles.js +30 -0
  379. package/internal/InputLikeText/InputLikeText.styles.js.map +1 -0
  380. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +4 -4
  381. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -1
  382. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  383. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +15 -0
  384. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -0
  385. package/internal/MaskCharLowLine/MaskCharLowLine.js +1 -1
  386. package/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  387. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -0
  388. package/internal/MaskCharLowLine/MaskCharLowLine.styles.js +15 -0
  389. package/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +1 -0
  390. package/internal/Menu/Menu.js +1 -1
  391. package/internal/Menu/Menu.js.map +1 -1
  392. package/internal/Menu/{Menu.css.d.ts → Menu.styles.d.ts} +1 -1
  393. package/internal/Menu/Menu.styles.js +51 -0
  394. package/internal/Menu/Menu.styles.js.map +1 -0
  395. package/internal/MenuMessage/MenuMessage.js +1 -1
  396. package/internal/MenuMessage/MenuMessage.js.map +1 -1
  397. package/internal/MenuMessage/{MenuMessage.css.d.ts → MenuMessage.styles.d.ts} +1 -1
  398. package/internal/MenuMessage/MenuMessage.styles.js +41 -0
  399. package/internal/MenuMessage/MenuMessage.styles.js.map +1 -0
  400. package/internal/MobilePopup/MobilePopup.js +1 -1
  401. package/internal/MobilePopup/MobilePopup.js.map +1 -1
  402. package/internal/MobilePopup/{MobilePopup.css.d.ts → MobilePopup.styles.d.ts} +1 -1
  403. package/internal/MobilePopup/MobilePopup.styles.js +57 -0
  404. package/internal/MobilePopup/MobilePopup.styles.js.map +1 -0
  405. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +1 -1
  406. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -1
  407. package/internal/MobilePopup/MobilePopupFooter/{MobilePopupFooter.css.d.ts → MobilePopupFooter.styles.d.ts} +1 -1
  408. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js +25 -0
  409. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +1 -0
  410. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +1 -1
  411. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  412. package/internal/MobilePopup/MobilePopupHeader/{MobilePopupHeader.css.d.ts → MobilePopupHeader.styles.d.ts} +1 -1
  413. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js +47 -0
  414. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +1 -0
  415. package/internal/NativeDateInput/NativeDateInput.js +1 -1
  416. package/internal/NativeDateInput/NativeDateInput.js.map +1 -1
  417. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -0
  418. package/internal/NativeDateInput/NativeDateInput.styles.js +15 -0
  419. package/internal/NativeDateInput/NativeDateInput.styles.js.map +1 -0
  420. package/internal/NativeTimeInput/NativeTimeInput.js +1 -1
  421. package/internal/NativeTimeInput/NativeTimeInput.js.map +1 -1
  422. package/internal/NativeTimeInput/NativeTimeInput.styles.d.ts +3 -0
  423. package/internal/NativeTimeInput/NativeTimeInput.styles.js +15 -0
  424. package/internal/NativeTimeInput/NativeTimeInput.styles.js.map +1 -0
  425. package/internal/Popup/Popup.js +1 -1
  426. package/internal/Popup/Popup.js.map +1 -1
  427. package/internal/Popup/{Popup.css.d.ts → Popup.styles.d.ts} +1 -1
  428. package/internal/Popup/Popup.styles.js +69 -0
  429. package/internal/Popup/Popup.styles.js.map +1 -0
  430. package/internal/Popup/PopupPin.js +1 -1
  431. package/internal/Popup/PopupPin.js.map +1 -1
  432. package/internal/Popup/{PopupPin.css.d.ts → PopupPin.styles.d.ts} +1 -1
  433. package/internal/Popup/PopupPin.styles.js +33 -0
  434. package/internal/Popup/PopupPin.styles.js.map +1 -0
  435. package/internal/PopupMenu/PopupMenu.js +1 -1
  436. package/internal/PopupMenu/PopupMenu.js.map +1 -1
  437. package/internal/PopupMenu/PopupMenu.styles.d.ts +4 -0
  438. package/internal/PopupMenu/PopupMenu.styles.js +18 -0
  439. package/internal/PopupMenu/PopupMenu.styles.js.map +1 -0
  440. package/internal/RenderContainer/RenderContainer.d.ts +0 -1
  441. package/internal/RenderContainer/RenderContainer.js +1 -26
  442. package/internal/RenderContainer/RenderContainer.js.map +1 -1
  443. package/internal/ResizeDetector/ResizeDetector.js +1 -1
  444. package/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  445. package/internal/ResizeDetector/{ResizeDetector.css.d.ts → ResizeDetector.styles.d.ts} +1 -1
  446. package/internal/ResizeDetector/ResizeDetector.styles.js +27 -0
  447. package/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -0
  448. package/internal/SpinnerIcon/SpinnerIcon.js +1 -1
  449. package/internal/SpinnerIcon/SpinnerIcon.js.map +1 -1
  450. package/internal/SpinnerIcon/{SpinnerIcon.css.d.ts → SpinnerIcon.styles.d.ts} +1 -1
  451. package/internal/SpinnerIcon/SpinnerIcon.styles.js +24 -0
  452. package/internal/SpinnerIcon/SpinnerIcon.styles.js.map +1 -0
  453. package/internal/TextWidthHelper/TextWidthHelper.js +1 -1
  454. package/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
  455. package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
  456. package/internal/TextWidthHelper/TextWidthHelper.styles.js +18 -0
  457. package/internal/TextWidthHelper/TextWidthHelper.styles.js.map +1 -0
  458. package/internal/TimeInput/TimeFragments.js +1 -1
  459. package/internal/TimeInput/TimeFragments.js.map +1 -1
  460. package/internal/TimeInput/{TimeFragments.css.d.ts → TimeFragments.styles.d.ts} +1 -1
  461. package/internal/TimeInput/TimeFragments.styles.js +78 -0
  462. package/internal/TimeInput/TimeFragments.styles.js.map +1 -0
  463. package/internal/TimeInput/TimeInput.js +1 -1
  464. package/internal/TimeInput/TimeInput.js.map +1 -1
  465. package/internal/TimeInput/{TimeInput.css.d.ts → TimeInput.styles.d.ts} +1 -1
  466. package/internal/TimeInput/TimeInput.styles.js +24 -0
  467. package/internal/TimeInput/TimeInput.styles.js.map +1 -0
  468. package/internal/icons2022/BaseIcon.js +1 -1
  469. package/internal/icons2022/BaseIcon.js.map +1 -1
  470. package/internal/icons2022/BaseIcon.styles.d.ts +3 -0
  471. package/internal/icons2022/BaseIcon.styles.js +16 -0
  472. package/internal/icons2022/BaseIcon.styles.js.map +1 -0
  473. package/internal/icons2022/LoadingIcon.js +1 -1
  474. package/internal/icons2022/LoadingIcon.js.map +1 -1
  475. package/lib/dom/tabbableHelpers.js +22 -1
  476. package/lib/dom/tabbableHelpers.js.map +1 -1
  477. package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +0 -6
  478. package/lib/styles/getLabGrotesqueBaselineCompensation.js +0 -26
  479. package/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -1
  480. package/lib/theming/AnimationKeyframes.d.ts +1 -1
  481. package/lib/theming/AnimationKeyframes.js +1 -1
  482. package/lib/theming/AnimationKeyframes.js.map +1 -1
  483. package/lib/theming/Emotion.d.ts +2 -6
  484. package/lib/theming/Emotion.js +11 -34
  485. package/lib/theming/Emotion.js.map +1 -1
  486. package/package.json +5 -15
  487. package/components/Autocomplete/Autocomplete.css.js +0 -3
  488. package/components/Autocomplete/Autocomplete.css.js.map +0 -1
  489. package/components/Button/Button.css.js +0 -5
  490. package/components/Button/Button.css.js.map +0 -1
  491. package/components/Button/ButtonIcon.css.js +0 -3
  492. package/components/Button/ButtonIcon.css.js.map +0 -1
  493. package/components/Calendar/Calendar.css.js +0 -3
  494. package/components/Calendar/Calendar.css.js.map +0 -1
  495. package/components/Calendar/DayCellView.css.js +0 -3
  496. package/components/Calendar/DayCellView.css.js.map +0 -1
  497. package/components/Calendar/MonthView.css.js +0 -3
  498. package/components/Calendar/MonthView.css.js.map +0 -1
  499. package/components/Center/Center.css.js +0 -3
  500. package/components/Center/Center.css.js.map +0 -1
  501. package/components/Checkbox/Checkbox.css.js +0 -5
  502. package/components/Checkbox/Checkbox.css.js.map +0 -1
  503. package/components/DateInput/DateFragmentsView.css.js +0 -3
  504. package/components/DateInput/DateFragmentsView.css.js.map +0 -1
  505. package/components/DateInput/DateInput.css.js +0 -3
  506. package/components/DateInput/DateInput.css.js.map +0 -1
  507. package/components/DatePicker/DatePicker.css.js +0 -3
  508. package/components/DatePicker/DatePicker.css.js.map +0 -1
  509. package/components/DatePicker/MobilePicker.css.d.ts +0 -3
  510. package/components/DatePicker/MobilePicker.css.js +0 -3
  511. package/components/DatePicker/MobilePicker.css.js.map +0 -1
  512. package/components/DateRangePicker/DateRangePicker.css.js +0 -3
  513. package/components/DateRangePicker/DateRangePicker.css.js.map +0 -1
  514. package/components/FileUploader/FileUploader.css.js +0 -6
  515. package/components/FileUploader/FileUploader.css.js.map +0 -1
  516. package/components/FileUploader/FileUploaderFile.css.js +0 -5
  517. package/components/FileUploader/FileUploaderFile.css.js.map +0 -1
  518. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.css.js +0 -5
  519. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.css.js.map +0 -1
  520. package/components/GlobalLoader/GlobalLoaderView.css.d.ts +0 -21
  521. package/components/GlobalLoader/GlobalLoaderView.css.js +0 -4
  522. package/components/GlobalLoader/GlobalLoaderView.css.js.map +0 -1
  523. package/components/Group/Group.css.js +0 -3
  524. package/components/Group/Group.css.js.map +0 -1
  525. package/components/Hint/Hint.css.js +0 -3
  526. package/components/Hint/Hint.css.js.map +0 -1
  527. package/components/Input/Input.css.js +0 -3
  528. package/components/Input/Input.css.js.map +0 -1
  529. package/components/Input/InputLayout/InputLayout.css.js +0 -4
  530. package/components/Input/InputLayout/InputLayout.css.js.map +0 -1
  531. package/components/Kebab/Kebab.css.js +0 -3
  532. package/components/Kebab/Kebab.css.js.map +0 -1
  533. package/components/Link/Link.css.js +0 -3
  534. package/components/Link/Link.css.js.map +0 -1
  535. package/components/Loader/Loader.css.js +0 -3
  536. package/components/Loader/Loader.css.js.map +0 -1
  537. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.css.d.ts +0 -6
  538. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.css.js +0 -4
  539. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.css.js.map +0 -1
  540. package/components/MaskedInput/MaskedInput.css.js +0 -4
  541. package/components/MaskedInput/MaskedInput.css.js.map +0 -1
  542. package/components/MaskedInputV2/MaskedInputV2.css.js +0 -4
  543. package/components/MaskedInputV2/MaskedInputV2.css.js.map +0 -1
  544. package/components/MaskedInputV2/internal/MaskedInternal.css.js +0 -4
  545. package/components/MaskedInputV2/internal/MaskedInternal.css.js.map +0 -1
  546. package/components/MenuFooter/MenuFooter.css.js +0 -3
  547. package/components/MenuFooter/MenuFooter.css.js.map +0 -1
  548. package/components/MenuHeader/MenuHeader.css.js +0 -3
  549. package/components/MenuHeader/MenuHeader.css.js.map +0 -1
  550. package/components/MenuItem/MenuItem.css.js +0 -3
  551. package/components/MenuItem/MenuItem.css.js.map +0 -1
  552. package/components/MenuSeparator/MenuSeparator.css.js +0 -3
  553. package/components/MenuSeparator/MenuSeparator.css.js.map +0 -1
  554. package/components/MiniModal/MiniModal.css.js +0 -4
  555. package/components/MiniModal/MiniModal.css.js.map +0 -1
  556. package/components/Modal/Modal.css.js +0 -4
  557. package/components/Modal/Modal.css.js.map +0 -1
  558. package/components/Paging/Paging.css.js +0 -3
  559. package/components/Paging/Paging.css.js.map +0 -1
  560. package/components/PasswordInput/PasswordInput.css.js +0 -3
  561. package/components/PasswordInput/PasswordInput.css.js.map +0 -1
  562. package/components/Radio/Radio.css.js +0 -5
  563. package/components/Radio/Radio.css.js.map +0 -1
  564. package/components/RadioGroup/RadioGroup.css.js +0 -3
  565. package/components/RadioGroup/RadioGroup.css.js.map +0 -1
  566. package/components/ScrollContainer/ScrollContainer.css.js +0 -4
  567. package/components/ScrollContainer/ScrollContainer.css.js.map +0 -1
  568. package/components/Select/Select.css.js +0 -3
  569. package/components/Select/Select.css.js.map +0 -1
  570. package/components/SidePage/SidePage.css.js +0 -3
  571. package/components/SidePage/SidePage.css.js.map +0 -1
  572. package/components/Spinner/Spinner.css.js +0 -3
  573. package/components/Spinner/Spinner.css.js.map +0 -1
  574. package/components/Sticky/Sticky.css.js +0 -3
  575. package/components/Sticky/Sticky.css.js.map +0 -1
  576. package/components/Switcher/Switcher.css.js +0 -3
  577. package/components/Switcher/Switcher.css.js.map +0 -1
  578. package/components/Tabs/Indicator.css.js +0 -3
  579. package/components/Tabs/Indicator.css.js.map +0 -1
  580. package/components/Tabs/Tab.css.js +0 -6
  581. package/components/Tabs/Tab.css.js.map +0 -1
  582. package/components/Tabs/Tabs.css.js +0 -3
  583. package/components/Tabs/Tabs.css.js.map +0 -1
  584. package/components/Textarea/Textarea.css.js +0 -3
  585. package/components/Textarea/Textarea.css.js.map +0 -1
  586. package/components/TimePicker/TimePicker.css.js +0 -3
  587. package/components/TimePicker/TimePicker.css.js.map +0 -1
  588. package/components/Toast/Toast.css.js +0 -3
  589. package/components/Toast/Toast.css.js.map +0 -1
  590. package/components/Toast/ToastView.css.js +0 -3
  591. package/components/Toast/ToastView.css.js.map +0 -1
  592. package/components/Toggle/Toggle.css.js +0 -5
  593. package/components/Toggle/Toggle.css.js.map +0 -1
  594. package/components/Token/Token.css.js +0 -4
  595. package/components/Token/Token.css.js.map +0 -1
  596. package/components/TokenInput/TokenInput.css.js +0 -4
  597. package/components/TokenInput/TokenInput.css.js.map +0 -1
  598. package/components/Tooltip/Tooltip.css.js +0 -3
  599. package/components/Tooltip/Tooltip.css.js.map +0 -1
  600. package/internal/ClearCrossIcon/ClearCrossIcon.css.js +0 -3
  601. package/internal/ClearCrossIcon/ClearCrossIcon.css.js.map +0 -1
  602. package/internal/CloseButtonIcon/CloseButtonIcon.css.js +0 -3
  603. package/internal/CloseButtonIcon/CloseButtonIcon.css.js.map +0 -1
  604. package/internal/CustomComboBox/CustomComboBox.css.d.ts +0 -4
  605. package/internal/CustomComboBox/CustomComboBox.css.js +0 -3
  606. package/internal/CustomComboBox/CustomComboBox.css.js.map +0 -1
  607. package/internal/DateSelect/DateSelect.css.js +0 -4
  608. package/internal/DateSelect/DateSelect.css.js.map +0 -1
  609. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.d.ts +0 -3
  610. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.js +0 -3
  611. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.js.map +0 -1
  612. package/internal/InputLikeText/InputLikeText.css.js +0 -3
  613. package/internal/InputLikeText/InputLikeText.css.js.map +0 -1
  614. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.d.ts +0 -5
  615. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.js +0 -4
  616. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.js.map +0 -1
  617. package/internal/MaskCharLowLine/MaskCharLowLine.css.d.ts +0 -3
  618. package/internal/MaskCharLowLine/MaskCharLowLine.css.js +0 -3
  619. package/internal/MaskCharLowLine/MaskCharLowLine.css.js.map +0 -1
  620. package/internal/Menu/Menu.css.js +0 -3
  621. package/internal/Menu/Menu.css.js.map +0 -1
  622. package/internal/MenuMessage/MenuMessage.css.js +0 -3
  623. package/internal/MenuMessage/MenuMessage.css.js.map +0 -1
  624. package/internal/MobilePopup/MobilePopup.css.js +0 -3
  625. package/internal/MobilePopup/MobilePopup.css.js.map +0 -1
  626. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.css.js +0 -3
  627. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.css.js.map +0 -1
  628. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.css.js +0 -3
  629. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.css.js.map +0 -1
  630. package/internal/NativeDateInput/NativeDateInput.css.d.ts +0 -3
  631. package/internal/NativeDateInput/NativeDateInput.css.js +0 -3
  632. package/internal/NativeDateInput/NativeDateInput.css.js.map +0 -1
  633. package/internal/NativeTimeInput/NativeTimeInput.css.d.ts +0 -3
  634. package/internal/NativeTimeInput/NativeTimeInput.css.js +0 -3
  635. package/internal/NativeTimeInput/NativeTimeInput.css.js.map +0 -1
  636. package/internal/Popup/Popup.css.js +0 -3
  637. package/internal/Popup/Popup.css.js.map +0 -1
  638. package/internal/Popup/PopupPin.css.js +0 -3
  639. package/internal/Popup/PopupPin.css.js.map +0 -1
  640. package/internal/PopupMenu/PopupMenu.css.d.ts +0 -4
  641. package/internal/PopupMenu/PopupMenu.css.js +0 -3
  642. package/internal/PopupMenu/PopupMenu.css.js.map +0 -1
  643. package/internal/ResizeDetector/ResizeDetector.css.js +0 -3
  644. package/internal/ResizeDetector/ResizeDetector.css.js.map +0 -1
  645. package/internal/SpinnerIcon/SpinnerIcon.css.js +0 -3
  646. package/internal/SpinnerIcon/SpinnerIcon.css.js.map +0 -1
  647. package/internal/TextWidthHelper/TextWidthHelper.css.d.ts +0 -4
  648. package/internal/TextWidthHelper/TextWidthHelper.css.js +0 -3
  649. package/internal/TextWidthHelper/TextWidthHelper.css.js.map +0 -1
  650. package/internal/TimeInput/TimeFragments.css.js +0 -3
  651. package/internal/TimeInput/TimeFragments.css.js.map +0 -1
  652. package/internal/TimeInput/TimeInput.css.js +0 -3
  653. package/internal/TimeInput/TimeInput.css.js.map +0 -1
  654. package/internal/icons2022/BaseIcon.css.d.ts +0 -3
  655. package/internal/icons2022/BaseIcon.css.js +0 -3
  656. package/internal/icons2022/BaseIcon.css.js.map +0 -1
  657. package/lib/styles/LabGrotesqueBaseline.css.d.ts +0 -1
  658. package/lib/styles/LabGrotesqueBaseline.css.js +0 -0
  659. package/lib/styles/LabGrotesqueBaseline.css.js.map +0 -1
  660. package/lib/theming/StaticStyles.d.ts +0 -30
  661. package/lib/theming/StaticStyles.js +0 -410
  662. package/lib/theming/StaticStyles.js.map +0 -1
  663. package/lib/theming/bindStaticStyles.d.ts +0 -4
  664. package/lib/theming/bindStaticStyles.js +0 -18
  665. package/lib/theming/bindStaticStyles.js.map +0 -1
  666. package/lib/theming/themeVars.d.ts +0 -26
  667. package/lib/theming/themeVars.js +0 -72
  668. package/lib/theming/themeVars.js.map +0 -1
  669. package/react-ui.css +0 -6926
@@ -0,0 +1,52 @@
1
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
2
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
+ return cooked;
4
+ };
5
+ import { memoizeGetStyles, prefix } from '../../lib/theming/Emotion.js';
6
+ export var globalClasses = prefix('scroll-container')({
7
+ scrollbarX: 'scrollbar-x',
8
+ scrollbarY: 'scrollbar-y',
9
+ scrollbarContainerX: 'scrollbar-container-x',
10
+ scrollbarContainerY: 'scrollbar-container-y',
11
+ inner: 'inner',
12
+ });
13
+ export var getStyles = memoizeGetStyles(function (_a) {
14
+ var css = _a.css;
15
+ return ({
16
+ root: function () {
17
+ return css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n height: 100%;\n overflow: hidden;\n position: relative;\n "], ["\n height: 100%;\n overflow: hidden;\n position: relative;\n "])));
18
+ },
19
+ inner: function () {
20
+ return css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n position: relative;\n overflow: scroll;\n height: 100%;\n width: 100%;\n\n /* Hide scrobars without losing functionality */\n scrollbar-width: none;\n -ms-overflow-style: none;\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n }\n "], ["\n position: relative;\n overflow: scroll;\n height: 100%;\n width: 100%;\n\n /* Hide scrobars without losing functionality */\n scrollbar-width: none;\n -ms-overflow-style: none;\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n }\n "])));
21
+ },
22
+ scrollBar: function (t) {
23
+ return css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n position: absolute;\n z-index: 200;\n border-radius: 5px;\n background: ", ";\n opacity: 0;\n transition:\n opacity 0.3s ease-out,\n width 0.2s,\n height 0.2s;\n "], ["\n position: absolute;\n z-index: 200;\n border-radius: 5px;\n background: ", ";\n opacity: 0;\n transition:\n opacity 0.3s ease-out,\n width 0.2s,\n height 0.2s;\n "])), t.scrollContainerScrollBarColor);
24
+ },
25
+ visibleScrollBar: function () {
26
+ return css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n opacity: 1;\n transition:\n opacity 0.1s ease-out,\n width 0.2s,\n height 0.2s;\n "], ["\n opacity: 1;\n transition:\n opacity 0.1s ease-out,\n width 0.2s,\n height 0.2s;\n "])));
27
+ },
28
+ scrollBarInvert: function (t) {
29
+ return css(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n background: #ccc;\n background: ", ";\n "], ["\n background: #ccc;\n background: ", ";\n "])), t.scrollContainerScrollBarInvertColor);
30
+ },
31
+ scrollBarContainerY: function () {
32
+ return css(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n position: absolute;\n right: 2px;\n top: 1px;\n bottom: 1px;\n width: 0;\n "], ["\n position: absolute;\n right: 2px;\n top: 1px;\n bottom: 1px;\n width: 0;\n "])));
33
+ },
34
+ scrollBarY: function (t) {
35
+ return css(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n right: 0;\n width: ", ";\n "], ["\n right: 0;\n width: ", ";\n "])), t.scrollContainerScrollBarSize);
36
+ },
37
+ scrollBarYHover: function (t) {
38
+ return css(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n width: ", ";\n "], ["\n width: ", ";\n "])), t.scrollContainerScrollBarHoverSize);
39
+ },
40
+ scrollBarContainerX: function (t) {
41
+ return css(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n position: absolute;\n right: 1px;\n bottom: 1px;\n left: 1px;\n height: 0;\n\n .", " ~ & {\n margin-right: calc(", " + 3px) !important;\n }\n\n & ~ .", " {\n &::after {\n content: ' ';\n width: 100%;\n display: block;\n height: calc(", " + 2px);\n }\n }\n "], ["\n position: absolute;\n right: 1px;\n bottom: 1px;\n left: 1px;\n height: 0;\n\n .", " ~ & {\n margin-right: calc(", " + 3px) !important;\n }\n\n & ~ .", " {\n &::after {\n content: ' ';\n width: 100%;\n display: block;\n height: calc(", " + 2px);\n }\n }\n "])), globalClasses.scrollbarContainerY, t.scrollContainerScrollBarHoverSize, globalClasses.inner, t.scrollContainerScrollBarHoverSize);
42
+ },
43
+ scrollBarX: function (t) {
44
+ return css(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n bottom: 0;\n height: ", ";\n "], ["\n bottom: 0;\n height: ", ";\n "])), t.scrollContainerScrollBarSize);
45
+ },
46
+ scrollBarXHover: function (t) {
47
+ return css(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n height: ", ";\n "], ["\n height: ", ";\n "])), t.scrollContainerScrollBarHoverSize);
48
+ },
49
+ });
50
+ });
51
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11;
52
+ //# sourceMappingURL=ScrollContainer.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollContainer.styles.js","sourceRoot":"","sources":["ScrollContainer.styles.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAGxE,MAAM,CAAC,IAAM,aAAa,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACtD,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,aAAa;IACzB,mBAAmB,EAAE,uBAAuB;IAC5C,mBAAmB,EAAE,uBAAuB;IAC5C,KAAK,EAAE,OAAO;CACf,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QAC/D,IAAI;YACF,OAAO,GAAG,oJAAA,iFAIT,KAAC;QACJ,CAAC;QAED,KAAK;YACH,OAAO,GAAG,+WAAA,4SAaT,KAAC;QACJ,CAAC;QAED,SAAS,YAAC,CAAQ;YAChB,OAAO,GAAG,gSAAA,iGAIM,EAA+B,0HAM9C,KANe,CAAC,CAAC,6BAA6B,EAM7C;QACJ,CAAC;QAED,gBAAgB;YACd,OAAO,GAAG,4LAAA,yHAMT,KAAC;QACJ,CAAC;QAED,eAAe,YAAC,CAAQ;YACtB,OAAO,GAAG,6HAAA,+CAEM,EAAqC,SACpD,KADe,CAAC,CAAC,mCAAmC,EACnD;QACJ,CAAC;QAED,mBAAmB;YACjB,OAAO,GAAG,+KAAA,4GAMT,KAAC;QACJ,CAAC;QAED,UAAU,YAAC,CAAQ;YACjB,OAAO,GAAG,gHAAA,kCAEC,EAA8B,SACxC,KADU,CAAC,CAAC,4BAA4B,EACvC;QACJ,CAAC;QAED,eAAe,YAAC,CAAQ;YACtB,OAAO,GAAG,+FAAA,iBACC,EAAmC,SAC7C,KADU,CAAC,CAAC,iCAAiC,EAC5C;QACJ,CAAC;QAED,mBAAmB,YAAC,CAAQ;YAC1B,OAAO,GAAG,ibAAA,mHAOL,EAAiC,qCACb,EAAmC,6CAGnD,EAAmB,6HAKP,EAAmC,oCAGvD,KAZI,aAAa,CAAC,mBAAmB,EACb,CAAC,CAAC,iCAAiC,EAGnD,aAAa,CAAC,KAAK,EAKP,CAAC,CAAC,iCAAiC,EAGtD;QACJ,CAAC;QAED,UAAU,YAAC,CAAQ;YACjB,OAAO,GAAG,oHAAA,oCAEE,EAA8B,SACzC,KADW,CAAC,CAAC,4BAA4B,EACxC;QACJ,CAAC;QAED,eAAe,YAAC,CAAQ;YACtB,OAAO,GAAG,kGAAA,kBACE,EAAmC,SAC9C,KADW,CAAC,CAAC,iCAAiC,EAC7C;QACJ,CAAC;KACF,CAAC;AAnH8D,CAmH9D,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles, prefix } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\n\nexport const globalClasses = prefix('scroll-container')({\n scrollbarX: 'scrollbar-x',\n scrollbarY: 'scrollbar-y',\n scrollbarContainerX: 'scrollbar-container-x',\n scrollbarContainerY: 'scrollbar-container-y',\n inner: 'inner',\n});\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root() {\n return css`\n height: 100%;\n overflow: hidden;\n position: relative;\n `;\n },\n\n inner() {\n return css`\n position: relative;\n overflow: scroll;\n height: 100%;\n width: 100%;\n\n /* Hide scrobars without losing functionality */\n scrollbar-width: none;\n -ms-overflow-style: none;\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n }\n `;\n },\n\n scrollBar(t: Theme) {\n return css`\n position: absolute;\n z-index: 200;\n border-radius: 5px;\n background: ${t.scrollContainerScrollBarColor};\n opacity: 0;\n transition:\n opacity 0.3s ease-out,\n width 0.2s,\n height 0.2s;\n `;\n },\n\n visibleScrollBar() {\n return css`\n opacity: 1;\n transition:\n opacity 0.1s ease-out,\n width 0.2s,\n height 0.2s;\n `;\n },\n\n scrollBarInvert(t: Theme) {\n return css`\n background: #ccc;\n background: ${t.scrollContainerScrollBarInvertColor};\n `;\n },\n\n scrollBarContainerY() {\n return css`\n position: absolute;\n right: 2px;\n top: 1px;\n bottom: 1px;\n width: 0;\n `;\n },\n\n scrollBarY(t: Theme) {\n return css`\n right: 0;\n width: ${t.scrollContainerScrollBarSize};\n `;\n },\n\n scrollBarYHover(t: Theme) {\n return css`\n width: ${t.scrollContainerScrollBarHoverSize};\n `;\n },\n\n scrollBarContainerX(t: Theme) {\n return css`\n position: absolute;\n right: 1px;\n bottom: 1px;\n left: 1px;\n height: 0;\n\n .${globalClasses.scrollbarContainerY} ~ & {\n margin-right: calc(${t.scrollContainerScrollBarHoverSize} + 3px) !important;\n }\n\n & ~ .${globalClasses.inner} {\n &::after {\n content: ' ';\n width: 100%;\n display: block;\n height: calc(${t.scrollContainerScrollBarHoverSize} + 2px);\n }\n }\n `;\n },\n\n scrollBarX(t: Theme) {\n return css`\n bottom: 0;\n height: ${t.scrollContainerScrollBarSize};\n `;\n },\n\n scrollBarXHover(t: Theme) {\n return css`\n height: ${t.scrollContainerScrollBarHoverSize};\n `;\n },\n}));\n"]}
@@ -56,14 +56,14 @@ import { isThemeGTE } from '../../lib/theming/ThemeHelpers.js';
56
56
  import { getRandomID, isFunction, isNonNullable, isReactUINode } from '../../lib/utils.js';
57
57
  import { Button } from '../Button/index.js';
58
58
  import { Input } from '../Input/index.js';
59
- import { getStyles as getLinkStyles } from '../Link/Link.css.js';
59
+ import { getStyles as getLinkStyles } from '../Link/Link.styles.js';
60
60
  import { MenuItem } from '../MenuItem/index.js';
61
61
  import { MenuSeparator } from '../MenuSeparator/index.js';
62
62
  import { responsiveLayout } from '../ResponsiveLayout/decorator.js';
63
63
  import { ArrowDownIcon } from './ArrowDownIcon.js';
64
64
  import { Item } from './Item.js';
65
65
  import { SelectLocaleHelper } from './locale/index.js';
66
- import { getStyles } from './Select.css.js';
66
+ import { getStyles } from './Select.styles.js';
67
67
  import { getSelectTheme } from './selectTheme.js';
68
68
  import { SelectDataTids } from './tids.js';
69
69
  export * from './tids.js';
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sourceRoot":"","sources":["Select.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport invariant from 'invariant';\nimport debounce from 'lodash.debounce';\nimport type { AriaAttributes, HTMLAttributes, ReactNode, ReactPortal } from 'react';\nimport React from 'react';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { Menu } from '../../internal/Menu/index.js';\nimport { MobilePopup } from '../../internal/MobilePopup/index.js';\nimport { Popup, type PopupPositionsType } from '../../internal/Popup/index.js';\nimport { RenderLayer } from '../../internal/RenderLayer/index.js';\nimport { ZIndex } from '../../internal/ZIndex/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport {\n isKeyArrowDown,\n isKeyArrowUp,\n isKeyArrowVertical,\n isKeyEnter,\n isKeyEscape,\n isKeySpace,\n} from '../../lib/events/keyboard/identifiers.js';\nimport { getFullReactUIFlagsContext } from '../../lib/featureFlagsContext/FeatureFlagsHelpers.js';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext/ReactUIFeatureFlagsContext.js';\nimport { ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext/ReactUIFeatureFlagsContext.js';\nimport { filterProps } from '../../lib/filterProps.js';\nimport { getMenuPositions } from '../../lib/getMenuPositions.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { locale } from '../../lib/locale/decorators.js';\nimport { reactGetTextContent } from '../../lib/reactGetTextContent.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { getRootNode, rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory.js';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { getRandomID, isFunction, isNonNullable, isReactUINode } from '../../lib/utils.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport type { ButtonProps, ButtonUse } from '../Button/index.js';\nimport { Button } from '../Button/index.js';\nimport { Input } from '../Input/index.js';\nimport { getStyles as getLinkStyles } from '../Link/Link.css.js';\nimport type { MenuHeaderProps } from '../MenuHeader/index.js';\nimport { MenuItem } from '../MenuItem/index.js';\nimport type { MenuItemProps } from '../MenuItem/index.js';\nimport { MenuSeparator } from '../MenuSeparator/index.js';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator.js';\nimport { ArrowDownIcon } from './ArrowDownIcon.js';\nimport { Item } from './Item.js';\nimport type { SelectLocale } from './locale/index.js';\nimport { SelectLocaleHelper } from './locale/index.js';\nimport { getStyles } from './Select.css.js';\nimport { getSelectTheme } from './selectTheme.js';\nimport { SelectDataTids } from './tids.js';\n\nexport * from './tids.js';\n\nexport interface ButtonParams extends Pick<\n AriaAttributes,\n 'aria-describedby' | 'aria-controls' | 'aria-label' | 'aria-expanded'\n> {\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\n CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** @ignore */\n _icon?: React.ReactNode;\n\n /** Отрисовывает кнопку. */\n _renderButton?: (params: ButtonParams) => React.ReactNode;\n\n /** @ignore */\n corners?: React.CSSProperties;\n\n /** Значение по умолчанию. */\n defaultValue?: TValue;\n\n /** Смещение списка относительно поля по горизонтали. При нуле смещения нет, при положительном значении — список сдвигается вправо, при отрицательном — влево.\n * @default 0\n */\n menuOffset?: number;\n\n /** По умолчанию список рендерится через [паттерн Portal](https://react.dev/reference/react-dom/createPortal). Проп отключает использование Portal и список рендерится как обычный блок с абсолютным позиционированием внутри компонента. */\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 * @example\n * Вставить невыделяемый элемент со своей разметкой можно так:\n * ```\n * <Select ...\n * items={[Select.staticElement(() => <div>My Element</div>)]}\n * />\n * ```\n * @example\n * Чтобы добавить стандартный отступ для статического элемента:\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 /** Список значений, определяющих расположение списка относительно кнопки. Если во всех позициях список выходит за пределы `viewport`, будет использована первая из этого списка.\n *\n * `\"top left\"`, `\"top center\"`, `\"top right\"`, `\"right top\"`, `\"right middle\"`, `\"right bottom\"`, `\"bottom left\"`, `\"bottom center\"`, `\"bottom right\"`, `\"left top\"`, `\"left middle\"`, `\"left bottom\"`.\n * @default ['bottom left', 'bottom right', 'top left', 'top right'] */\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 /** Объект с переменными темы. */\n theme?: ThemeIn | Theme;\n\n /** Ширина раскрывающегося списка. */\n width?: number | string;\n\n /** Переводит компонент в состояние предупреждения. */\n warning?: boolean;\n\n /** Стиль кнопки. Примеры стилей смотрите [в документации компонента Button](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_button-button--docs). */\n use?: ButtonUse;\n\n /** Размер раскрывающегося списка.\n * @default small\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 /** Отключает выравнивание текста элементов в списке относительно иконок в других элементах. */\n preventIconsOffset?: boolean;\n}\n\nexport interface SelectState<TValue> {\n opened: boolean;\n searchPattern: string;\n value: Nullable<TValue>;\n}\n\ninterface FocusableReactElement extends React.ReactElement<unknown> {\n focus: (event?: unknown) => void;\n}\n\ntype DefaultProps<TValue, TItem> = Required<\n Pick<SelectProps<TValue, TItem>, 'renderValue' | 'renderItem' | 'areValuesEqual' | 'filterItem' | 'use'>\n>;\n\n/**\n * Раскрывающийся список позволяет выбрать значение из заранее известного набора вариантов.\n */\n@withRenderEnvironment\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 = (): React.JSX.Element => <MenuSeparator />;\n\n public static staticElement = (\n element: React.ReactElement | (() => React.ReactElement),\n ): 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 globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private linkStyles!: ReturnType<typeof getLinkStyles>;\n private styles!: ReturnType<typeof getStyles>;\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 private featureFlags!: ReactUIFeatureFlags;\n\n public componentDidUpdate(_prevProps: SelectProps<TValue, TItem>, prevState: SelectState<TValue>) {\n if (!prevState.opened && this.state.opened) {\n this.globalObject.addEventListener?.('popstate', this.close);\n this.scheduleScrollToSelectedItem();\n }\n if (prevState.opened && !this.state.opened) {\n this.globalObject.removeEventListener?.('popstate', this.close);\n }\n }\n\n public render(): React.JSX.Element {\n this.linkStyles = getLinkStyles(this.emotion);\n this.styles = getStyles(this.emotion);\n\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\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 </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n /** Открывает раскрывающийся список.\n * @public\n */\n public open = (): void => {\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 = (): void => {\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 * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus = (): void => {\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={this.cx({ [this.styles.root()]: true, [this.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 this.styles.leftIconLink(this.theme);\n }\n\n switch (size) {\n case 'large':\n return this.styles.leftIconLarge(this.theme);\n case 'medium':\n return this.styles.leftIconMedium(this.theme);\n case 'small':\n default:\n return this.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 // TODO: remove in React UI 7.x with use=\"default\"\n _noWarningForUseDefault: true,\n };\n const use = this.getProps().use;\n\n const labelProps = {\n 'data-tid': SelectDataTids.label,\n className: this.cx({\n [this.styles.label()]: use !== 'link',\n [this.styles.placeholder(this.theme)]: params.isPlaceholder,\n [this.styles.customUsePlaceholder()]: params.isPlaceholder && use !== 'default',\n [this.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\n className={this.cx(this.styles.selectButtonContainer(), {\n [this.linkStyles.root(this.theme)]: use === 'link',\n })}\n >\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={this.cx(this.styles.arrowWrap(this.theme), {\n [this.styles.arrowDisabled(this.theme)]: this.props.disabled,\n [this.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, preventIconsOffset } = 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 preventIconsOffset={preventIconsOffset}\n >\n {search}\n {this.getMenuItems(value)}\n </Menu>\n </Popup>\n );\n }\n\n private getSearch = () => {\n return (\n <div className={this.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 const themeGTE6_1 = isThemeGTE(this.theme, '6.1');\n const themeDependentProps = themeGTE6_1\n ? {\n footerChildComponent: search,\n size: this.size,\n }\n : {\n headerChildComponent: search,\n };\n\n return (\n <MobilePopup\n {...themeDependentProps}\n caption={this.props.mobileMenuHeaderText}\n onCloseRequest={this.close}\n opened={this.state.opened}\n >\n <Menu onItemClick={this.close} disableScrollContainer maxHeight={'auto'} ref={this.refMenu}>\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 scheduleScrollToSelectedItem = (): void => {\n if (this.featureFlags.selectAutoScrollToSelectedItem) {\n this.globalObject.requestAnimationFrame?.(() => {\n this.menu?.scrollToSelectedMenuItem();\n });\n }\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<any>, {\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<any>).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: unknown) {\n if (Array.isArray(entry)) {\n return entry;\n }\n\n return [entry, entry, undefined];\n}\n\nconst getTextFromItem = (item: string | React.ReactNode | (() => React.ReactNode) | number): 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"]}
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["Select.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport invariant from 'invariant';\nimport debounce from 'lodash.debounce';\nimport type { AriaAttributes, HTMLAttributes, ReactNode, ReactPortal } from 'react';\nimport React from 'react';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { Menu } from '../../internal/Menu/index.js';\nimport { MobilePopup } from '../../internal/MobilePopup/index.js';\nimport { Popup, type PopupPositionsType } from '../../internal/Popup/index.js';\nimport { RenderLayer } from '../../internal/RenderLayer/index.js';\nimport { ZIndex } from '../../internal/ZIndex/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport {\n isKeyArrowDown,\n isKeyArrowUp,\n isKeyArrowVertical,\n isKeyEnter,\n isKeyEscape,\n isKeySpace,\n} from '../../lib/events/keyboard/identifiers.js';\nimport { getFullReactUIFlagsContext } from '../../lib/featureFlagsContext/FeatureFlagsHelpers.js';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext/ReactUIFeatureFlagsContext.js';\nimport { ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext/ReactUIFeatureFlagsContext.js';\nimport { filterProps } from '../../lib/filterProps.js';\nimport { getMenuPositions } from '../../lib/getMenuPositions.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { locale } from '../../lib/locale/decorators.js';\nimport { reactGetTextContent } from '../../lib/reactGetTextContent.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { getRootNode, rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory.js';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { getRandomID, isFunction, isNonNullable, isReactUINode } from '../../lib/utils.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport type { ButtonProps, ButtonUse } from '../Button/index.js';\nimport { Button } from '../Button/index.js';\nimport { Input } from '../Input/index.js';\nimport { getStyles as getLinkStyles } from '../Link/Link.styles.js';\nimport type { MenuHeaderProps } from '../MenuHeader/index.js';\nimport { MenuItem } from '../MenuItem/index.js';\nimport type { MenuItemProps } from '../MenuItem/index.js';\nimport { MenuSeparator } from '../MenuSeparator/index.js';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator.js';\nimport { ArrowDownIcon } from './ArrowDownIcon.js';\nimport { Item } from './Item.js';\nimport type { SelectLocale } from './locale/index.js';\nimport { SelectLocaleHelper } from './locale/index.js';\nimport { getStyles } from './Select.styles.js';\nimport { getSelectTheme } from './selectTheme.js';\nimport { SelectDataTids } from './tids.js';\n\nexport * from './tids.js';\n\nexport interface ButtonParams extends Pick<\n AriaAttributes,\n 'aria-describedby' | 'aria-controls' | 'aria-label' | 'aria-expanded'\n> {\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\n CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** @ignore */\n _icon?: React.ReactNode;\n\n /** Отрисовывает кнопку. */\n _renderButton?: (params: ButtonParams) => React.ReactNode;\n\n /** @ignore */\n corners?: React.CSSProperties;\n\n /** Значение по умолчанию. */\n defaultValue?: TValue;\n\n /** Смещение списка относительно поля по горизонтали. При нуле смещения нет, при положительном значении — список сдвигается вправо, при отрицательном — влево.\n * @default 0\n */\n menuOffset?: number;\n\n /** По умолчанию список рендерится через [паттерн Portal](https://react.dev/reference/react-dom/createPortal). Проп отключает использование Portal и список рендерится как обычный блок с абсолютным позиционированием внутри компонента. */\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 * @example\n * Вставить невыделяемый элемент со своей разметкой можно так:\n * ```\n * <Select ...\n * items={[Select.staticElement(() => <div>My Element</div>)]}\n * />\n * ```\n * @example\n * Чтобы добавить стандартный отступ для статического элемента:\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 /** Список значений, определяющих расположение списка относительно кнопки. Если во всех позициях список выходит за пределы `viewport`, будет использована первая из этого списка.\n *\n * `\"top left\"`, `\"top center\"`, `\"top right\"`, `\"right top\"`, `\"right middle\"`, `\"right bottom\"`, `\"bottom left\"`, `\"bottom center\"`, `\"bottom right\"`, `\"left top\"`, `\"left middle\"`, `\"left bottom\"`.\n * @default ['bottom left', 'bottom right', 'top left', 'top right'] */\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 /** Объект с переменными темы. */\n theme?: ThemeIn | Theme;\n\n /** Ширина раскрывающегося списка. */\n width?: number | string;\n\n /** Переводит компонент в состояние предупреждения. */\n warning?: boolean;\n\n /** Стиль кнопки. Примеры стилей смотрите [в документации компонента Button](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_button-button--docs). */\n use?: ButtonUse;\n\n /** Размер раскрывающегося списка.\n * @default small\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 /** Отключает выравнивание текста элементов в списке относительно иконок в других элементах. */\n preventIconsOffset?: boolean;\n}\n\nexport interface SelectState<TValue> {\n opened: boolean;\n searchPattern: string;\n value: Nullable<TValue>;\n}\n\ninterface FocusableReactElement extends React.ReactElement<unknown> {\n focus: (event?: unknown) => void;\n}\n\ntype DefaultProps<TValue, TItem> = Required<\n Pick<SelectProps<TValue, TItem>, 'renderValue' | 'renderItem' | 'areValuesEqual' | 'filterItem' | 'use'>\n>;\n\n/**\n * Раскрывающийся список позволяет выбрать значение из заранее известного набора вариантов.\n */\n@withRenderEnvironment\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 = (): React.JSX.Element => <MenuSeparator />;\n\n public static staticElement = (\n element: React.ReactElement | (() => React.ReactElement),\n ): 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 globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private linkStyles!: ReturnType<typeof getLinkStyles>;\n private styles!: ReturnType<typeof getStyles>;\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 private featureFlags!: ReactUIFeatureFlags;\n\n public componentDidUpdate(_prevProps: SelectProps<TValue, TItem>, prevState: SelectState<TValue>) {\n if (!prevState.opened && this.state.opened) {\n this.globalObject.addEventListener?.('popstate', this.close);\n this.scheduleScrollToSelectedItem();\n }\n if (prevState.opened && !this.state.opened) {\n this.globalObject.removeEventListener?.('popstate', this.close);\n }\n }\n\n public render(): React.JSX.Element {\n this.linkStyles = getLinkStyles(this.emotion);\n this.styles = getStyles(this.emotion);\n\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\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 </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n /** Открывает раскрывающийся список.\n * @public\n */\n public open = (): void => {\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 = (): void => {\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 * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus = (): void => {\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={this.cx({ [this.styles.root()]: true, [this.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 this.styles.leftIconLink(this.theme);\n }\n\n switch (size) {\n case 'large':\n return this.styles.leftIconLarge(this.theme);\n case 'medium':\n return this.styles.leftIconMedium(this.theme);\n case 'small':\n default:\n return this.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 // TODO: remove in React UI 7.x with use=\"default\"\n _noWarningForUseDefault: true,\n };\n const use = this.getProps().use;\n\n const labelProps = {\n 'data-tid': SelectDataTids.label,\n className: this.cx({\n [this.styles.label()]: use !== 'link',\n [this.styles.placeholder(this.theme)]: params.isPlaceholder,\n [this.styles.customUsePlaceholder()]: params.isPlaceholder && use !== 'default',\n [this.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\n className={this.cx(this.styles.selectButtonContainer(), {\n [this.linkStyles.root(this.theme)]: use === 'link',\n })}\n >\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={this.cx(this.styles.arrowWrap(this.theme), {\n [this.styles.arrowDisabled(this.theme)]: this.props.disabled,\n [this.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, preventIconsOffset } = 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 preventIconsOffset={preventIconsOffset}\n >\n {search}\n {this.getMenuItems(value)}\n </Menu>\n </Popup>\n );\n }\n\n private getSearch = () => {\n return (\n <div className={this.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 const themeGTE6_1 = isThemeGTE(this.theme, '6.1');\n const themeDependentProps = themeGTE6_1\n ? {\n footerChildComponent: search,\n size: this.size,\n }\n : {\n headerChildComponent: search,\n };\n\n return (\n <MobilePopup\n {...themeDependentProps}\n caption={this.props.mobileMenuHeaderText}\n onCloseRequest={this.close}\n opened={this.state.opened}\n >\n <Menu onItemClick={this.close} disableScrollContainer maxHeight={'auto'} ref={this.refMenu}>\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 scheduleScrollToSelectedItem = (): void => {\n if (this.featureFlags.selectAutoScrollToSelectedItem) {\n this.globalObject.requestAnimationFrame?.(() => {\n this.menu?.scrollToSelectedMenuItem();\n });\n }\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<any>, {\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<any>).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: unknown) {\n if (Array.isArray(entry)) {\n return entry;\n }\n\n return [entry, entry, undefined];\n}\n\nconst getTextFromItem = (item: string | React.ReactNode | (() => React.ReactNode) | number): 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"]}
@@ -1,5 +1,5 @@
1
1
  import type { Theme } from '../../lib/theming/Theme.js';
2
- export declare const getStyles: import("../../lib/theming/StaticStyles.js").StylesGetter<{
2
+ export declare const getStyles: import("../../lib/theming/Emotion.js").StylesGetter<{
3
3
  root(): string;
4
4
  rootMobile(t: Theme): string;
5
5
  placeholder(t: Theme): string;
@@ -0,0 +1,57 @@
1
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
2
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
+ return cooked;
4
+ };
5
+ import { memoizeGetStyles } from '../../lib/theming/Emotion.js';
6
+ export var getStyles = memoizeGetStyles(function (_a) {
7
+ var css = _a.css;
8
+ return ({
9
+ root: function () {
10
+ return css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: inline-block;\n position: relative;\n line-height: normal;\n "], ["\n display: inline-block;\n position: relative;\n line-height: normal;\n "])));
11
+ },
12
+ rootMobile: function (t) {
13
+ return css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n width: ", ";\n max-width: ", ";\n "], ["\n width: ", ";\n max-width: ", ";\n "])), t.selectRootWidthMobile, t.mobileSelectMaxWidth);
14
+ },
15
+ placeholder: function (t) {
16
+ return css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n color: ", ";\n text-overflow: ellipsis;\n "], ["\n color: ", ";\n text-overflow: ellipsis;\n "])), t.selectPlaceholderColor);
17
+ },
18
+ placeholderDisabled: function (t) {
19
+ return css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n color: ", ";\n "], ["\n color: ", ";\n "])), t.selectPlaceholderColorDisabled);
20
+ },
21
+ customUsePlaceholder: function () {
22
+ return css(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n color: inherit;\n opacity: 0.7;\n "], ["\n color: inherit;\n opacity: 0.7;\n "])));
23
+ },
24
+ arrowWrap: function (t) {
25
+ return css(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n color: ", ";\n flex-shrink: 0;\n "], ["\n color: ", ";\n flex-shrink: 0;\n "])), t.selectMenuArrowColor);
26
+ },
27
+ arrowDisabled: function (t) {
28
+ return css(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n color: ", ";\n "], ["\n color: ", ";\n "])), t.selectMenuArrowColorDisabled);
29
+ },
30
+ customUseArrow: function () {
31
+ return css(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n color: inherit;\n opacity: 0.7;\n "], ["\n color: inherit;\n opacity: 0.7;\n "])));
32
+ },
33
+ label: function () {
34
+ return css(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n flex: 1 1 auto;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n "], ["\n flex: 1 1 auto;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n "])));
35
+ },
36
+ search: function () {
37
+ return css(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n margin: 1px 4px 4px;\n "], ["\n margin: 1px 4px 4px;\n "])));
38
+ },
39
+ leftIconSmall: function (t) {
40
+ return css(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n margin-right: ", ";\n width: ", ";\n "], ["\n margin-right: ", ";\n width: ", ";\n "])), t.selectIconGapSmall, t.btnIconSizeSmall);
41
+ },
42
+ leftIconMedium: function (t) {
43
+ return css(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n margin-right: ", ";\n width: ", ";\n "], ["\n margin-right: ", ";\n width: ", ";\n "])), t.selectIconGapMedium, t.btnIconSizeMedium);
44
+ },
45
+ leftIconLarge: function (t) {
46
+ return css(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n margin-right: ", ";\n width: ", ";\n "], ["\n margin-right: ", ";\n width: ", ";\n "])), t.selectIconGapLarge, t.btnIconSizeLarge);
47
+ },
48
+ leftIconLink: function (t) {
49
+ return css(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n margin-right: ", ";\n "], ["\n margin-right: ", ";\n "])), t.btnLinkIconMarginRight);
50
+ },
51
+ selectButtonContainer: function () {
52
+ return css(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n width: 100%;\n display: inline-flex;\n justify-content: space-between;\n "], ["\n width: 100%;\n display: inline-flex;\n justify-content: space-between;\n "])));
53
+ },
54
+ });
55
+ });
56
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15;
57
+ //# sourceMappingURL=Select.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.styles.js","sourceRoot":"","sources":["Select.styles.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QAC/D,IAAI;YACF,OAAO,GAAG,gKAAA,6FAIT,KAAC;QACJ,CAAC;QAED,UAAU,YAAC,CAAQ;YACjB,OAAO,GAAG,uHAAA,iBACC,EAAuB,sBACnB,EAAsB,SACpC,KAFU,CAAC,CAAC,qBAAqB,EACnB,CAAC,CAAC,oBAAoB,EACnC;QACJ,CAAC;QAED,WAAW,YAAC,CAAQ;YAClB,OAAO,GAAG,+HAAA,iBACC,EAAwB,yCAElC,KAFU,CAAC,CAAC,sBAAsB,EAEjC;QACJ,CAAC;QAED,mBAAmB,YAAC,CAAQ;YAC1B,OAAO,GAAG,+FAAA,iBACC,EAAgC,SAC1C,KADU,CAAC,CAAC,8BAA8B,EACzC;QACJ,CAAC;QAED,oBAAoB;YAClB,OAAO,GAAG,uHAAA,oDAGT,KAAC;QACJ,CAAC;QAED,SAAS,YAAC,CAAQ;YAChB,OAAO,GAAG,sHAAA,iBACC,EAAsB,gCAEhC,KAFU,CAAC,CAAC,oBAAoB,EAE/B;QACJ,CAAC;QAED,aAAa,YAAC,CAAQ;YACpB,OAAO,GAAG,+FAAA,iBACC,EAA8B,SACxC,KADU,CAAC,CAAC,4BAA4B,EACvC;QACJ,CAAC;QAED,cAAc;YACZ,OAAO,GAAG,uHAAA,oDAGT,KAAC;QACJ,CAAC;QAED,KAAK;YACH,OAAO,GAAG,uLAAA,oHAKT,KAAC;QACJ,CAAC;QAED,MAAM;YACJ,OAAO,GAAG,yGAAA,oCAET,KAAC;QACJ,CAAC;QAED,aAAa,YAAC,CAAQ;YACpB,OAAO,GAAG,4HAAA,wBACQ,EAAoB,kBAC3B,EAAkB,SAC5B,KAFiB,CAAC,CAAC,kBAAkB,EAC3B,CAAC,CAAC,gBAAgB,EAC3B;QACJ,CAAC;QAED,cAAc,YAAC,CAAQ;YACrB,OAAO,GAAG,4HAAA,wBACQ,EAAqB,kBAC5B,EAAmB,SAC7B,KAFiB,CAAC,CAAC,mBAAmB,EAC5B,CAAC,CAAC,iBAAiB,EAC5B;QACJ,CAAC;QAED,aAAa,YAAC,CAAQ;YACpB,OAAO,GAAG,4HAAA,wBACQ,EAAoB,kBAC3B,EAAkB,SAC5B,KAFiB,CAAC,CAAC,kBAAkB,EAC3B,CAAC,CAAC,gBAAgB,EAC3B;QACJ,CAAC;QAED,YAAY,YAAC,CAAQ;YACnB,OAAO,GAAG,wGAAA,wBACQ,EAAwB,SACzC,KADiB,CAAC,CAAC,sBAAsB,EACxC;QACJ,CAAC;QAED,qBAAqB;YACnB,OAAO,GAAG,qKAAA,gGAIT,KAAC;QACJ,CAAC;KACF,CAAC;AAzG8D,CAyG9D,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root() {\n return css`\n display: inline-block;\n position: relative;\n line-height: normal;\n `;\n },\n\n rootMobile(t: Theme) {\n return css`\n width: ${t.selectRootWidthMobile};\n max-width: ${t.mobileSelectMaxWidth};\n `;\n },\n\n placeholder(t: Theme) {\n return css`\n color: ${t.selectPlaceholderColor};\n text-overflow: ellipsis;\n `;\n },\n\n placeholderDisabled(t: Theme) {\n return css`\n color: ${t.selectPlaceholderColorDisabled};\n `;\n },\n\n customUsePlaceholder() {\n return css`\n color: inherit;\n opacity: 0.7;\n `;\n },\n\n arrowWrap(t: Theme) {\n return css`\n color: ${t.selectMenuArrowColor};\n flex-shrink: 0;\n `;\n },\n\n arrowDisabled(t: Theme) {\n return css`\n color: ${t.selectMenuArrowColorDisabled};\n `;\n },\n\n customUseArrow() {\n return css`\n color: inherit;\n opacity: 0.7;\n `;\n },\n\n label() {\n return css`\n flex: 1 1 auto;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n `;\n },\n\n search() {\n return css`\n margin: 1px 4px 4px;\n `;\n },\n\n leftIconSmall(t: Theme) {\n return css`\n margin-right: ${t.selectIconGapSmall};\n width: ${t.btnIconSizeSmall};\n `;\n },\n\n leftIconMedium(t: Theme) {\n return css`\n margin-right: ${t.selectIconGapMedium};\n width: ${t.btnIconSizeMedium};\n `;\n },\n\n leftIconLarge(t: Theme) {\n return css`\n margin-right: ${t.selectIconGapLarge};\n width: ${t.btnIconSizeLarge};\n `;\n },\n\n leftIconLink(t: Theme) {\n return css`\n margin-right: ${t.btnLinkIconMarginRight};\n `;\n },\n\n selectButtonContainer() {\n return css`\n width: 100%;\n display: inline-flex;\n justify-content: space-between;\n `;\n },\n}));\n"]}
@@ -49,7 +49,7 @@ import { rootNode } from '../../lib/rootNode/index.js';
49
49
  import { ThemeContext } from '../../lib/theming/ThemeContext.js';
50
50
  import { isNonNullable, isReactUIInstance } from '../../lib/utils.js';
51
51
  import { ResponsiveLayout } from '../ResponsiveLayout/index.js';
52
- import { getStyles } from './SidePage.css.js';
52
+ import { getStyles } from './SidePage.styles.js';
53
53
  import { SidePageBody } from './SidePageBody.js';
54
54
  import { SidePageContainer } from './SidePageContainer.js';
55
55
  import { SidePageContext } from './SidePageContext.js';
@@ -1 +1 @@
1
- {"version":3,"file":"SidePage.js","sourceRoot":"","sources":["SidePage.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport type { AriaAttributes, HTMLAttributes, JSX } from 'react';\nimport React from 'react';\nimport { CSSTransition } from 'react-transition-group';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { HideBodyVerticalScroll } from '../../internal/HideBodyVerticalScroll/index.js';\nimport { FocusLock } from '../../internal/react-focus-lock/index.js';\nimport { RenderContainer } from '../../internal/RenderContainer/index.js';\nimport { RenderLayer } from '../../internal/RenderLayer/index.js';\nimport { ZIndex } from '../../internal/ZIndex/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { isTestEnv } from '../../lib/currentEnvironment.js';\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { isInstanceOf } from '../../lib/isInstanceOf.js';\nimport * as LayoutEvents from '../../lib/LayoutEvents.js';\nimport { ModalStack } from '../../lib/ModalStack.js';\nimport type { ModalStackSubscription } from '../../lib/ModalStack.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { isNonNullable, isReactUIInstance } from '../../lib/utils.js';\nimport { ResponsiveLayout } from '../ResponsiveLayout/index.js';\nimport { getStyles } from './SidePage.css.js';\nimport { SidePageBody } from './SidePageBody.js';\nimport { SidePageContainer } from './SidePageContainer.js';\nimport { SidePageContext } from './SidePageContext.js';\nimport type { SidePageContextType } from './SidePageContext.js';\nimport { SidePageFooter } from './SidePageFooter.js';\nimport { SidePageHeader } from './SidePageHeader.js';\nexport interface SidePageProps\n extends CommonProps, Pick<HTMLAttributes<unknown>, 'role'>, Pick<AriaAttributes, 'aria-label'> {\n /** Блокирует фон, когда сайдпейдж открыт: основная страница затемняется, действия на ней становятся недоступны. */\n blockBackground?: boolean;\n\n /** Отключает событие `onClose` и блокирует кнопку закрытия сайдпейджа. */\n disableClose?: boolean;\n\n /**\n * Оставляет сайдпейдж открытым, когда пользователь нажал на фон.\n * @deprecated Используйте `ignoreOutsideClick` вместо `ignoreBackgroundClick`\n **/\n ignoreBackgroundClick?: boolean;\n /**\n * Оставляет сайдпейдж открытым, когда пользователь нажал на фон.\n **/\n ignoreOutsideClick?: 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 * Событие нажатия на фон.\n */\n onOutsideClick?: (e: Event) => void;\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 stickyHeaderHeight: number;\n stickyFooterHeight: number;\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 * Сайдпейдж — это модальное окно, которое открывается поверх основной страницы и занимает всю высоту окна браузера.\n *\n * Составной компонент, включает в себя:\n * - «шапку» [SidePage.Header](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_overlay-sidepage-sidepageheader--docs), состоящую из заголовка и крестика закрытия окна;\n * - контент-зону [SidePage.Body](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_overlay-sidepage-sidepagebody--docs) и контейнер с отступами [SidePage.Container](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_overlay-sidepage-sidepagecontainer--docs);\n * - футер [SidePage.Footer](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_overlay-sidepage-sidepagefooter--docs).\n */\n@withRenderEnvironment\n@rootNode\nexport class SidePage extends React.Component<SidePageProps, SidePageState> {\n public static __KONTUR_REACT_UI__ = 'SidePage';\n public static displayName = 'SidePage';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\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 stickyHeaderHeight: 0,\n stickyFooterHeight: 0,\n };\n\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\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 this.globalObject.addEventListener?.('keydown', this.handleKeyDown);\n this.stackSubscription = ModalStack.add(this, this.handleStackChange, this.globalObject);\n }\n\n public componentDidUpdate(prevProps: SidePageProps) {\n if (prevProps.blockBackground !== this.props.blockBackground) {\n ModalStack.rerender(this.globalObject);\n this.setState({\n hasBackground: ModalStack.isBlocking(this, this.globalObject),\n });\n }\n }\n\n public componentWillUnmount() {\n this.globalObject.removeEventListener?.('keydown', this.handleKeyDown);\n if (isNonNullable(this.stackSubscription)) {\n this.stackSubscription.remove();\n }\n ModalStack.remove(this, this.globalObject);\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 this.styles = getStyles(this.emotion);\n\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 return (\n <ResponsiveLayout>\n {({ isMobile }) => (\n <RenderContainer>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <ZIndex\n priority={'Sidepage'}\n onScroll={LayoutEvents.emit}\n createStackingContext\n style={{ position: 'absolute' }}\n >\n {!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 = 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={this.cx({\n [this.styles.root()]: true,\n })}\n ref={this.rootRef}\n onScroll={LayoutEvents.emit}\n style={{\n width,\n right: fromLeft ? 'auto' : offset,\n left: fromLeft ? offset : 'auto',\n }}\n >\n <FocusLock disabled={this.isFocusLockDisabled} autoFocus={false} className={this.styles.focusLock()}>\n <RenderLayer onClickOutside={this.handleClickOutside} active>\n <div\n data-tid={SidePageDataTids.container}\n className={this.cx(this.styles.wrapper(this.theme), {\n [this.styles.wrapperLeft()]: fromLeft,\n [this.styles.wrapperMarginLeft()]: this.state.hasMargin && fromLeft,\n [this.styles.wrapperMarginRight()]: this.state.hasMargin && !fromLeft,\n [this.styles.shadow(this.theme)]: this.state.hasShadow,\n })}\n data-scroll-inset-top={this.state.stickyHeaderHeight || undefined}\n data-scroll-inset-bottom={this.state.stickyFooterHeight || undefined}\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 setStickyHeaderHeight: this.setStickyHeaderHeight,\n setStickyFooterHeight: this.setStickyFooterHeight,\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={this.styles.overlay()} onScroll={LayoutEvents.emit}>\n <HideBodyVerticalScroll key=\"hbvs\" />\n <div\n key=\"overlay\"\n className={this.cx({\n [this.styles.background()]: true,\n [this.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 ? this.styles.transitionRight : this.styles.transitionLeft;\n\n return {\n enter: transition(),\n enterActive: this.styles.transitionActive(),\n exit: this.styles.transitionLeave(),\n exitActive: this.styles.transitionLeaveActive(),\n appear: transition(),\n appearActive: this.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, this.globalObject);\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 || this.props.ignoreOutsideClick)) {\n // ignore mousedown on window scrollbar\n if (\n isInstanceOf(e, this.globalObject.MouseEvent) &&\n this.globalObject.document &&\n e.clientX > this.globalObject.document.documentElement.clientWidth\n ) {\n return;\n }\n if (this.props.onOutsideClick) {\n this.props.onOutsideClick(e);\n if (e.defaultPrevented) {\n return;\n }\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 e.stopPropagation();\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 private setStickyHeaderHeight = (stickyHeaderHeight = 0) => {\n if (this.state.stickyHeaderHeight !== stickyHeaderHeight) {\n this.setState({ stickyHeaderHeight });\n }\n };\n\n private setStickyFooterHeight = (stickyFooterHeight = 0) => {\n if (this.state.stickyFooterHeight !== stickyFooterHeight) {\n this.setState({ stickyFooterHeight });\n }\n };\n}\n"]}
1
+ {"version":3,"file":"SidePage.js","sourceRoot":"","sources":["SidePage.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport type { AriaAttributes, HTMLAttributes, JSX } from 'react';\nimport React from 'react';\nimport { CSSTransition } from 'react-transition-group';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { HideBodyVerticalScroll } from '../../internal/HideBodyVerticalScroll/index.js';\nimport { FocusLock } from '../../internal/react-focus-lock/index.js';\nimport { RenderContainer } from '../../internal/RenderContainer/index.js';\nimport { RenderLayer } from '../../internal/RenderLayer/index.js';\nimport { ZIndex } from '../../internal/ZIndex/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { isTestEnv } from '../../lib/currentEnvironment.js';\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { isInstanceOf } from '../../lib/isInstanceOf.js';\nimport * as LayoutEvents from '../../lib/LayoutEvents.js';\nimport { ModalStack } from '../../lib/ModalStack.js';\nimport type { ModalStackSubscription } from '../../lib/ModalStack.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { isNonNullable, isReactUIInstance } from '../../lib/utils.js';\nimport { ResponsiveLayout } from '../ResponsiveLayout/index.js';\nimport { getStyles } from './SidePage.styles.js';\nimport { SidePageBody } from './SidePageBody.js';\nimport { SidePageContainer } from './SidePageContainer.js';\nimport { SidePageContext } from './SidePageContext.js';\nimport type { SidePageContextType } from './SidePageContext.js';\nimport { SidePageFooter } from './SidePageFooter.js';\nimport { SidePageHeader } from './SidePageHeader.js';\nexport interface SidePageProps\n extends CommonProps, Pick<HTMLAttributes<unknown>, 'role'>, Pick<AriaAttributes, 'aria-label'> {\n /** Блокирует фон, когда сайдпейдж открыт: основная страница затемняется, действия на ней становятся недоступны. */\n blockBackground?: boolean;\n\n /** Отключает событие `onClose` и блокирует кнопку закрытия сайдпейджа. */\n disableClose?: boolean;\n\n /**\n * Оставляет сайдпейдж открытым, когда пользователь нажал на фон.\n * @deprecated Используйте `ignoreOutsideClick` вместо `ignoreBackgroundClick`\n **/\n ignoreBackgroundClick?: boolean;\n /**\n * Оставляет сайдпейдж открытым, когда пользователь нажал на фон.\n **/\n ignoreOutsideClick?: 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 * Событие нажатия на фон.\n */\n onOutsideClick?: (e: Event) => void;\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 stickyHeaderHeight: number;\n stickyFooterHeight: number;\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 * Сайдпейдж — это модальное окно, которое открывается поверх основной страницы и занимает всю высоту окна браузера.\n *\n * Составной компонент, включает в себя:\n * - «шапку» [SidePage.Header](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_overlay-sidepage-sidepageheader--docs), состоящую из заголовка и крестика закрытия окна;\n * - контент-зону [SidePage.Body](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_overlay-sidepage-sidepagebody--docs) и контейнер с отступами [SidePage.Container](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_overlay-sidepage-sidepagecontainer--docs);\n * - футер [SidePage.Footer](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_overlay-sidepage-sidepagefooter--docs).\n */\n@withRenderEnvironment\n@rootNode\nexport class SidePage extends React.Component<SidePageProps, SidePageState> {\n public static __KONTUR_REACT_UI__ = 'SidePage';\n public static displayName = 'SidePage';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\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 stickyHeaderHeight: 0,\n stickyFooterHeight: 0,\n };\n\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\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 this.globalObject.addEventListener?.('keydown', this.handleKeyDown);\n this.stackSubscription = ModalStack.add(this, this.handleStackChange, this.globalObject);\n }\n\n public componentDidUpdate(prevProps: SidePageProps) {\n if (prevProps.blockBackground !== this.props.blockBackground) {\n ModalStack.rerender(this.globalObject);\n this.setState({\n hasBackground: ModalStack.isBlocking(this, this.globalObject),\n });\n }\n }\n\n public componentWillUnmount() {\n this.globalObject.removeEventListener?.('keydown', this.handleKeyDown);\n if (isNonNullable(this.stackSubscription)) {\n this.stackSubscription.remove();\n }\n ModalStack.remove(this, this.globalObject);\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 this.styles = getStyles(this.emotion);\n\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 return (\n <ResponsiveLayout>\n {({ isMobile }) => (\n <RenderContainer>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <ZIndex\n priority={'Sidepage'}\n onScroll={LayoutEvents.emit}\n createStackingContext\n style={{ position: 'absolute' }}\n >\n {!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 = 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={this.cx({\n [this.styles.root()]: true,\n })}\n ref={this.rootRef}\n onScroll={LayoutEvents.emit}\n style={{\n width,\n right: fromLeft ? 'auto' : offset,\n left: fromLeft ? offset : 'auto',\n }}\n >\n <FocusLock disabled={this.isFocusLockDisabled} autoFocus={false} className={this.styles.focusLock()}>\n <RenderLayer onClickOutside={this.handleClickOutside} active>\n <div\n data-tid={SidePageDataTids.container}\n className={this.cx(this.styles.wrapper(this.theme), {\n [this.styles.wrapperLeft()]: fromLeft,\n [this.styles.wrapperMarginLeft()]: this.state.hasMargin && fromLeft,\n [this.styles.wrapperMarginRight()]: this.state.hasMargin && !fromLeft,\n [this.styles.shadow(this.theme)]: this.state.hasShadow,\n })}\n data-scroll-inset-top={this.state.stickyHeaderHeight || undefined}\n data-scroll-inset-bottom={this.state.stickyFooterHeight || undefined}\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 setStickyHeaderHeight: this.setStickyHeaderHeight,\n setStickyFooterHeight: this.setStickyFooterHeight,\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={this.styles.overlay()} onScroll={LayoutEvents.emit}>\n <HideBodyVerticalScroll key=\"hbvs\" />\n <div\n key=\"overlay\"\n className={this.cx({\n [this.styles.background()]: true,\n [this.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 ? this.styles.transitionRight : this.styles.transitionLeft;\n\n return {\n enter: transition(),\n enterActive: this.styles.transitionActive(),\n exit: this.styles.transitionLeave(),\n exitActive: this.styles.transitionLeaveActive(),\n appear: transition(),\n appearActive: this.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, this.globalObject);\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 || this.props.ignoreOutsideClick)) {\n // ignore mousedown on window scrollbar\n if (\n isInstanceOf(e, this.globalObject.MouseEvent) &&\n this.globalObject.document &&\n e.clientX > this.globalObject.document.documentElement.clientWidth\n ) {\n return;\n }\n if (this.props.onOutsideClick) {\n this.props.onOutsideClick(e);\n if (e.defaultPrevented) {\n return;\n }\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 e.stopPropagation();\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 private setStickyHeaderHeight = (stickyHeaderHeight = 0) => {\n if (this.state.stickyHeaderHeight !== stickyHeaderHeight) {\n this.setState({ stickyHeaderHeight });\n }\n };\n\n private setStickyFooterHeight = (stickyFooterHeight = 0) => {\n if (this.state.stickyFooterHeight !== stickyFooterHeight) {\n this.setState({ stickyFooterHeight });\n }\n };\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { Theme } from '../../lib/theming/Theme.js';
2
- export declare const getStyles: import("../../lib/theming/StaticStyles.js").StylesGetter<{
2
+ export declare const getStyles: import("../../lib/theming/Emotion.js").StylesGetter<{
3
3
  root(): string;
4
4
  overlay(): string;
5
5
  body(t: Theme): string;