@skbkontur/react-ui 6.4.1-8cb58.0 → 6.4.2-static-css.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 (679) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +97 -0
  3. package/components/Autocomplete/Autocomplete.d.ts +0 -1
  4. package/components/Autocomplete/Autocomplete.js +13 -4
  5. package/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/components/Autocomplete/Autocomplete.styles.d.ts +4 -4
  7. package/components/Autocomplete/Autocomplete.styles.js +5 -16
  8. package/components/Autocomplete/Autocomplete.styles.js.map +1 -1
  9. package/components/Button/Button.d.ts +15 -1
  10. package/components/Button/Button.js +162 -76
  11. package/components/Button/Button.js.map +1 -1
  12. package/components/Button/Button.styles.d.ts +107 -91
  13. package/components/Button/Button.styles.js +108 -255
  14. package/components/Button/Button.styles.js.map +1 -1
  15. package/components/Button/ButtonArrow.d.ts +2 -3
  16. package/components/Button/ButtonArrow.js +8 -10
  17. package/components/Button/ButtonArrow.js.map +1 -1
  18. package/components/Button/ButtonIcon.js +7 -17
  19. package/components/Button/ButtonIcon.js.map +1 -1
  20. package/components/Button/ButtonIcon.styles.d.ts +15 -15
  21. package/components/Button/ButtonIcon.styles.js +16 -51
  22. package/components/Button/ButtonIcon.styles.js.map +1 -1
  23. package/components/Calendar/Calendar.d.ts +0 -1
  24. package/components/Calendar/Calendar.js +3 -3
  25. package/components/Calendar/Calendar.js.map +1 -1
  26. package/components/Calendar/Calendar.styles.d.ts +5 -5
  27. package/components/Calendar/Calendar.styles.js +6 -20
  28. package/components/Calendar/Calendar.styles.js.map +1 -1
  29. package/components/Calendar/CalendarDay.js +11 -7
  30. package/components/Calendar/CalendarDay.js.map +1 -1
  31. package/components/Calendar/DayCellView.js +1 -3
  32. package/components/Calendar/DayCellView.js.map +1 -1
  33. package/components/Calendar/DayCellView.styles.d.ts +10 -8
  34. package/components/Calendar/DayCellView.styles.js +11 -29
  35. package/components/Calendar/DayCellView.styles.js.map +1 -1
  36. package/components/Calendar/Month.js +6 -10
  37. package/components/Calendar/Month.js.map +1 -1
  38. package/components/Calendar/MonthView.js +7 -7
  39. package/components/Calendar/MonthView.js.map +1 -1
  40. package/components/Calendar/MonthView.styles.d.ts +12 -12
  41. package/components/Calendar/MonthView.styles.js +13 -45
  42. package/components/Calendar/MonthView.styles.js.map +1 -1
  43. package/components/Center/Center.d.ts +0 -1
  44. package/components/Center/Center.js +1 -1
  45. package/components/Center/Center.js.map +1 -1
  46. package/components/Center/Center.styles.d.ts +7 -6
  47. package/components/Center/Center.styles.js +8 -25
  48. package/components/Center/Center.styles.js.map +1 -1
  49. package/components/Checkbox/Checkbox.d.ts +8 -1
  50. package/components/Checkbox/Checkbox.js +57 -26
  51. package/components/Checkbox/Checkbox.js.map +1 -1
  52. package/components/Checkbox/Checkbox.styles.d.ts +33 -30
  53. package/components/Checkbox/Checkbox.styles.js +35 -95
  54. package/components/Checkbox/Checkbox.styles.js.map +1 -1
  55. package/components/DateInput/DateFragmentsView.d.ts +0 -2
  56. package/components/DateInput/DateFragmentsView.js +10 -7
  57. package/components/DateInput/DateFragmentsView.js.map +1 -1
  58. package/components/DateInput/DateFragmentsView.styles.d.ts +8 -6
  59. package/components/DateInput/DateFragmentsView.styles.js +9 -26
  60. package/components/DateInput/DateFragmentsView.styles.js.map +1 -1
  61. package/components/DateInput/DateInput.d.ts +0 -2
  62. package/components/DateInput/DateInput.js +6 -8
  63. package/components/DateInput/DateInput.js.map +1 -1
  64. package/components/DateInput/DateInput.styles.d.ts +10 -11
  65. package/components/DateInput/DateInput.styles.js +11 -28
  66. package/components/DateInput/DateInput.styles.js.map +1 -1
  67. package/components/DatePicker/DatePicker.d.ts +0 -1
  68. package/components/DatePicker/DatePicker.js +2 -2
  69. package/components/DatePicker/DatePicker.js.map +1 -1
  70. package/components/DatePicker/DatePicker.styles.d.ts +4 -4
  71. package/components/DatePicker/DatePicker.styles.js +5 -16
  72. package/components/DatePicker/DatePicker.styles.js.map +1 -1
  73. package/components/DatePicker/MobilePicker.styles.d.ts +3 -2
  74. package/components/DatePicker/MobilePicker.styles.js +4 -13
  75. package/components/DatePicker/MobilePicker.styles.js.map +1 -1
  76. package/components/DatePicker/getMobilePickerTheme.js +27 -9
  77. package/components/DatePicker/getMobilePickerTheme.js.map +1 -1
  78. package/components/DateRangePicker/DateRangePicker.d.ts +4 -4
  79. package/components/DateRangePicker/DateRangePicker.js +26 -28
  80. package/components/DateRangePicker/DateRangePicker.js.map +1 -1
  81. package/components/DateRangePicker/DateRangePicker.styles.d.ts +20 -14
  82. package/components/DateRangePicker/DateRangePicker.styles.js +25 -49
  83. package/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
  84. package/components/DateRangePicker/DateRangePickerTheme.js +30 -10
  85. package/components/DateRangePicker/DateRangePickerTheme.js.map +1 -1
  86. package/components/Dropdown/getDropdownTheme.d.ts +11 -0
  87. package/components/Dropdown/getDropdownTheme.js +23 -4
  88. package/components/Dropdown/getDropdownTheme.js.map +1 -1
  89. package/components/DropdownMenu/getDropdownMenuTheme.js +9 -2
  90. package/components/DropdownMenu/getDropdownMenuTheme.js.map +1 -1
  91. package/components/FileUploader/FileUploader.d.ts +2 -1
  92. package/components/FileUploader/FileUploader.js +50 -45
  93. package/components/FileUploader/FileUploader.js.map +1 -1
  94. package/components/FileUploader/FileUploader.styles.d.ts +69 -68
  95. package/components/FileUploader/FileUploader.styles.js +71 -214
  96. package/components/FileUploader/FileUploader.styles.js.map +1 -1
  97. package/components/FileUploader/FileUploaderFile.js +28 -30
  98. package/components/FileUploader/FileUploaderFile.js.map +1 -1
  99. package/components/FileUploader/FileUploaderFile.styles.d.ts +57 -57
  100. package/components/FileUploader/FileUploaderFile.styles.js +58 -180
  101. package/components/FileUploader/FileUploaderFile.styles.js.map +1 -1
  102. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js +17 -19
  103. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  104. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.d.ts +31 -31
  105. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js +32 -99
  106. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -1
  107. package/components/FileUploader/FileUploaderFileStatusIcon.js +2 -4
  108. package/components/FileUploader/FileUploaderFileStatusIcon.js.map +1 -1
  109. package/components/FileUploader/FileUploaderFileTypeIcon.js +47 -52
  110. package/components/FileUploader/FileUploaderFileTypeIcon.js.map +1 -1
  111. package/components/FileUploader/FileUploaderFileTypeIcon.styles.d.ts +14 -0
  112. package/components/FileUploader/FileUploaderFileTypeIcon.styles.js +16 -0
  113. package/components/FileUploader/FileUploaderFileTypeIcon.styles.js.map +1 -0
  114. package/components/FxInput/FxInput.d.ts +1 -1
  115. package/components/FxInput/FxInput.js +6 -2
  116. package/components/FxInput/FxInput.js.map +1 -1
  117. package/components/FxInput/FxInput.styles.d.ts +4 -0
  118. package/components/FxInput/FxInput.styles.js +6 -0
  119. package/components/FxInput/FxInput.styles.js.map +1 -0
  120. package/components/FxInput/FxInputRestoreBtn.js +23 -15
  121. package/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  122. package/components/FxInput/FxInputRestoreBtn.styles.d.ts +6 -0
  123. package/components/FxInput/FxInputRestoreBtn.styles.js +8 -0
  124. package/components/FxInput/FxInputRestoreBtn.styles.js.map +1 -0
  125. package/components/GlobalLoader/GlobalLoaderView.js +30 -14
  126. package/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  127. package/components/GlobalLoader/GlobalLoaderView.styles.d.ts +22 -16
  128. package/components/GlobalLoader/GlobalLoaderView.styles.js +22 -67
  129. package/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -1
  130. package/components/Group/Group.d.ts +0 -1
  131. package/components/Group/Group.js +2 -3
  132. package/components/Group/Group.js.map +1 -1
  133. package/components/Group/Group.styles.d.ts +7 -7
  134. package/components/Group/Group.styles.js +8 -28
  135. package/components/Group/Group.styles.js.map +1 -1
  136. package/components/Hint/Hint.d.ts +10 -2
  137. package/components/Hint/Hint.js +47 -19
  138. package/components/Hint/Hint.js.map +1 -1
  139. package/components/Hint/Hint.styles.d.ts +4 -4
  140. package/components/Hint/Hint.styles.js +5 -16
  141. package/components/Hint/Hint.styles.js.map +1 -1
  142. package/components/Hint/HintDelayController.d.ts +11 -0
  143. package/components/Hint/HintDelayController.js +50 -0
  144. package/components/Hint/HintDelayController.js.map +1 -0
  145. package/components/Input/Input.d.ts +0 -1
  146. package/components/Input/Input.js +13 -13
  147. package/components/Input/Input.js.map +1 -1
  148. package/components/Input/Input.styles.d.ts +20 -20
  149. package/components/Input/Input.styles.js +21 -66
  150. package/components/Input/Input.styles.js.map +1 -1
  151. package/components/Input/InputLayout/InputLayout.styles.d.ts +26 -17
  152. package/components/Input/InputLayout/InputLayout.styles.js +27 -57
  153. package/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
  154. package/components/Input/InputLayout/InputLayoutAsideCounter.js +8 -8
  155. package/components/Input/InputLayout/InputLayoutAsideCounter.js.map +1 -1
  156. package/components/Input/InputLayout/InputLayoutAsideIcon.js +19 -25
  157. package/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  158. package/components/Input/InputLayout/InputLayoutAsideText.js +4 -4
  159. package/components/Input/InputLayout/InputLayoutAsideText.js.map +1 -1
  160. package/components/Kebab/Kebab.d.ts +0 -1
  161. package/components/Kebab/Kebab.js +2 -2
  162. package/components/Kebab/Kebab.js.map +1 -1
  163. package/components/Kebab/Kebab.styles.d.ts +10 -10
  164. package/components/Kebab/Kebab.styles.js +11 -34
  165. package/components/Kebab/Kebab.styles.js.map +1 -1
  166. package/components/Link/Link.d.ts +0 -1
  167. package/components/Link/Link.js +23 -18
  168. package/components/Link/Link.js.map +1 -1
  169. package/components/Link/Link.styles.d.ts +23 -23
  170. package/components/Link/Link.styles.js +25 -81
  171. package/components/Link/Link.styles.js.map +1 -1
  172. package/components/Link/LinkIcon.js +4 -6
  173. package/components/Link/LinkIcon.js.map +1 -1
  174. package/components/Loader/Loader.d.ts +0 -2
  175. package/components/Loader/Loader.js +2 -3
  176. package/components/Loader/Loader.js.map +1 -1
  177. package/components/Loader/Loader.styles.d.ts +7 -7
  178. package/components/Loader/Loader.styles.js +8 -25
  179. package/components/Loader/Loader.styles.js.map +1 -1
  180. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +15 -21
  181. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  182. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.d.ts +3 -2
  183. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js +5 -13
  184. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js.map +1 -1
  185. package/components/MaskedInput/MaskedInput.styles.d.ts +3 -3
  186. package/components/MaskedInput/MaskedInput.styles.js +5 -14
  187. package/components/MaskedInput/MaskedInput.styles.js.map +1 -1
  188. package/components/MaskedInput/MaskedInputLegacy.js +4 -6
  189. package/components/MaskedInput/MaskedInputLegacy.js.map +1 -1
  190. package/components/MaskedInputV2/MaskedInputV2.js +4 -6
  191. package/components/MaskedInputV2/MaskedInputV2.js.map +1 -1
  192. package/components/MaskedInputV2/MaskedInputV2.styles.d.ts +3 -3
  193. package/components/MaskedInputV2/MaskedInputV2.styles.js +5 -14
  194. package/components/MaskedInputV2/MaskedInputV2.styles.js.map +1 -1
  195. package/components/MaskedInputV2/internal/MaskOverlay.js +8 -8
  196. package/components/MaskedInputV2/internal/MaskOverlay.js.map +1 -1
  197. package/components/MaskedInputV2/internal/MaskedCore.js +7 -5
  198. package/components/MaskedInputV2/internal/MaskedCore.js.map +1 -1
  199. package/components/MaskedInputV2/internal/MaskedInternal.styles.d.ts +7 -7
  200. package/components/MaskedInputV2/internal/MaskedInternal.styles.js +9 -25
  201. package/components/MaskedInputV2/internal/MaskedInternal.styles.js.map +1 -1
  202. package/components/MenuFooter/MenuFooter.js +10 -12
  203. package/components/MenuFooter/MenuFooter.js.map +1 -1
  204. package/components/MenuFooter/MenuFooter.styles.d.ts +9 -9
  205. package/components/MenuFooter/MenuFooter.styles.js +10 -32
  206. package/components/MenuFooter/MenuFooter.styles.js.map +1 -1
  207. package/components/MenuHeader/MenuHeader.js +9 -11
  208. package/components/MenuHeader/MenuHeader.js.map +1 -1
  209. package/components/MenuHeader/MenuHeader.styles.d.ts +9 -9
  210. package/components/MenuHeader/MenuHeader.styles.js +10 -32
  211. package/components/MenuHeader/MenuHeader.styles.js.map +1 -1
  212. package/components/MenuItem/MenuItem.d.ts +0 -1
  213. package/components/MenuItem/MenuItem.js +21 -21
  214. package/components/MenuItem/MenuItem.js.map +1 -1
  215. package/components/MenuItem/MenuItem.mixins.d.ts +6 -0
  216. package/components/MenuItem/MenuItem.mixins.js +7 -1
  217. package/components/MenuItem/MenuItem.mixins.js.map +1 -1
  218. package/components/MenuItem/MenuItem.styles.d.ts +26 -26
  219. package/components/MenuItem/MenuItem.styles.js +28 -85
  220. package/components/MenuItem/MenuItem.styles.js.map +1 -1
  221. package/components/MenuSeparator/MenuSeparator.js +4 -6
  222. package/components/MenuSeparator/MenuSeparator.js.map +1 -1
  223. package/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  224. package/components/MenuSeparator/MenuSeparator.styles.js +5 -16
  225. package/components/MenuSeparator/MenuSeparator.styles.js.map +1 -1
  226. package/components/MiniModal/MiniModal.styles.d.ts +10 -10
  227. package/components/MiniModal/MiniModal.styles.js +11 -35
  228. package/components/MiniModal/MiniModal.styles.js.map +1 -1
  229. package/components/MiniModal/MiniModalBody.js +3 -3
  230. package/components/MiniModal/MiniModalBody.js.map +1 -1
  231. package/components/MiniModal/MiniModalFooter.js +4 -6
  232. package/components/MiniModal/MiniModalFooter.js.map +1 -1
  233. package/components/MiniModal/MiniModalHeader.js +4 -6
  234. package/components/MiniModal/MiniModalHeader.js.map +1 -1
  235. package/components/MiniModal/MiniModalIndent.js +2 -4
  236. package/components/MiniModal/MiniModalIndent.js.map +1 -1
  237. package/components/MiniModal/getMiniModalTheme.js +39 -13
  238. package/components/MiniModal/getMiniModalTheme.js.map +1 -1
  239. package/components/Modal/Modal.d.ts +0 -1
  240. package/components/Modal/Modal.js +8 -8
  241. package/components/Modal/Modal.js.map +1 -1
  242. package/components/Modal/Modal.styles.d.ts +50 -50
  243. package/components/Modal/Modal.styles.js +52 -161
  244. package/components/Modal/Modal.styles.js.map +1 -1
  245. package/components/Modal/ModalBody.d.ts +0 -1
  246. package/components/Modal/ModalBody.js +7 -7
  247. package/components/Modal/ModalBody.js.map +1 -1
  248. package/components/Modal/ModalClose.js +7 -9
  249. package/components/Modal/ModalClose.js.map +1 -1
  250. package/components/Modal/ModalFooter.js +3 -3
  251. package/components/Modal/ModalFooter.js.map +1 -1
  252. package/components/Modal/ModalHeader.js +3 -3
  253. package/components/Modal/ModalHeader.js.map +1 -1
  254. package/components/Modal/ModalSeparator.js +4 -6
  255. package/components/Modal/ModalSeparator.js.map +1 -1
  256. package/components/Paging/Paging.d.ts +0 -2
  257. package/components/Paging/Paging.js +32 -37
  258. package/components/Paging/Paging.js.map +1 -1
  259. package/components/Paging/Paging.styles.d.ts +31 -31
  260. package/components/Paging/Paging.styles.js +32 -97
  261. package/components/Paging/Paging.styles.js.map +1 -1
  262. package/components/PasswordInput/PasswordInput.d.ts +0 -2
  263. package/components/PasswordInput/PasswordInput.js +6 -11
  264. package/components/PasswordInput/PasswordInput.js.map +1 -1
  265. package/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  266. package/components/PasswordInput/PasswordInput.styles.js +11 -34
  267. package/components/PasswordInput/PasswordInput.styles.js.map +1 -1
  268. package/components/Radio/Radio.d.ts +8 -1
  269. package/components/Radio/Radio.js +59 -28
  270. package/components/Radio/Radio.js.map +1 -1
  271. package/components/Radio/Radio.styles.d.ts +33 -30
  272. package/components/Radio/Radio.styles.js +35 -95
  273. package/components/Radio/Radio.styles.js.map +1 -1
  274. package/components/RadioGroup/RadioGroup.d.ts +0 -1
  275. package/components/RadioGroup/RadioGroup.js +1 -2
  276. package/components/RadioGroup/RadioGroup.js.map +1 -1
  277. package/components/RadioGroup/RadioGroup.styles.d.ts +5 -5
  278. package/components/RadioGroup/RadioGroup.styles.js +6 -22
  279. package/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  280. package/components/ScrollContainer/ScrollBar.d.ts +1 -3
  281. package/components/ScrollContainer/ScrollBar.js +9 -14
  282. package/components/ScrollContainer/ScrollBar.js.map +1 -1
  283. package/components/ScrollContainer/ScrollContainer.d.ts +0 -1
  284. package/components/ScrollContainer/ScrollContainer.js +1 -1
  285. package/components/ScrollContainer/ScrollContainer.js.map +1 -1
  286. package/components/ScrollContainer/ScrollContainer.styles.d.ts +13 -13
  287. package/components/ScrollContainer/ScrollContainer.styles.js +15 -43
  288. package/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  289. package/components/Select/Select.d.ts +0 -1
  290. package/components/Select/Select.js +12 -12
  291. package/components/Select/Select.js.map +1 -1
  292. package/components/Select/Select.styles.d.ts +17 -17
  293. package/components/Select/Select.styles.js +18 -55
  294. package/components/Select/Select.styles.js.map +1 -1
  295. package/components/Select/selectTheme.js +31 -7
  296. package/components/Select/selectTheme.js.map +1 -1
  297. package/components/SidePage/SidePage.d.ts +0 -2
  298. package/components/SidePage/SidePage.js +8 -10
  299. package/components/SidePage/SidePage.js.map +1 -1
  300. package/components/SidePage/SidePage.styles.d.ts +49 -49
  301. package/components/SidePage/SidePage.styles.js +50 -156
  302. package/components/SidePage/SidePage.styles.js.map +1 -1
  303. package/components/SidePage/SidePageBody.d.ts +0 -1
  304. package/components/SidePage/SidePageBody.js +7 -8
  305. package/components/SidePage/SidePageBody.js.map +1 -1
  306. package/components/SidePage/SidePageCloseButton.js +6 -8
  307. package/components/SidePage/SidePageCloseButton.js.map +1 -1
  308. package/components/SidePage/SidePageContainer.d.ts +0 -2
  309. package/components/SidePage/SidePageContainer.js +11 -13
  310. package/components/SidePage/SidePageContainer.js.map +1 -1
  311. package/components/SidePage/SidePageFooter.d.ts +0 -2
  312. package/components/SidePage/SidePageFooter.js +11 -13
  313. package/components/SidePage/SidePageFooter.js.map +1 -1
  314. package/components/SidePage/SidePageHeader.d.ts +0 -1
  315. package/components/SidePage/SidePageHeader.js +10 -10
  316. package/components/SidePage/SidePageHeader.js.map +1 -1
  317. package/components/Spinner/Spinner.d.ts +0 -2
  318. package/components/Spinner/Spinner.js +7 -10
  319. package/components/Spinner/Spinner.js.map +1 -1
  320. package/components/Spinner/Spinner.styles.d.ts +12 -12
  321. package/components/Spinner/Spinner.styles.js +13 -41
  322. package/components/Spinner/Spinner.styles.js.map +1 -1
  323. package/components/Sticky/Sticky.d.ts +0 -1
  324. package/components/Sticky/Sticky.js +1 -1
  325. package/components/Sticky/Sticky.js.map +1 -1
  326. package/components/Sticky/Sticky.styles.d.ts +7 -6
  327. package/components/Sticky/Sticky.styles.js +8 -25
  328. package/components/Sticky/Sticky.styles.js.map +1 -1
  329. package/components/Switcher/Switcher.d.ts +0 -1
  330. package/components/Switcher/Switcher.js +6 -6
  331. package/components/Switcher/Switcher.js.map +1 -1
  332. package/components/Switcher/Switcher.styles.d.ts +11 -11
  333. package/components/Switcher/Switcher.styles.js +12 -37
  334. package/components/Switcher/Switcher.styles.js.map +1 -1
  335. package/components/Switcher/switcherTheme.js +12 -4
  336. package/components/Switcher/switcherTheme.js.map +1 -1
  337. package/components/Tabs/Indicator.d.ts +0 -1
  338. package/components/Tabs/Indicator.js +2 -2
  339. package/components/Tabs/Indicator.js.map +1 -1
  340. package/components/Tabs/Indicator.styles.d.ts +7 -7
  341. package/components/Tabs/Indicator.styles.js +8 -25
  342. package/components/Tabs/Indicator.styles.js.map +1 -1
  343. package/components/Tabs/Tab.d.ts +0 -2
  344. package/components/Tabs/Tab.js +19 -24
  345. package/components/Tabs/Tab.js.map +1 -1
  346. package/components/Tabs/Tab.styles.d.ts +27 -27
  347. package/components/Tabs/Tab.styles.js +30 -99
  348. package/components/Tabs/Tab.styles.js.map +1 -1
  349. package/components/Tabs/Tabs.d.ts +0 -2
  350. package/components/Tabs/Tabs.js +24 -29
  351. package/components/Tabs/Tabs.js.map +1 -1
  352. package/components/Tabs/Tabs.styles.d.ts +6 -6
  353. package/components/Tabs/Tabs.styles.js +8 -25
  354. package/components/Tabs/Tabs.styles.js.map +1 -1
  355. package/components/Textarea/Textarea.d.ts +0 -2
  356. package/components/Textarea/Textarea.js +17 -24
  357. package/components/Textarea/Textarea.js.map +1 -1
  358. package/components/Textarea/Textarea.styles.d.ts +26 -22
  359. package/components/Textarea/Textarea.styles.js +27 -71
  360. package/components/Textarea/Textarea.styles.js.map +1 -1
  361. package/components/Textarea/TextareaCounter.js +22 -14
  362. package/components/Textarea/TextareaCounter.js.map +1 -1
  363. package/components/TimePicker/TimePicker.styles.d.ts +11 -11
  364. package/components/TimePicker/TimePicker.styles.js +12 -37
  365. package/components/TimePicker/TimePicker.styles.js.map +1 -1
  366. package/components/TimePicker/TimePickerItems.js +6 -6
  367. package/components/TimePicker/TimePickerItems.js.map +1 -1
  368. package/components/TimePicker/TimePickerPopup.js +1 -1
  369. package/components/TimePicker/TimePickerPopup.js.map +1 -1
  370. package/components/Toast/Toast.d.ts +0 -1
  371. package/components/Toast/Toast.js +9 -6
  372. package/components/Toast/Toast.js.map +1 -1
  373. package/components/Toast/Toast.styles.d.ts +6 -5
  374. package/components/Toast/Toast.styles.js +7 -22
  375. package/components/Toast/Toast.styles.js.map +1 -1
  376. package/components/Toast/ToastView.d.ts +0 -1
  377. package/components/Toast/ToastView.js +9 -17
  378. package/components/Toast/ToastView.js.map +1 -1
  379. package/components/Toast/ToastView.styles.d.ts +19 -17
  380. package/components/Toast/ToastView.styles.js +20 -65
  381. package/components/Toast/ToastView.styles.js.map +1 -1
  382. package/components/Toggle/Toggle.d.ts +1 -1
  383. package/components/Toggle/Toggle.js +55 -39
  384. package/components/Toggle/Toggle.js.map +1 -1
  385. package/components/Toggle/Toggle.styles.d.ts +47 -46
  386. package/components/Toggle/Toggle.styles.js +48 -143
  387. package/components/Toggle/Toggle.styles.js.map +1 -1
  388. package/components/Token/Token.d.ts +0 -2
  389. package/components/Token/Token.js +5 -10
  390. package/components/Token/Token.js.map +1 -1
  391. package/components/Token/Token.styles.d.ts +20 -19
  392. package/components/Token/Token.styles.js +22 -62
  393. package/components/Token/Token.styles.js.map +1 -1
  394. package/components/Token/TokenView.js +8 -10
  395. package/components/Token/TokenView.js.map +1 -1
  396. package/components/TokenInput/TextWidthHelper.d.ts +0 -1
  397. package/components/TokenInput/TextWidthHelper.js +4 -4
  398. package/components/TokenInput/TextWidthHelper.js.map +1 -1
  399. package/components/TokenInput/TokenInput.d.ts +1 -2
  400. package/components/TokenInput/TokenInput.js +20 -22
  401. package/components/TokenInput/TokenInput.js.map +1 -1
  402. package/components/TokenInput/TokenInput.styles.d.ts +21 -20
  403. package/components/TokenInput/TokenInput.styles.js +22 -66
  404. package/components/TokenInput/TokenInput.styles.js.map +1 -1
  405. package/components/Tooltip/Tooltip.d.ts +0 -1
  406. package/components/Tooltip/Tooltip.js +12 -12
  407. package/components/Tooltip/Tooltip.js.map +1 -1
  408. package/components/Tooltip/Tooltip.styles.d.ts +11 -10
  409. package/components/Tooltip/Tooltip.styles.js +12 -34
  410. package/components/Tooltip/Tooltip.styles.js.map +1 -1
  411. package/index.d.ts +4 -0
  412. package/index.js +12 -0
  413. package/index.js.map +1 -1
  414. package/internal/ClearCrossIcon/ClearCrossIcon.js +7 -9
  415. package/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  416. package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +11 -12
  417. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js +12 -35
  418. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  419. package/internal/CloseButtonIcon/CloseButtonIcon.d.ts +21 -11
  420. package/internal/CloseButtonIcon/CloseButtonIcon.js +28 -13
  421. package/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  422. package/internal/CloseButtonIcon/CloseButtonIcon.styles.d.ts +8 -8
  423. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js +9 -23
  424. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +1 -1
  425. package/internal/CommonWrapper/CommonWrapper.d.ts +5 -1
  426. package/internal/CommonWrapper/CommonWrapper.js +107 -6
  427. package/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  428. package/internal/CustomComboBox/ComboBoxView.d.ts +1 -2
  429. package/internal/CustomComboBox/ComboBoxView.js +8 -7
  430. package/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  431. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -3
  432. package/internal/CustomComboBox/CustomComboBox.styles.js +6 -16
  433. package/internal/CustomComboBox/CustomComboBox.styles.js.map +1 -1
  434. package/internal/DateSelect/DateSelect.d.ts +0 -1
  435. package/internal/DateSelect/DateSelect.js +2 -2
  436. package/internal/DateSelect/DateSelect.js.map +1 -1
  437. package/internal/DateSelect/DateSelect.styles.d.ts +5 -5
  438. package/internal/DateSelect/DateSelect.styles.js +7 -19
  439. package/internal/DateSelect/DateSelect.styles.js.map +1 -1
  440. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +15 -1
  441. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +36 -15
  442. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  443. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.styles.d.ts +5 -0
  444. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.styles.js +7 -0
  445. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.styles.js.map +1 -0
  446. package/internal/InputLikeText/InputLikeText.d.ts +0 -1
  447. package/internal/InputLikeText/InputLikeText.js +21 -17
  448. package/internal/InputLikeText/InputLikeText.js.map +1 -1
  449. package/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  450. package/internal/InputLikeText/InputLikeText.styles.js +8 -28
  451. package/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  452. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +0 -1
  453. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +14 -14
  454. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -1
  455. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -2
  456. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +4 -13
  457. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -1
  458. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -2
  459. package/internal/MaskCharLowLine/MaskCharLowLine.styles.js +4 -13
  460. package/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +1 -1
  461. package/internal/Menu/Menu.d.ts +0 -1
  462. package/internal/Menu/Menu.js +9 -9
  463. package/internal/Menu/Menu.js.map +1 -1
  464. package/internal/Menu/Menu.styles.d.ts +15 -15
  465. package/internal/Menu/Menu.styles.js +16 -49
  466. package/internal/Menu/Menu.styles.js.map +1 -1
  467. package/internal/MenuMessage/MenuMessage.js +10 -10
  468. package/internal/MenuMessage/MenuMessage.js.map +1 -1
  469. package/internal/MenuMessage/MenuMessage.styles.d.ts +10 -10
  470. package/internal/MenuMessage/MenuMessage.styles.js +11 -39
  471. package/internal/MenuMessage/MenuMessage.styles.js.map +1 -1
  472. package/internal/MobilePopup/MobilePopup.d.ts +0 -1
  473. package/internal/MobilePopup/MobilePopup.js +23 -11
  474. package/internal/MobilePopup/MobilePopup.js.map +1 -1
  475. package/internal/MobilePopup/MobilePopup.styles.d.ts +16 -16
  476. package/internal/MobilePopup/MobilePopup.styles.js +17 -55
  477. package/internal/MobilePopup/MobilePopup.styles.js.map +1 -1
  478. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +0 -1
  479. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +5 -5
  480. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -1
  481. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +6 -6
  482. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js +7 -23
  483. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +1 -1
  484. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +0 -1
  485. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +10 -10
  486. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  487. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +13 -13
  488. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js +14 -45
  489. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +1 -1
  490. package/internal/NativeDateInput/NativeDateInput.d.ts +0 -1
  491. package/internal/NativeDateInput/NativeDateInput.js +1 -1
  492. package/internal/NativeDateInput/NativeDateInput.js.map +1 -1
  493. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -2
  494. package/internal/NativeDateInput/NativeDateInput.styles.js +4 -13
  495. package/internal/NativeDateInput/NativeDateInput.styles.js.map +1 -1
  496. package/internal/NativeTimeInput/NativeTimeInput.js +1 -2
  497. package/internal/NativeTimeInput/NativeTimeInput.js.map +1 -1
  498. package/internal/NativeTimeInput/NativeTimeInput.styles.d.ts +3 -2
  499. package/internal/NativeTimeInput/NativeTimeInput.styles.js +4 -13
  500. package/internal/NativeTimeInput/NativeTimeInput.styles.js.map +1 -1
  501. package/internal/Popup/Popup.d.ts +0 -1
  502. package/internal/Popup/Popup.js +5 -5
  503. package/internal/Popup/Popup.js.map +1 -1
  504. package/internal/Popup/Popup.styles.d.ts +21 -21
  505. package/internal/Popup/Popup.styles.js +22 -67
  506. package/internal/Popup/Popup.styles.js.map +1 -1
  507. package/internal/Popup/PopupPin.d.ts +0 -1
  508. package/internal/Popup/PopupPin.js +1 -1
  509. package/internal/Popup/PopupPin.js.map +1 -1
  510. package/internal/Popup/PopupPin.styles.d.ts +9 -8
  511. package/internal/Popup/PopupPin.styles.js +10 -31
  512. package/internal/Popup/PopupPin.styles.js.map +1 -1
  513. package/internal/PopupMenu/PopupMenu.d.ts +0 -1
  514. package/internal/PopupMenu/PopupMenu.js +1 -1
  515. package/internal/PopupMenu/PopupMenu.js.map +1 -1
  516. package/internal/PopupMenu/PopupMenu.styles.d.ts +4 -3
  517. package/internal/PopupMenu/PopupMenu.styles.js +5 -16
  518. package/internal/PopupMenu/PopupMenu.styles.js.map +1 -1
  519. package/internal/RenderContainer/RenderInnerContainer.js +4 -2
  520. package/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  521. package/internal/ResizeDetector/ResizeDetector.d.ts +0 -1
  522. package/internal/ResizeDetector/ResizeDetector.js +1 -1
  523. package/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  524. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +7 -6
  525. package/internal/ResizeDetector/ResizeDetector.styles.js +8 -25
  526. package/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -1
  527. package/internal/SpinnerIcon/SpinnerIcon.js +2 -2
  528. package/internal/SpinnerIcon/SpinnerIcon.js.map +1 -1
  529. package/internal/SpinnerIcon/SpinnerIcon.styles.d.ts +6 -5
  530. package/internal/SpinnerIcon/SpinnerIcon.styles.js +7 -22
  531. package/internal/SpinnerIcon/SpinnerIcon.styles.js.map +1 -1
  532. package/internal/TextWidthHelper/TextWidthHelper.d.ts +0 -1
  533. package/internal/TextWidthHelper/TextWidthHelper.js +1 -1
  534. package/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
  535. package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -3
  536. package/internal/TextWidthHelper/TextWidthHelper.styles.js +5 -16
  537. package/internal/TextWidthHelper/TextWidthHelper.styles.js.map +1 -1
  538. package/internal/TimeInput/TimeFragments.js +19 -15
  539. package/internal/TimeInput/TimeFragments.js.map +1 -1
  540. package/internal/TimeInput/TimeFragments.styles.d.ts +19 -31
  541. package/internal/TimeInput/TimeFragments.styles.js +20 -76
  542. package/internal/TimeInput/TimeFragments.styles.js.map +1 -1
  543. package/internal/TimeInput/TimeInput.js +4 -4
  544. package/internal/TimeInput/TimeInput.js.map +1 -1
  545. package/internal/TimeInput/TimeInput.styles.d.ts +6 -6
  546. package/internal/TimeInput/TimeInput.styles.js +7 -22
  547. package/internal/TimeInput/TimeInput.styles.js.map +1 -1
  548. package/internal/icons2022/BaseIcon.js +8 -1
  549. package/internal/icons2022/BaseIcon.js.map +1 -1
  550. package/internal/icons2022/BaseIcon.styles.d.ts +5 -2
  551. package/internal/icons2022/BaseIcon.styles.js +6 -14
  552. package/internal/icons2022/BaseIcon.styles.js.map +1 -1
  553. package/internal/icons2022/LoadingIcon.js +3 -5
  554. package/internal/icons2022/LoadingIcon.js.map +1 -1
  555. package/internal/themes/BasicTheme.d.ts +10 -0
  556. package/internal/themes/BasicTheme.js +17 -6
  557. package/internal/themes/BasicTheme.js.map +1 -1
  558. package/internal/themes/DarkTheme6_0.js +62 -342
  559. package/internal/themes/DarkTheme6_0.js.map +1 -1
  560. package/internal/themes/DarkTheme6_1.js +11 -3
  561. package/internal/themes/DarkTheme6_1.js.map +1 -1
  562. package/internal/themes/DarkTheme6_4.js +11 -1
  563. package/internal/themes/DarkTheme6_4.js.map +1 -1
  564. package/lib/Upgrades.d.ts +12 -2
  565. package/lib/Upgrades.js +12 -16
  566. package/lib/Upgrades.js.map +1 -1
  567. package/lib/classNames.generated.d.ts +1235 -0
  568. package/lib/classNames.generated.js +1233 -0
  569. package/lib/classNames.generated.js.map +1 -0
  570. package/lib/globalObject.js +4 -1
  571. package/lib/globalObject.js.map +1 -1
  572. package/lib/renderEnvironment/RenderEnvironmentContext.d.ts +38 -6
  573. package/lib/renderEnvironment/RenderEnvironmentContext.js +21 -19
  574. package/lib/renderEnvironment/RenderEnvironmentContext.js.map +1 -1
  575. package/lib/renderEnvironment/RenderEnvironmentDecorator.js +6 -3
  576. package/lib/renderEnvironment/RenderEnvironmentDecorator.js.map +1 -1
  577. package/lib/styles/baselineCompensation.d.ts +63 -0
  578. package/lib/styles/baselineCompensation.js +122 -0
  579. package/lib/styles/baselineCompensation.js.map +1 -0
  580. package/lib/theming/Emotion.d.ts +43 -9
  581. package/lib/theming/Emotion.js +70 -35
  582. package/lib/theming/Emotion.js.map +1 -1
  583. package/lib/theming/declaredTheme.d.ts +43 -0
  584. package/lib/theming/declaredTheme.js +56 -0
  585. package/lib/theming/declaredTheme.js.map +1 -0
  586. package/lib/theming/hashString.d.ts +19 -0
  587. package/lib/theming/hashString.js +52 -0
  588. package/lib/theming/hashString.js.map +1 -0
  589. package/lib/theming/staticStyles.d.ts +17 -0
  590. package/lib/theming/staticStyles.js +8 -0
  591. package/lib/theming/staticStyles.js.map +1 -0
  592. package/lib/theming/staticThemeDelta.d.ts +17 -0
  593. package/lib/theming/staticThemeDelta.js +37 -0
  594. package/lib/theming/staticThemeDelta.js.map +1 -0
  595. package/lib/theming/staticThemeVars.d.ts +21 -0
  596. package/lib/theming/staticThemeVars.js +35 -0
  597. package/lib/theming/staticThemeVars.js.map +1 -0
  598. package/lib/theming/themeCssVarsClass.d.ts +89 -0
  599. package/lib/theming/themeCssVarsClass.js +253 -0
  600. package/lib/theming/themeCssVarsClass.js.map +1 -0
  601. package/lib/theming/themeCssVarsDelta.d.ts +13 -0
  602. package/lib/theming/themeCssVarsDelta.js +67 -0
  603. package/lib/theming/themeCssVarsDelta.js.map +1 -0
  604. package/lib/theming/themeToCssVars.d.ts +47 -0
  605. package/lib/theming/themeToCssVars.js +861 -0
  606. package/lib/theming/themeToCssVars.js.map +1 -0
  607. package/package.json +47 -6
  608. package/react-ui-tailwind.css +544 -0
  609. package/react-ui-themes.css +8628 -0
  610. package/react-ui-token-map.json +9029 -0
  611. package/react-ui.css +7776 -0
  612. package/react-ui.layer.css +7778 -0
  613. package/themes/dark-6-0.css +1439 -0
  614. package/themes/dark-6-0.scoped.css +1439 -0
  615. package/themes/dark-6-1.css +1439 -0
  616. package/themes/dark-6-1.scoped.css +1439 -0
  617. package/themes/dark.css +1439 -0
  618. package/themes/dark.scoped.css +1439 -0
  619. package/themes/light-6-0.css +1437 -0
  620. package/themes/light-6-0.scoped.css +1437 -0
  621. package/themes/light-6-1.css +1437 -0
  622. package/themes/light-6-1.scoped.css +1437 -0
  623. package/themes/light.css +1437 -0
  624. package/themes/light.scoped.css +1437 -0
  625. package/components/Button/Button.mixins.d.ts +0 -4
  626. package/components/Button/Button.mixins.js +0 -21
  627. package/components/Button/Button.mixins.js.map +0 -1
  628. package/components/Checkbox/Checkbox.mixins.d.ts +0 -4
  629. package/components/Checkbox/Checkbox.mixins.js +0 -18
  630. package/components/Checkbox/Checkbox.mixins.js.map +0 -1
  631. package/components/FileUploader/FileUploader.mixins.d.ts +0 -1
  632. package/components/FileUploader/FileUploader.mixins.js +0 -4
  633. package/components/FileUploader/FileUploader.mixins.js.map +0 -1
  634. package/components/Link/Link.mixins.d.ts +0 -2
  635. package/components/Link/Link.mixins.js +0 -7
  636. package/components/Link/Link.mixins.js.map +0 -1
  637. package/components/MenuFooter/MenuFooter.mixins.d.ts +0 -2
  638. package/components/MenuFooter/MenuFooter.mixins.js +0 -8
  639. package/components/MenuFooter/MenuFooter.mixins.js.map +0 -1
  640. package/components/MenuHeader/MenuHeader.mixins.d.ts +0 -2
  641. package/components/MenuHeader/MenuHeader.mixins.js +0 -8
  642. package/components/MenuHeader/MenuHeader.mixins.js.map +0 -1
  643. package/components/Radio/Radio.mixins.d.ts +0 -7
  644. package/components/Radio/Radio.mixins.js +0 -30
  645. package/components/Radio/Radio.mixins.js.map +0 -1
  646. package/components/Tabs/helpers.d.ts +0 -6
  647. package/components/Tabs/helpers.js +0 -25
  648. package/components/Tabs/helpers.js.map +0 -1
  649. package/components/Textarea/Textarea.mixins.d.ts +0 -2
  650. package/components/Textarea/Textarea.mixins.js +0 -7
  651. package/components/Textarea/Textarea.mixins.js.map +0 -1
  652. package/components/Toggle/Toggle.mixins.d.ts +0 -8
  653. package/components/Toggle/Toggle.mixins.js +0 -32
  654. package/components/Toggle/Toggle.mixins.js.map +0 -1
  655. package/components/Token/Token.mixins.d.ts +0 -1
  656. package/components/Token/Token.mixins.js +0 -4
  657. package/components/Token/Token.mixins.js.map +0 -1
  658. package/components/TokenInput/TokenInput.mixins.d.ts +0 -2
  659. package/components/TokenInput/TokenInput.mixins.js +0 -7
  660. package/components/TokenInput/TokenInput.mixins.js.map +0 -1
  661. package/lib/chars.d.ts +0 -8
  662. package/lib/chars.js +0 -9
  663. package/lib/chars.js.map +0 -1
  664. package/lib/styles/Mixins.d.ts +0 -2
  665. package/lib/styles/Mixins.js +0 -7
  666. package/lib/styles/Mixins.js.map +0 -1
  667. package/lib/styles/UiFont.d.ts +0 -3
  668. package/lib/styles/UiFont.js +0 -18
  669. package/lib/styles/UiFont.js.map +0 -1
  670. package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +0 -1
  671. package/lib/styles/getLabGrotesqueBaselineCompensation.js +0 -10
  672. package/lib/styles/getLabGrotesqueBaselineCompensation.js.map +0 -1
  673. package/lib/theming/AnimationKeyframes.d.ts +0 -7
  674. package/lib/theming/AnimationKeyframes.js +0 -24
  675. package/lib/theming/AnimationKeyframes.js.map +0 -1
  676. package/lib/theming/useTheme.d.ts +0 -2
  677. package/lib/theming/useTheme.js +0 -6
  678. package/lib/theming/useTheme.js.map +0 -1
  679. package/typings/stylis-plugin-extra-scope.d.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"CommonWrapper.js","sourceRoot":"","sources":["CommonWrapper.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport React from 'react';\nimport warning from 'warning';\n\nimport { callChildRef } from '../../lib/callChildRef/callChildRef.js';\nimport { getElementRef } from '../../lib/getElementRef.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TRootNodeSubscription, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { getRootNode, isInstanceWithRootNode, rootNode } from '../../lib/rootNode/index.js';\nimport { isFunction, isRefableElement } from '../../lib/utils.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport type { CommonProps, CommonPropsRootNodeRef, CommonWrapperProps } from './types.js';\nimport { extractCommonProps } from './utils/extractCommonProps.js';\nimport { getCommonVisualStateDataAttributes } from './utils/getCommonVisualStateDataAttributes.js';\n\nexport type CommonPropsWithRootNodeRef = CommonProps & CommonPropsRootNodeRef;\n\n@withRenderEnvironment\n@rootNode\nexport class CommonWrapper<P extends CommonPropsWithRootNodeRef> extends React.Component<\n CommonWrapperProps<P> & CommonPropsRootNodeRef\n> {\n public static __KONTUR_REACT_UI__ = 'CommonWrapper';\n public static displayName = 'CommonWrapper';\n\n private cx!: Emotion['cx'];\n private child: React.ReactNode;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private rootNodeSubscription: Nullable<TRootNodeSubscription> = null;\n\n render() {\n const [{ className, style, children, rootNodeRef, ...dataProps }, { ...rest }] = extractCommonProps(this.props);\n this.child = isFunction(children) ? children(rest) : children;\n\n // TODO: replace count with only in 7.0\n if (React.Children.count(this.child) > 1) {\n warning(false, 'CommonWrapper expects a single child');\n }\n\n const getChildProps = (child: React.ReactElement<CommonProps & React.RefAttributes<any>>) => {\n const childProps: Record<string, unknown> = {\n ...getCommonVisualStateDataAttributes(rest),\n ...dataProps,\n };\n\n isRefableElement(child) && (childProps.ref = this.ref);\n\n const classNames: string = this.cx(child.props.className, className);\n classNames && (childProps.className = classNames);\n\n const styles: React.CSSProperties = { ...child.props.style, ...style };\n Object.keys(styles).length && (childProps.style = styles);\n\n return childProps;\n };\n\n return React.isValidElement<CommonProps & React.RefAttributes<any>>(this.child)\n ? React.cloneElement(this.child, getChildProps(this.child))\n : this.child;\n }\n\n private ref = (instance: Nullable<React.ReactInstance>) => {\n this.setRootNode(instance);\n this.props.rootNodeRef?.(getRootNode(instance));\n\n // refs are called when instances change,\n // so we have to renew or remove old subscription\n this.rootNodeSubscription?.remove();\n this.rootNodeSubscription = null;\n\n if (instance && isInstanceWithRootNode(instance)) {\n this.rootNodeSubscription = instance.addRootNodeChangeListener?.((node) => {\n this.setRootNode(node);\n this.props.rootNodeRef?.(node);\n });\n }\n\n const originalRef = getElementRef(this.child as React.ReactElement);\n if (typeof originalRef === 'function' || (originalRef && typeof originalRef === 'object')) {\n originalRef && callChildRef(originalRef, instance);\n }\n };\n}\n"]}
1
+ {"version":3,"file":"CommonWrapper.js","sourceRoot":"","sources":["CommonWrapper.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport warning from 'warning';\n\nimport { callChildRef } from '../../lib/callChildRef/callChildRef.js';\nimport { getElementRef } from '../../lib/getElementRef.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TRootNodeSubscription, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { getRootNode, isInstanceWithRootNode, rootNode } from '../../lib/rootNode/index.js';\nimport { injectBaselineCompensationVars } from '../../lib/styles/baselineCompensation.js';\nimport { DeclaredThemeContext, themeCarrierSignature } from '../../lib/theming/declaredTheme.js';\nimport type { ClassNames } from '../../lib/theming/Emotion.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { getThemeCssVars, isThemeCssVarsClass } from '../../lib/theming/themeCssVarsClass.js';\nimport { THEME_CSS_VAR_PREFIX } from '../../lib/theming/themeToCssVars.js';\nimport { isFunction, isRefableElement } from '../../lib/utils.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport type { CommonProps, CommonPropsRootNodeRef, CommonWrapperProps } from './types.js';\nimport { extractCommonProps } from './utils/extractCommonProps.js';\nimport { getCommonVisualStateDataAttributes } from './utils/getCommonVisualStateDataAttributes.js';\n\nexport type CommonPropsWithRootNodeRef = CommonProps & CommonPropsRootNodeRef;\n\n/** Объявления темы из чужой дельты: имена переменных начинаются с префикса. */\nconst withoutThemeVars = (style: React.CSSProperties | undefined): React.CSSProperties | undefined => {\n if (!style) {\n return style;\n }\n\n const result: Record<string, unknown> = {};\n Object.keys(style).forEach((property) => {\n if (!property.startsWith(THEME_CSS_VAR_PREFIX)) {\n result[property] = style[property as keyof React.CSSProperties];\n }\n });\n\n return result as React.CSSProperties;\n};\n\n@withRenderEnvironment\n@rootNode\nexport class CommonWrapper<P extends CommonPropsWithRootNodeRef> extends React.Component<\n CommonWrapperProps<P> & CommonPropsRootNodeRef\n> {\n public static __KONTUR_REACT_UI__ = 'CommonWrapper';\n public static displayName = 'CommonWrapper';\n\n public static contextType = ThemeContext;\n public context!: React.ContextType<typeof ThemeContext>;\n\n private cx!: ClassNames;\n private globalObject!: GlobalObject;\n private child: React.ReactNode;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private rootNodeSubscription: Nullable<TRootNodeSubscription> = null;\n\n render() {\n // Централизованно для всех компонентов: раньше звалось из `getStyles`\n // Checkbox/Radio/Toggle, но после перевода на `staticStyles()` их фабрика\n // не выполняется вовсе — см. комментарий у самой функции.\n injectBaselineCompensationVars(this.globalObject);\n\n const [{ className, style, children, rootNodeRef, ...dataProps }, { ...rest }] = extractCommonProps(this.props);\n this.child = isFunction(children) ? children(rest) : children;\n\n // TODO: replace count with only in 7.0\n if (React.Children.count(this.child) > 1) {\n warning(false, 'CommonWrapper expects a single child');\n }\n\n const getChildProps = (\n child: React.ReactElement<CommonProps & React.RefAttributes<any>>,\n needsCarrier: boolean,\n ) => {\n const childProps: Record<string, unknown> = {\n ...getCommonVisualStateDataAttributes(rest),\n ...dataProps,\n };\n\n isRefableElement(child) && (childProps.ref = this.ref);\n\n // Класс с переменными темы приклеивается строкой, а НЕ через `cx`: `cx`\n // сливает зарегистрированные классы в один новый, и тогда хеш общего класса\n // зависел бы от значений темы — класснеймы снова разъехались бы между\n // светлой и тёмной.\n //\n // Из класса ребёнка такой класс сначала выбрасывается: `CommonWrapper`\n // вкладываются друг в друга (например у Kebab корень — Button), и без этого\n // внешний класс переменных попал бы в `cx` внутреннего.\n const themeVars = getThemeCssVars(this.context);\n const childClassNames: string[] = (child.props.className ?? '').split(' ').filter(Boolean);\n const hasOuterThemeVars = childClassNames.some(isThemeCssVarsClass);\n const childClassName = childClassNames.filter((name: string) => !isThemeCssVarsClass(name)).join(' ');\n\n // Из собственного пропа выбрасывается не всякий класс темы, а ровно тот,\n // который печатается строкой ниже. Внешняя обёртка кладёт свой носитель\n // именно в `className` внутреннего компонента (у Kebab корень — Button, у\n // Autocomplete — Input), и без этого одно и то же имя оказывалось на узле\n // до трёх раз.\n //\n // Фильтр по префиксу здесь не годится: `<Button className={\n // useThemeCssVars(MY_THEME).className}>` — законный способ задать\n // поддереву свою тему, и такой класс принадлежит приложению, а не нам.\n // Дубликат носителя выбрасывается из пропа только тогда, когда мы печатаем\n // свой: иначе выбрасывать нечего и НЕЛЬЗЯ. Внешняя обёртка кладёт носитель\n // именно в `className` внутреннего компонента (`Group` прокидывает\n // `{...this.props}` в свой `CommonWrapper`), и если свой мы не печатаем, то\n // пришедший — единственный на узле. Вырезать его значило бы стереть тему\n // у целого поддерева; на `FxInput` это ровно так и вышло.\n const ownThemeClassNames = new Set(themeVars.className.split(' ').filter(Boolean));\n const outerClassName = needsCarrier\n ? className\n ?.split(' ')\n .filter((name: string) => !ownThemeClassNames.has(name))\n .join(' ') || undefined\n : className;\n\n // Носитель печатается только на ГРАНИЦЕ смены темы: если та же тема уже\n // объявлена выше по DOM, повторять её блок незачем — а вреда от повтора\n // много. Объявление на самом элементе всегда сильнее унаследованного,\n // поэтому собственный блок на корне каждого компонента экранировал и\n // `:root`, и контейнер приложения (раздел 8.3).\n const classNames: string = [needsCarrier ? themeVars.className : '', this.cx(childClassName, outerClassName)]\n .filter(Boolean)\n .join(' ');\n classNames && (childProps.className = classNames);\n\n // Дельта производной темы идёт инлайном и стоит первой: свой `style` у\n // компонента и `style` из пропов обязаны её перебивать, а не наоборот.\n // React ставит объявления через CSSOM, поэтому правила в таблице стилей\n // не появляется — со внешним CSS страница остаётся без тега `<style>`.\n //\n // Чужая дельта из пропов ребёнка выбрасывается вместе с чужим классом\n // темы — эти двое всегда приезжают парой. `CommonWrapper` вкладываются\n // друг в друга (у Kebab корень — Button), и между ними тема может\n // смениться: тогда класс достался бы от одной темы, а объявления поверх\n // него — от другой. Без класса темы `--kontur-*` в пропах — уже\n // объявления приложения, и трогать их нельзя.\n const outerStyle = hasOuterThemeVars ? withoutThemeVars(child.props.style) : child.props.style;\n // Дельта производной темы — такая же часть носителя, как и класс, и едет\n // вместе с ним: без класса базы её объявления не на чем считать.\n const styles: React.CSSProperties = {\n ...(needsCarrier ? themeVars.style : undefined),\n ...outerStyle,\n ...style,\n };\n Object.keys(styles).length && (childProps.style = styles);\n\n return childProps;\n };\n\n const themeVars = getThemeCssVars(this.context);\n const signature = themeCarrierSignature(themeVars);\n\n // Через `Consumer`, а не `contextType`: тот занят `ThemeContext`, и второй\n // контекст классовому компоненту иначе не прочитать. Тем же приёмом это уже\n // сделано в `RenderEnvironmentDecorator`.\n return (\n <DeclaredThemeContext.Consumer>\n {(declared) => {\n const isElement = React.isValidElement<CommonProps & React.RefAttributes<any>>(this.child);\n // Носитель нужен, только если тема сменилась И его есть на что\n // повесить. Ребёнок не элемент — клонировать нечего, класс никуда не\n // попадёт; объявить при этом тему объявленной значило бы обмануть\n // поддерево: вложенные компоненты решили бы, что носитель выше есть,\n // а его нет. Так и произошло на `FxInput`.\n const needsCarrier = isElement && declared !== signature;\n\n // А публикуется объявленная тема ТОЛЬКО когда ребёнок — настоящий\n // DOM-элемент. Если это компонент, класс уезжает ему пропом, и куда он\n // его повесит — неизвестно: `Menu` вешает на узел глубже своего\n // корня, и `MenuHeader` оказывался уже не под носителем. Знать это\n // снаружи нельзя, поэтому там, где неизвестно, поддерево считается\n // необъявленным — лишний носитель дешевле потерянных переменных.\n const childIsDomElement = isElement && typeof (this.child as React.ReactElement).type === 'string';\n const declaresForSubtree = needsCarrier && childIsDomElement;\n\n const content = isElement\n ? React.cloneElement(\n this.child as React.ReactElement<CommonProps & React.RefAttributes<any>>,\n getChildProps(this.child as React.ReactElement<CommonProps & React.RefAttributes<any>>, needsCarrier),\n )\n : this.child;\n\n // Провайдер не рождает DOM-узла, поэтому ни `ref`, ни `getRootNode`,\n // ни разметка от него не меняются.\n return declaresForSubtree ? (\n <DeclaredThemeContext.Provider value={signature}>{content}</DeclaredThemeContext.Provider>\n ) : (\n content\n );\n }}\n </DeclaredThemeContext.Consumer>\n );\n }\n\n private ref = (instance: Nullable<React.ReactInstance>) => {\n this.setRootNode(instance);\n this.props.rootNodeRef?.(getRootNode(instance));\n\n // refs are called when instances change,\n // so we have to renew or remove old subscription\n this.rootNodeSubscription?.remove();\n this.rootNodeSubscription = null;\n\n if (instance && isInstanceWithRootNode(instance)) {\n this.rootNodeSubscription = instance.addRootNodeChangeListener?.((node) => {\n this.setRootNode(node);\n this.props.rootNodeRef?.(node);\n });\n }\n\n const originalRef = getElementRef(this.child as React.ReactElement);\n if (typeof originalRef === 'function' || (originalRef && typeof originalRef === 'object')) {\n originalRef && callChildRef(originalRef, instance);\n }\n };\n}\n"]}
@@ -80,7 +80,7 @@ interface ComboBoxViewProps<T> extends Pick<AriaAttributes, 'aria-describedby' |
80
80
  maxRows?: number;
81
81
  preventIconsOffset?: boolean;
82
82
  }
83
- type DefaultProps<T> = Required<Pick<ComboBoxViewProps<T>, 'renderItem' | 'renderValue' | 'renderAddButton' | 'repeatRequest' | 'requestStatus' | 'onClickOutside' | 'onFocusOutside' | 'width' | 'showClearIcon'>>;
83
+ type DefaultProps<T> = Required<Pick<ComboBoxViewProps<T>, 'renderItem' | 'renderValue' | 'renderAddButton' | 'repeatRequest' | 'requestStatus' | 'onClickOutside' | 'onFocusOutside' | 'showClearIcon'>>;
84
84
  export declare const ComboBoxViewIds: {
85
85
  menu: string;
86
86
  arrow: string;
@@ -102,7 +102,6 @@ export declare class ComboBoxView<T> extends React.Component<ComboBoxViewProps<T
102
102
  private dropdownContainerRef;
103
103
  private styles;
104
104
  private maskedInputStyles;
105
- private emotion;
106
105
  private cx;
107
106
  private theme;
108
107
  private size;
@@ -189,21 +189,23 @@ var ComboBoxView = /** @class */ (function (_super) {
189
189
  };
190
190
  ComboBoxView.prototype.render = function () {
191
191
  var _this = this;
192
- this.styles = getStyles(this.emotion);
193
- this.maskedInputStyles = getMaskedInputStyles(this.emotion);
192
+ this.styles = getStyles();
193
+ this.maskedInputStyles = getMaskedInputStyles();
194
194
  return (React.createElement(ThemeContext.Consumer, null, function (theme) {
195
195
  _this.theme = getComboBoxTheme(theme);
196
196
  return React.createElement(ThemeContext.Provider, { value: _this.theme }, _this.renderMain());
197
197
  }));
198
198
  };
199
199
  ComboBoxView.prototype.renderMain = function () {
200
- var _a = this.props, onMouseEnter = _a.onMouseEnter, onMouseLeave = _a.onMouseLeave, onMouseOver = _a.onMouseOver, opened = _a.opened;
201
- var _b = this.getProps(), onClickOutside = _b.onClickOutside, onFocusOutside = _b.onFocusOutside, width = _b.width;
200
+ var _a;
201
+ var _b = this.props, onMouseEnter = _b.onMouseEnter, onMouseLeave = _b.onMouseLeave, onMouseOver = _b.onMouseOver, opened = _b.opened;
202
+ var _c = this.getProps(), onClickOutside = _c.onClickOutside, onFocusOutside = _c.onFocusOutside;
203
+ var width = this.props.width;
202
204
  var isMobile = this.isMobileLayout;
203
205
  var input = this.renderInput();
204
206
  return (React.createElement(CommonWrapper, __assign({}, this.props),
205
207
  React.createElement(RenderLayer, { onClickOutside: onClickOutside, onFocusOutside: onFocusOutside, active: opened },
206
- React.createElement("span", { "data-tid": CustomComboBoxDataTids.comboBoxView, style: { width: width }, className: this.styles.root(), onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, onMouseOver: onMouseOver, ref: this.setRootNode },
208
+ React.createElement("span", { "data-tid": CustomComboBoxDataTids.comboBoxView, style: width === undefined ? undefined : { width: width }, className: this.cx(this.styles.root(), (_a = {}, _a[this.styles.defaultWidth()] = width === undefined, _a)), onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, onMouseOver: onMouseOver, ref: this.setRootNode },
207
209
  input,
208
210
  isMobile ? this.renderMobileMenu() : this.renderMenu()))));
209
211
  };
@@ -257,7 +259,7 @@ var ComboBoxView = /** @class */ (function (_super) {
257
259
  return React.createElement(Input, __assign({}, inputProps));
258
260
  }
259
261
  var renderValue = this.getProps().renderValue;
260
- return (React.createElement(InputLikeText, { id: id, align: align, borderless: borderless, error: error, onFocus: onFocus, leftIcon: leftIcon, rightIcon: rightIcon, disabled: disabled, warning: warning, placeholder: placeholder, size: this.size, width: "100%", ref: refInputLikeText, "aria-describedby": ariaDescribedby, "aria-controls": this.menuId, showClearIcon: showClearIcon, className: this.cx(mask && this.maskedInputStyles.root(this.theme)), onClearCrossClick: this.props.onClearCrossClick }, isNonNullable(value) && renderValue ? renderValue(value) : null));
262
+ return (React.createElement(InputLikeText, { id: id, align: align, borderless: borderless, error: error, onFocus: onFocus, leftIcon: leftIcon, rightIcon: rightIcon, disabled: disabled, warning: warning, placeholder: placeholder, size: this.size, width: "100%", ref: refInputLikeText, "aria-describedby": ariaDescribedby, "aria-controls": this.menuId, showClearIcon: showClearIcon, className: this.cx(mask && this.maskedInputStyles.root()), onClearCrossClick: this.props.onClearCrossClick }, isNonNullable(value) && renderValue ? renderValue(value) : null));
261
263
  };
262
264
  var ComboBoxView_1;
263
265
  ComboBoxView.__KONTUR_REACT_UI__ = 'ComboBoxView';
@@ -274,7 +276,6 @@ var ComboBoxView = /** @class */ (function (_super) {
274
276
  onFocusOutside: function () {
275
277
  /**/
276
278
  },
277
- width: 250,
278
279
  showClearIcon: 'never',
279
280
  };
280
281
  ComboBoxView = ComboBoxView_1 = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBoxView.js","sourceRoot":"","sources":["ComboBoxView.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,SAAS,IAAI,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAEvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,6DAA6D,CAAC;AAEzG,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AA2FzD,MAAM,CAAC,IAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,oBAAoB;IAC1B,KAAK,EAAE,qBAAqB;CAC7B,CAAC;AAWF;IAAqC,gCAAwD;IAA7F;;;QAoBU,cAAQ,GAAG,iBAAiB,CAAC,cAAY,CAAC,YAAY,CAAC,CAAC;QAKxD,iBAAW,GAAoB,IAAI,CAAC;QAEpC,0BAAoB,GAAG,KAAK,CAAC,SAAS,EAAS,CAAC;QAOhD,YAAM,GAAG,eAAe,CAAC,IAAI,GAAG,WAAW,EAAE,CAAC;QAE/C,WAAK,GAAsB;YAChC,aAAa,EAAE,IAAI;YACnB,gBAAgB,EAAE,KAAI,CAAC,KAAK,CAAC,aAAa,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAA,MAAA,KAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,QAAQ,EAAE,CAAA;SAC1F,CAAC;QAyEM,qBAAe,GAAG;YAClB,IAAA,KAUF,KAAI,CAAC,KAAK,EATZ,KAAK,WAAA,EACL,OAAO,aAAA,EACP,MAAM,YAAA,EACN,OAAO,aAAA,EACP,aAAa,mBAAA,EACb,gBAAgB,sBAAA,EAChB,cAAc,oBAAA,EACd,UAAU,gBAAA,EACV,kBAAkB,wBACN,CAAC;YAET,IAAA,KAA4D,KAAI,CAAC,QAAQ,EAAE,EAAzE,aAAa,mBAAA,EAAE,aAAa,mBAAA,EAAE,UAAU,gBAAA,EAAE,WAAW,iBAAoB,CAAC;YAClF,OAAO,CACL,oBAAC,YAAY,IACX,SAAS,EAAE,KAAK,EAChB,MAAM,EAAE,KAAI,CAAC,MAAM,EACnB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,KAAI,CAAC,gBAAgB,EACpC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,KAAI,CAAC,eAAe,EACrC,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,KAAI,CAAC,cAAc,EAC7B,IAAI,EAAE,KAAI,CAAC,IAAI,EACf,kBAAkB,EAAE,kBAAkB,GACtC,CACH,CAAC;QACJ,CAAC,CAAC;QAEM,gBAAU,GAAG;YACb,IAAA,KAAiC,KAAI,CAAC,QAAQ,EAAE,EAA9C,MAAM,YAAA,EAAE,OAAO,aAAA,EAAE,SAAS,eAAoB,CAAC;YAC/C,IAAA,aAAa,GAAK,KAAI,CAAC,KAAK,cAAf,CAAgB;YAErC,OAAO,CACL,MAAM;gBACN,aAAa,IAAI,CACf,oBAAC,KAAK,IACJ,MAAM,QACN,SAAS,QACT,uBAAuB,QACvB,QAAQ,EAAC,MAAM,EACf,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,SAAS,EACrC,SAAS,EAAE,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,EAC/C,aAAa,EAAE,KAAI,CAAC,KAAK,CAAC,aAAa,EACvC,MAAM,EAAE,QAAQ,CAAC,KAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAC5C,GAAG,EAAE,KAAI,CAAC,oBAAoB,IAE7B,KAAI,CAAC,eAAe,EAAE,CACjB,CACT,CACF,CAAC;QACJ,CAAC,CAAC;QAEM,sBAAgB,GAAG;YACzB,IAAI,SAAS,GAAG,IAAI,CAAC;YAEf,IAAA,KAAkG,KAAI,CAAC,KAAK,EAA1G,OAAO,aAAA,EAAE,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,OAAO,aAAA,EAAE,kBAAkB,wBAAA,EAAE,cAAc,oBAAA,EAAE,WAAW,iBAAA,EAAE,SAAS,eAAe,CAAC;YACnH,IAAI,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvC,SAAS,GAAG,KAAI,CAAC,aAAa,EAAE,CAAC;YACnC,CAAC;YAED,IAAM,WAAW,GAAG,UAAU,CAAC,KAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAClD,IAAM,UAAU,GAAe;gBAC7B,YAAY,EAAE,KAAK;gBACnB,SAAS,EAAE,IAAI;gBACf,KAAK,EAAE,MAAM;gBACb,OAAO,SAAA;gBACP,aAAa,EAAE,kBAAkB;gBACjC,SAAS,EAAE,cAAc;gBACzB,KAAK,EAAE,SAAS;gBAChB,WAAW,aAAA;gBACX,SAAS,WAAA;gBACT,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aAC1C,CAAC;YAEF,IAAM,mBAAmB,GAAG,WAAW;gBACrC,CAAC,CAAC;oBACE,oBAAoB,EAAE,oBAAC,KAAK,aAAC,GAAG,EAAE,KAAI,CAAC,cAAc,IAAM,UAAU,EAAI;oBACzE,IAAI,EAAE,KAAI,CAAC,IAAI;iBAChB;gBACH,CAAC,CAAC;oBACE,oBAAoB,EAAE,oBAAC,KAAK,aAAC,GAAG,EAAE,KAAI,CAAC,cAAc,IAAM,UAAU,EAAI;iBAC1E,CAAC;YAEN,OAAO,CACL,MAAM,IAAI,CACR,oBAAC,WAAW,eAAK,mBAAmB,IAAE,cAAc,EAAE,KAAI,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,WACnF,KAAI,CAAC,eAAe,EAAE,CACX,CACf,CACF,CAAC;QACJ,CAAC,CAAC;QAEM,eAAS,GAAG;YAClB,OAAO,WAAW,CAAC,KAAI,CAAC,CAAC;QAC3B,CAAC,CAAC;QAEM,qBAAe,GAAG;YACxB,OAAO,KAAI,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,KAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/D,CAAC,CAAC;QA2HM,uBAAiB,GAAG;;YAC1B,MAAA,MAAA,KAAI,CAAC,KAAK,EAAC,YAAY,kDAAI,CAAC;YAE5B,MAAA,KAAI,CAAC,WAAW,0CAAE,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC;QAEM,sBAAgB,GAAG,UAAC,IAAO;;YACjC,IAAI,KAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;gBAC7B,KAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;YAED,IAAI,KAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAA,MAAA,KAAI,CAAC,KAAK,EAAC,aAAa,kDAAI,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC;QAEM,cAAQ,GAAG,UAAC,KAAmD;YACrE,IAAI,KAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACxB,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC,CAAC;QAEM,mBAAa,GAAG,cAAM,OAAA,CAC5B,8BAAM,SAAS,EAAE,KAAI,CAAC,MAAM,CAAC,cAAc,EAAE;YAC3C,oBAAC,OAAO,IAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,EAAE,EAAC,MAAM,SAAG,CACrC,CACR,EAJ6B,CAI7B,CAAC;QAEM,kBAAY,GAAG;YACf,IAAA,KAA2C,KAAI,CAAC,KAAK,EAAnD,OAAO,aAAA,EAAE,KAAK,WAAA,EAAE,SAAS,eAAA,EAAE,SAAS,eAAe,CAAC;YAC5D,IAAM,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;YAEvB,IAAI,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvC,OAAO,oBAAC,WAAW,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC;YACrC,CAAC;YAED,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;gBAC3B,OAAO,CACL,SAAS,IAAI,CACX,oBAAC,aAAa,gBACF,eAAe,CAAC,KAAK,EAC/B,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,cAAc,EAAE,EAAtB,CAAsB,EAC9C,OAAO,EAAE,KAAI,CAAC,gBAAgB,GAC9B,CACH,CACF,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEM,oBAAc,GAAG,UAAC,KAAsB;YAC9C,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC,CAAC;QAEM,sBAAgB,GAAG,UAAC,KAAuB;;YACjD,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,MAAA,MAAA,KAAI,CAAC,KAAK,EAAC,YAAY,kDAAI,CAAC;QAC9B,CAAC,CAAC;;IACJ,CAAC;qBAtZY,YAAY;IAyChB,wCAAiB,GAAxB;QACE,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,0CAAmB,GAAnB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAE/C,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC;gBACZ,aAAa,EAAE,MAAM;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEM,yCAAkB,GAAzB,UAA0B,SAA+B;QACjD,IAAA,KAAmB,IAAI,EAArB,KAAK,WAAA,EAAE,KAAK,WAAS,CAAC;QAE9B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC;YACjD,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAEM,6BAAM,GAAb;QAAA,iBAYC;QAXC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,iBAAiB,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5D,OAAO,CACL,oBAAC,YAAY,CAAC,QAAQ,QACnB,UAAC,KAAK;YACL,KAAI,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACrC,OAAO,oBAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAI,CAAC,KAAK,IAAG,KAAI,CAAC,UAAU,EAAE,CAAyB,CAAC;QAC/F,CAAC,CACqB,CACzB,CAAC;IACJ,CAAC;IAEM,iCAAU,GAAjB;QACQ,IAAA,KAAsD,IAAI,CAAC,KAAK,EAA9D,YAAY,kBAAA,EAAE,YAAY,kBAAA,EAAE,WAAW,iBAAA,EAAE,MAAM,YAAe,CAAC;QACjE,IAAA,KAA4C,IAAI,CAAC,QAAQ,EAAE,EAAzD,cAAc,oBAAA,EAAE,cAAc,oBAAA,EAAE,KAAK,WAAoB,CAAC;QAElE,IAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;QAErC,IAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEjC,OAAO,CACL,oBAAC,aAAa,eAAK,IAAI,CAAC,KAAK;YAC3B,oBAAC,WAAW,IAAC,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM;gBACzF,0CACY,sBAAsB,CAAC,YAAY,EAC7C,KAAK,EAAE,EAAE,KAAK,OAAA,EAAE,EAChB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAC7B,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,IAAI,CAAC,WAAW;oBAEpB,KAAK;oBACL,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAClD,CACK,CACA,CACjB,CAAC;IACJ,CAAC;IAkHO,kCAAW,GAAnB;QACE,IAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;QAE/B,IAAA,KA2BF,IAAI,CAAC,KAAK,EA1BZ,EAAE,QAAA,EACF,KAAK,WAAA,EACL,UAAU,gBAAA,EACV,QAAQ,cAAA,EACR,OAAO,aAAA,EACP,KAAK,WAAA,EACL,OAAO,aAAA,EACP,WAAW,iBAAA,EACX,kBAAkB,wBAAA,EAClB,YAAY,kBAAA,EACZ,YAAY,kBAAA,EACZ,cAAc,oBAAA,EACd,WAAW,iBAAA,EACX,SAAS,eAAA,EACT,KAAK,WAAA,EACL,OAAO,aAAA,EACP,gBAAgB,sBAAA,EAChB,QAAQ,cAAA,EACR,SAAS,eAAA,EACW,eAAe,yBAAA,EACrB,SAAS,mBAAA,EACvB,aAAa,mBAAA,EACb,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,WAAW,iBAAA,EACX,mBAAmB,yBACP,CAAC;QAEf,IAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEtC,IAAM,UAAU,GAAG;YACjB,EAAE,IAAA;YACF,KAAK,OAAA;YACL,UAAU,YAAA;YACV,QAAQ,UAAA;YACR,KAAK,OAAA;YACL,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;YAC/B,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;YAC1C,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY;YACzD,QAAQ,UAAA;YACR,SAAS,WAAA;YACT,KAAK,EAAE,SAAS,IAAI,EAAE;YACtB,SAAS,EAAE,cAAc;YACzB,WAAW,aAAA;YACX,KAAK,EAAE,MAAM;YACb,GAAG,EAAE,IAAI,CAAC,QAAQ;YAClB,OAAO,SAAA;YACP,SAAS,WAAA;YACT,YAAY,EAAE,KAAK;YACnB,kBAAkB,EAAE,eAAe;YACnC,eAAe,EAAE,IAAI,CAAC,MAAM;YAC5B,YAAY,EAAE,SAAS;YACvB,aAAa,eAAA;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;QAEF,IAAM,sBAAsB,GAAG;YAC7B,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,CAAC;YACP,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;SAC5B,CAAC;QAEF,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC;YACjD,OAAO,oBAAC,0BAA0B,eAAK,UAAU,EAAM,sBAAsB,EAAI,CAAC;QACpF,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,CACL,oBAAC,WAAW,eACN,UAAU,IACd,IAAI,EAAC,MAAM,EACX,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,mBAAmB,IACvC,CACH,CAAC;YACJ,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,mBAAmB,EAAE,CAAC;gBAChD,OAAO,oBAAC,0BAA0B,eAAK,UAAU,EAAM,sBAAsB,EAAI,CAAC;YACpF,CAAC;YAED,OAAO,oBAAC,KAAK,eAAK,UAAU,EAAI,CAAC;QACnC,CAAC;QAEO,IAAA,WAAW,GAAK,IAAI,CAAC,QAAQ,EAAE,YAApB,CAAqB;QACxC,OAAO,CACL,oBAAC,aAAa,IACZ,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAC,MAAM,EACZ,GAAG,EAAE,gBAAgB,sBACH,eAAe,mBAClB,IAAI,CAAC,MAAM,EAC1B,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EACnE,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAE9C,aAAa,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAClD,CACjB,CAAC;IACJ,CAAC;;IAtVa,gCAAmB,GAAG,cAAc,AAAjB,CAAkB;IACrC,wBAAW,GAAG,cAAc,AAAjB,CAAkB;IAE7B,yBAAY,GAA0B;QAClD,UAAU,EAAE,UAAC,IAAS,IAAK,OAAA,IAAI,EAAJ,CAAI;QAC/B,WAAW,EAAE,UAAC,IAAS,IAAK,OAAA,IAAI,EAAJ,CAAI;QAChC,eAAe,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI;QAC3B,aAAa,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;QAC9B,aAAa,EAAE,qBAAqB,CAAC,OAAO;QAC5C,cAAc,EAAE;YACd,IAAI;QACN,CAAC;QACD,cAAc,EAAE;YACd,IAAI;QACN,CAAC;QACD,KAAK,EAAE,GAAG;QACV,aAAa,EAAE,OAAO;KACvB,AAdyB,CAcxB;IAlBS,YAAY;QAJxB,qBAAqB;QACrB,gBAAgB;QAChB,QAAQ;QACR,QAAQ;OACI,YAAY,CAsZxB;IAAD,mBAAC;CAAA,AAtZD,CAAqC,KAAK,CAAC,SAAS,GAsZnD;SAtZY,YAAY","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\n\nimport type { ComboBoxExtendedItem, ComboBoxViewMode } from '../../components/ComboBox/index.js';\nimport type { InputIconType, InputProps, ShowClearIcon } from '../../components/Input/index.js';\nimport { Input } from '../../components/Input/index.js';\nimport type { MaskedInputOnBeforePasteValue, MaskedInputProps } from '../../components/MaskedInput/index.js';\nimport { MaskedInput } from '../../components/MaskedInput/index.js';\nimport { getStyles as getMaskedInputStyles } from '../../components/MaskedInput/MaskedInput.styles.js';\nimport type { MenuItemState } from '../../components/MenuItem/index.js';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator.js';\nimport { Spinner } from '../../components/Spinner/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { getMenuPositions } from '../../lib/getMenuPositions.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 } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { getRandomID, isNonNullable } from '../../lib/utils.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport type { CommonProps } from '../CommonWrapper/index.js';\nimport { CommonWrapper } from '../CommonWrapper/index.js';\nimport { LoadingIcon } from '../icons2022/LoadingIcon.js';\nimport { InputLikeText } from '../InputLikeText/index.js';\nimport { InternalTextareaWithLayout } from '../InternalTextareaWithLayout/InternalTextareaWithLayout.js';\nimport type { Menu } from '../Menu/index.js';\nimport { MobilePopup } from '../MobilePopup/index.js';\nimport { Popup } from '../Popup/index.js';\nimport { RenderLayer } from '../RenderLayer/index.js';\nimport { ZIndex } from '../ZIndex/index.js';\nimport { ArrowDownIcon } from './ArrowDownIcon.js';\nimport { ComboBoxMenu } from './ComboBoxMenu.js';\nimport { CustomComboBoxDataTids } from './CustomComboBox.js';\nimport { getStyles } from './CustomComboBox.styles.js';\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes.js';\nimport { getComboBoxTheme } from './getComboBoxTheme.js';\n\ninterface ComboBoxViewProps<T>\n extends\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps,\n Partial<Pick<MaskedInputProps, 'mask' | 'maskChar' | 'formatChars'>> {\n align?: 'left' | 'center' | 'right';\n autoFocus?: boolean;\n borderless?: boolean;\n disablePortal?: boolean;\n disabled?: boolean;\n editing?: boolean;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n items?: Nullable<Array<ComboBoxExtendedItem<T>>>;\n loading?: boolean;\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n menuAlign?: 'left' | 'right';\n opened?: boolean;\n drawArrow?: boolean;\n placeholder?: string;\n size?: SizeProp;\n textValue?: string;\n totalCount?: number;\n value?: Nullable<T>;\n showClearIcon?: ShowClearIcon;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: string | number;\n maxLength?: number;\n maxMenuHeight?: number | string;\n leftIcon?: InputIconType;\n rightIcon?: InputIconType;\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n\n onBeforePasteInMask?: MaskedInputOnBeforePasteValue;\n onValueChange?: (value: T) => void;\n onClickOutside?: (e: Event) => void;\n onFocus?: () => void;\n onMobileClose?: () => void;\n onFocusOutside?: () => void;\n onInputBlur?: () => void;\n onInputValueChange?: (value: string) => void;\n onInputFocus?: () => void;\n onInputClick?: () => void;\n onArrowClick?: () => void;\n onClearCrossClick?: () => void;\n onInputKeyDown?: (e: React.KeyboardEvent) => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseOver?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n renderItem?: (item: T, state: MenuItemState) => React.ReactNode;\n itemWrapper?: (item: T) => React.ComponentType;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderValue?: (item: T) => React.ReactNode;\n renderAddButton?: (query?: string) => React.ReactNode;\n repeatRequest?: () => void;\n requestStatus?: ComboBoxRequestStatus;\n refInput?: (input: Nullable<Input | InternalTextareaWithLayout>) => void;\n refMenu?: (menu: Nullable<Menu>) => void;\n refInputLikeText?: (inputLikeText: Nullable<InputLikeText>) => void;\n viewMode?: ComboBoxViewMode;\n maxRows?: number;\n preventIconsOffset?: boolean;\n}\n\ntype DefaultProps<T> = Required<\n Pick<\n ComboBoxViewProps<T>,\n | 'renderItem'\n | 'renderValue'\n | 'renderAddButton'\n | 'repeatRequest'\n | 'requestStatus'\n | 'onClickOutside'\n | 'onFocusOutside'\n | 'width'\n | 'showClearIcon'\n >\n>;\n\nexport const ComboBoxViewIds = {\n menu: 'ComboBoxView__menu',\n arrow: 'ComboBoxView__arrow',\n};\n\ninterface ComboBoxViewState {\n anchorElement: Nullable<Element>;\n clearCrossShowed: boolean;\n}\n\n@withRenderEnvironment\n@responsiveLayout\n@rootNode\n@withSize\nexport class ComboBoxView<T> extends React.Component<ComboBoxViewProps<T>, ComboBoxViewState> {\n public static __KONTUR_REACT_UI__ = 'ComboBoxView';\n public static displayName = 'ComboBoxView';\n\n public static defaultProps: DefaultProps<unknown> = {\n renderItem: (item: any) => item,\n renderValue: (item: any) => item,\n renderAddButton: () => null,\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n onClickOutside: () => {\n /**/\n },\n onFocusOutside: () => {\n /**/\n },\n width: 250,\n showClearIcon: 'never',\n };\n\n private getProps = createPropsGetter(ComboBoxView.defaultProps);\n\n public getRootNode!: TGetRootNode;\n private input: Nullable<Input | InternalTextareaWithLayout>;\n private setRootNode!: TSetRootNode;\n private mobileInput: Nullable<Input> = null;\n private isMobileLayout!: boolean;\n private dropdownContainerRef = React.createRef<Popup>();\n private styles!: ReturnType<typeof getStyles>;\n private maskedInputStyles!: ReturnType<typeof getMaskedInputStyles>;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private theme!: Theme;\n private size!: SizeProp;\n private menuId = ComboBoxViewIds.menu + getRandomID();\n\n public state: ComboBoxViewState = {\n anchorElement: null,\n clearCrossShowed: this.props.showClearIcon === 'always' && !!this.props.value?.toString(),\n };\n\n public componentDidMount() {\n this.updateAnchorElement();\n\n if (this.props.autoFocus && this.props.onFocus) {\n this.props.onFocus();\n }\n }\n\n updateAnchorElement() {\n const parent = this.getParent();\n const anchorElement = this.state.anchorElement;\n\n if (anchorElement !== parent) {\n this.setState({\n anchorElement: parent,\n });\n }\n }\n\n public componentDidUpdate(prevProps: ComboBoxViewProps<T>) {\n const { input, props } = this;\n\n this.updateAnchorElement();\n\n if (props.editing && !prevProps.editing && input) {\n input.focus();\n }\n }\n\n public render() {\n this.styles = getStyles(this.emotion);\n this.maskedInputStyles = getMaskedInputStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getComboBoxTheme(theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const { onMouseEnter, onMouseLeave, onMouseOver, opened } = this.props;\n const { onClickOutside, onFocusOutside, width } = this.getProps();\n\n const isMobile = this.isMobileLayout;\n\n const input = this.renderInput();\n\n return (\n <CommonWrapper {...this.props}>\n <RenderLayer onClickOutside={onClickOutside} onFocusOutside={onFocusOutside} active={opened}>\n <span\n data-tid={CustomComboBoxDataTids.comboBoxView}\n style={{ width }}\n className={this.styles.root()}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n ref={this.setRootNode}\n >\n {input}\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n private getComboBoxMenu = () => {\n const {\n items,\n loading,\n opened,\n refMenu,\n maxMenuHeight,\n renderTotalCount,\n renderNotFound,\n totalCount,\n preventIconsOffset,\n } = this.props;\n\n const { repeatRequest, requestStatus, renderItem, itemWrapper } = this.getProps();\n return (\n <ComboBoxMenu\n hasMargin={false}\n menuId={this.menuId}\n items={items}\n loading={loading}\n maxMenuHeight={maxMenuHeight}\n onValueChange={this.handleItemSelect}\n opened={opened}\n refMenu={refMenu}\n renderTotalCount={renderTotalCount}\n renderItem={renderItem}\n renderNotFound={renderNotFound}\n itemWrapper={itemWrapper}\n renderAddButton={this.renderAddButton}\n repeatRequest={repeatRequest}\n requestStatus={requestStatus}\n totalCount={totalCount}\n isMobile={this.isMobileLayout}\n size={this.size}\n preventIconsOffset={preventIconsOffset}\n />\n );\n };\n\n private renderMenu = () => {\n const { opened, menuPos, menuAlign } = this.getProps();\n const { anchorElement } = this.state;\n\n return (\n opened &&\n anchorElement && (\n <Popup\n opened\n hasShadow\n tryBestFallbackPosition\n minWidth=\"100%\"\n anchorElement={anchorElement}\n priority={ZIndex.priorities.PopupMenu}\n positions={getMenuPositions(menuPos, menuAlign)}\n disablePortal={this.props.disablePortal}\n margin={parseInt(this.theme.menuOffsetY) - 1}\n ref={this.dropdownContainerRef}\n >\n {this.getComboBoxMenu()}\n </Popup>\n )\n );\n };\n\n private renderMobileMenu = () => {\n let rightIcon = null;\n\n const { loading, items, opened, onFocus, onInputValueChange, onInputKeyDown, placeholder, textValue } = this.props;\n if (loading && items && !!items.length) {\n rightIcon = this.renderSpinner();\n }\n\n const themeGTE6_1 = isThemeGTE(this.theme, '6.1');\n const inputProps: InputProps = {\n autoComplete: 'off',\n autoFocus: true,\n width: '100%',\n onFocus,\n onValueChange: onInputValueChange,\n onKeyDown: onInputKeyDown,\n value: textValue,\n placeholder,\n rightIcon,\n size: themeGTE6_1 ? this.size : undefined,\n };\n\n const themeDependantProps = themeGTE6_1\n ? {\n footerChildComponent: <Input ref={this.refMobileInput} {...inputProps} />,\n size: this.size,\n }\n : {\n headerChildComponent: <Input ref={this.refMobileInput} {...inputProps} />,\n };\n\n return (\n opened && (\n <MobilePopup {...themeDependantProps} onCloseRequest={this.props.onMobileClose} opened>\n {this.getComboBoxMenu()}\n </MobilePopup>\n )\n );\n };\n\n private getParent = () => {\n return getRootNode(this);\n };\n\n private renderAddButton = (): React.ReactNode => {\n return this.getProps().renderAddButton(this.props.textValue);\n };\n\n private renderInput(): React.ReactNode {\n const isMobile = this.isMobileLayout;\n\n const {\n id,\n align,\n borderless,\n disabled,\n editing,\n error,\n onFocus,\n onInputBlur,\n onInputValueChange,\n onInputFocus,\n onInputClick,\n onInputKeyDown,\n placeholder,\n textValue,\n value,\n warning,\n refInputLikeText,\n leftIcon,\n inputMode,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n showClearIcon,\n mask,\n maskChar,\n formatChars,\n onBeforePasteInMask,\n } = this.props;\n\n const rightIcon = this.getRightIcon();\n\n const inputProps = {\n id,\n align,\n borderless,\n disabled,\n error,\n maxLength: this.props.maxLength,\n onBlur: isMobile ? undefined : onInputBlur,\n onValueChange: onInputValueChange,\n onFocus: onInputFocus,\n onClick: isMobile ? this.handleMobileFocus : onInputClick,\n leftIcon,\n rightIcon,\n value: textValue || '',\n onKeyDown: onInputKeyDown,\n placeholder,\n width: '100%',\n ref: this.refInput,\n warning,\n inputMode,\n autoComplete: 'off',\n 'aria-describedby': ariaDescribedby,\n 'aria-controls': this.menuId,\n 'aria-label': ariaLabel,\n showClearIcon,\n size: this.size,\n };\n\n const multilineTextareaProps = {\n autoResize: true,\n rows: 1,\n extraRow: false,\n maxRows: this.props.maxRows,\n };\n\n if (this.props.viewMode === 'multiline' && !mask) {\n return <InternalTextareaWithLayout {...inputProps} {...multilineTextareaProps} />;\n }\n\n if (editing) {\n if (mask) {\n return (\n <MaskedInput\n {...inputProps}\n type=\"text\"\n mask={mask}\n maskChar={maskChar}\n formatChars={formatChars}\n onBeforePasteValue={onBeforePasteInMask}\n />\n );\n }\n\n if (this.props.viewMode === 'multiline-editing') {\n return <InternalTextareaWithLayout {...inputProps} {...multilineTextareaProps} />;\n }\n\n return <Input {...inputProps} />;\n }\n\n const { renderValue } = this.getProps();\n return (\n <InputLikeText\n id={id}\n align={align}\n borderless={borderless}\n error={error}\n onFocus={onFocus}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n disabled={disabled}\n warning={warning}\n placeholder={placeholder}\n size={this.size}\n width=\"100%\"\n ref={refInputLikeText}\n aria-describedby={ariaDescribedby}\n aria-controls={this.menuId}\n showClearIcon={showClearIcon}\n className={this.cx(mask && this.maskedInputStyles.root(this.theme))}\n onClearCrossClick={this.props.onClearCrossClick}\n >\n {isNonNullable(value) && renderValue ? renderValue(value) : null}\n </InputLikeText>\n );\n }\n\n private handleMobileFocus = () => {\n this.props.onInputClick?.();\n\n this.mobileInput?.focus();\n };\n\n private handleItemSelect = (item: T) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(item);\n }\n\n if (this.isMobileLayout) {\n this.props.onMobileClose?.();\n }\n };\n\n private refInput = (input: Nullable<Input | InternalTextareaWithLayout>) => {\n if (this.props.refInput) {\n this.props.refInput(input);\n }\n this.input = input;\n };\n\n private renderSpinner = () => (\n <span className={this.styles.spinnerWrapper()}>\n <Spinner size=\"small\" caption=\"\" dimmed />\n </span>\n );\n\n private getRightIcon = () => {\n const { loading, items, drawArrow, rightIcon } = this.props;\n const size = this.size;\n\n if (loading && items && !!items.length) {\n return <LoadingIcon size={size} />;\n }\n\n if (rightIcon || drawArrow) {\n return (\n rightIcon || (\n <ArrowDownIcon\n data-tid={ComboBoxViewIds.arrow}\n size={size}\n onMouseDown={(event) => event.preventDefault()}\n onClick={this.handleArrowClick}\n />\n )\n );\n }\n\n return null;\n };\n\n private refMobileInput = (input: Nullable<Input>) => {\n this.mobileInput = input;\n };\n\n private handleArrowClick = (event: React.MouseEvent) => {\n event.preventDefault();\n this.props.onArrowClick?.();\n };\n}\n"]}
1
+ {"version":3,"file":"ComboBoxView.js","sourceRoot":"","sources":["ComboBoxView.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\n\nimport type { ComboBoxExtendedItem, ComboBoxViewMode } from '../../components/ComboBox/index.js';\nimport type { InputIconType, InputProps, ShowClearIcon } from '../../components/Input/index.js';\nimport { Input } from '../../components/Input/index.js';\nimport type { MaskedInputOnBeforePasteValue, MaskedInputProps } from '../../components/MaskedInput/index.js';\nimport { MaskedInput } from '../../components/MaskedInput/index.js';\nimport { getStyles as getMaskedInputStyles } from '../../components/MaskedInput/MaskedInput.styles.js';\nimport type { MenuItemState } from '../../components/MenuItem/index.js';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator.js';\nimport { Spinner } from '../../components/Spinner/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { getMenuPositions } from '../../lib/getMenuPositions.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 { ClassNames } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { getRandomID, isNonNullable } from '../../lib/utils.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport type { CommonProps } from '../CommonWrapper/index.js';\nimport { CommonWrapper } from '../CommonWrapper/index.js';\nimport { LoadingIcon } from '../icons2022/LoadingIcon.js';\nimport { InputLikeText } from '../InputLikeText/index.js';\nimport { InternalTextareaWithLayout } from '../InternalTextareaWithLayout/InternalTextareaWithLayout.js';\nimport type { Menu } from '../Menu/index.js';\nimport { MobilePopup } from '../MobilePopup/index.js';\nimport { Popup } from '../Popup/index.js';\nimport { RenderLayer } from '../RenderLayer/index.js';\nimport { ZIndex } from '../ZIndex/index.js';\nimport { ArrowDownIcon } from './ArrowDownIcon.js';\nimport { ComboBoxMenu } from './ComboBoxMenu.js';\nimport { CustomComboBoxDataTids } from './CustomComboBox.js';\nimport { getStyles } from './CustomComboBox.styles.js';\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes.js';\nimport { getComboBoxTheme } from './getComboBoxTheme.js';\n\ninterface ComboBoxViewProps<T>\n extends\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps,\n Partial<Pick<MaskedInputProps, 'mask' | 'maskChar' | 'formatChars'>> {\n align?: 'left' | 'center' | 'right';\n autoFocus?: boolean;\n borderless?: boolean;\n disablePortal?: boolean;\n disabled?: boolean;\n editing?: boolean;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n items?: Nullable<Array<ComboBoxExtendedItem<T>>>;\n loading?: boolean;\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n menuAlign?: 'left' | 'right';\n opened?: boolean;\n drawArrow?: boolean;\n placeholder?: string;\n size?: SizeProp;\n textValue?: string;\n totalCount?: number;\n value?: Nullable<T>;\n showClearIcon?: ShowClearIcon;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: string | number;\n maxLength?: number;\n maxMenuHeight?: number | string;\n leftIcon?: InputIconType;\n rightIcon?: InputIconType;\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n\n onBeforePasteInMask?: MaskedInputOnBeforePasteValue;\n onValueChange?: (value: T) => void;\n onClickOutside?: (e: Event) => void;\n onFocus?: () => void;\n onMobileClose?: () => void;\n onFocusOutside?: () => void;\n onInputBlur?: () => void;\n onInputValueChange?: (value: string) => void;\n onInputFocus?: () => void;\n onInputClick?: () => void;\n onArrowClick?: () => void;\n onClearCrossClick?: () => void;\n onInputKeyDown?: (e: React.KeyboardEvent) => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseOver?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n renderItem?: (item: T, state: MenuItemState) => React.ReactNode;\n itemWrapper?: (item: T) => React.ComponentType;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderValue?: (item: T) => React.ReactNode;\n renderAddButton?: (query?: string) => React.ReactNode;\n repeatRequest?: () => void;\n requestStatus?: ComboBoxRequestStatus;\n refInput?: (input: Nullable<Input | InternalTextareaWithLayout>) => void;\n refMenu?: (menu: Nullable<Menu>) => void;\n refInputLikeText?: (inputLikeText: Nullable<InputLikeText>) => void;\n viewMode?: ComboBoxViewMode;\n maxRows?: number;\n preventIconsOffset?: boolean;\n}\n\ntype DefaultProps<T> = Required<\n Pick<\n ComboBoxViewProps<T>,\n | 'renderItem'\n | 'renderValue'\n | 'renderAddButton'\n | 'repeatRequest'\n | 'requestStatus'\n | 'onClickOutside'\n | 'onFocusOutside'\n | 'showClearIcon'\n >\n>;\n\nexport const ComboBoxViewIds = {\n menu: 'ComboBoxView__menu',\n arrow: 'ComboBoxView__arrow',\n};\n\ninterface ComboBoxViewState {\n anchorElement: Nullable<Element>;\n clearCrossShowed: boolean;\n}\n\n@withRenderEnvironment\n@responsiveLayout\n@rootNode\n@withSize\nexport class ComboBoxView<T> extends React.Component<ComboBoxViewProps<T>, ComboBoxViewState> {\n public static __KONTUR_REACT_UI__ = 'ComboBoxView';\n public static displayName = 'ComboBoxView';\n\n public static defaultProps: DefaultProps<unknown> = {\n renderItem: (item: any) => item,\n renderValue: (item: any) => item,\n renderAddButton: () => null,\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n onClickOutside: () => {\n /**/\n },\n onFocusOutside: () => {\n /**/\n },\n showClearIcon: 'never',\n };\n\n private getProps = createPropsGetter(ComboBoxView.defaultProps);\n\n public getRootNode!: TGetRootNode;\n private input: Nullable<Input | InternalTextareaWithLayout>;\n private setRootNode!: TSetRootNode;\n private mobileInput: Nullable<Input> = null;\n private isMobileLayout!: boolean;\n private dropdownContainerRef = React.createRef<Popup>();\n private styles!: ReturnType<typeof getStyles>;\n private maskedInputStyles!: ReturnType<typeof getMaskedInputStyles>;\n private cx!: ClassNames;\n private theme!: Theme;\n private size!: SizeProp;\n private menuId = ComboBoxViewIds.menu + getRandomID();\n\n public state: ComboBoxViewState = {\n anchorElement: null,\n clearCrossShowed: this.props.showClearIcon === 'always' && !!this.props.value?.toString(),\n };\n\n public componentDidMount() {\n this.updateAnchorElement();\n\n if (this.props.autoFocus && this.props.onFocus) {\n this.props.onFocus();\n }\n }\n\n updateAnchorElement() {\n const parent = this.getParent();\n const anchorElement = this.state.anchorElement;\n\n if (anchorElement !== parent) {\n this.setState({\n anchorElement: parent,\n });\n }\n }\n\n public componentDidUpdate(prevProps: ComboBoxViewProps<T>) {\n const { input, props } = this;\n\n this.updateAnchorElement();\n\n if (props.editing && !prevProps.editing && input) {\n input.focus();\n }\n }\n\n public render() {\n this.styles = getStyles();\n this.maskedInputStyles = getMaskedInputStyles();\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getComboBoxTheme(theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const { onMouseEnter, onMouseLeave, onMouseOver, opened } = this.props;\n const { onClickOutside, onFocusOutside } = this.getProps();\n const { width } = this.props;\n\n const isMobile = this.isMobileLayout;\n\n const input = this.renderInput();\n\n return (\n <CommonWrapper {...this.props}>\n <RenderLayer onClickOutside={onClickOutside} onFocusOutside={onFocusOutside} active={opened}>\n <span\n data-tid={CustomComboBoxDataTids.comboBoxView}\n style={width === undefined ? undefined : { width }}\n className={this.cx(this.styles.root(), { [this.styles.defaultWidth()]: width === undefined })}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n ref={this.setRootNode}\n >\n {input}\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n private getComboBoxMenu = () => {\n const {\n items,\n loading,\n opened,\n refMenu,\n maxMenuHeight,\n renderTotalCount,\n renderNotFound,\n totalCount,\n preventIconsOffset,\n } = this.props;\n\n const { repeatRequest, requestStatus, renderItem, itemWrapper } = this.getProps();\n return (\n <ComboBoxMenu\n hasMargin={false}\n menuId={this.menuId}\n items={items}\n loading={loading}\n maxMenuHeight={maxMenuHeight}\n onValueChange={this.handleItemSelect}\n opened={opened}\n refMenu={refMenu}\n renderTotalCount={renderTotalCount}\n renderItem={renderItem}\n renderNotFound={renderNotFound}\n itemWrapper={itemWrapper}\n renderAddButton={this.renderAddButton}\n repeatRequest={repeatRequest}\n requestStatus={requestStatus}\n totalCount={totalCount}\n isMobile={this.isMobileLayout}\n size={this.size}\n preventIconsOffset={preventIconsOffset}\n />\n );\n };\n\n private renderMenu = () => {\n const { opened, menuPos, menuAlign } = this.getProps();\n const { anchorElement } = this.state;\n\n return (\n opened &&\n anchorElement && (\n <Popup\n opened\n hasShadow\n tryBestFallbackPosition\n minWidth=\"100%\"\n anchorElement={anchorElement}\n priority={ZIndex.priorities.PopupMenu}\n positions={getMenuPositions(menuPos, menuAlign)}\n disablePortal={this.props.disablePortal}\n margin={parseInt(this.theme.menuOffsetY) - 1}\n ref={this.dropdownContainerRef}\n >\n {this.getComboBoxMenu()}\n </Popup>\n )\n );\n };\n\n private renderMobileMenu = () => {\n let rightIcon = null;\n\n const { loading, items, opened, onFocus, onInputValueChange, onInputKeyDown, placeholder, textValue } = this.props;\n if (loading && items && !!items.length) {\n rightIcon = this.renderSpinner();\n }\n\n const themeGTE6_1 = isThemeGTE(this.theme, '6.1');\n const inputProps: InputProps = {\n autoComplete: 'off',\n autoFocus: true,\n width: '100%',\n onFocus,\n onValueChange: onInputValueChange,\n onKeyDown: onInputKeyDown,\n value: textValue,\n placeholder,\n rightIcon,\n size: themeGTE6_1 ? this.size : undefined,\n };\n\n const themeDependantProps = themeGTE6_1\n ? {\n footerChildComponent: <Input ref={this.refMobileInput} {...inputProps} />,\n size: this.size,\n }\n : {\n headerChildComponent: <Input ref={this.refMobileInput} {...inputProps} />,\n };\n\n return (\n opened && (\n <MobilePopup {...themeDependantProps} onCloseRequest={this.props.onMobileClose} opened>\n {this.getComboBoxMenu()}\n </MobilePopup>\n )\n );\n };\n\n private getParent = () => {\n return getRootNode(this);\n };\n\n private renderAddButton = (): React.ReactNode => {\n return this.getProps().renderAddButton(this.props.textValue);\n };\n\n private renderInput(): React.ReactNode {\n const isMobile = this.isMobileLayout;\n\n const {\n id,\n align,\n borderless,\n disabled,\n editing,\n error,\n onFocus,\n onInputBlur,\n onInputValueChange,\n onInputFocus,\n onInputClick,\n onInputKeyDown,\n placeholder,\n textValue,\n value,\n warning,\n refInputLikeText,\n leftIcon,\n inputMode,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n showClearIcon,\n mask,\n maskChar,\n formatChars,\n onBeforePasteInMask,\n } = this.props;\n\n const rightIcon = this.getRightIcon();\n\n const inputProps = {\n id,\n align,\n borderless,\n disabled,\n error,\n maxLength: this.props.maxLength,\n onBlur: isMobile ? undefined : onInputBlur,\n onValueChange: onInputValueChange,\n onFocus: onInputFocus,\n onClick: isMobile ? this.handleMobileFocus : onInputClick,\n leftIcon,\n rightIcon,\n value: textValue || '',\n onKeyDown: onInputKeyDown,\n placeholder,\n width: '100%',\n ref: this.refInput,\n warning,\n inputMode,\n autoComplete: 'off',\n 'aria-describedby': ariaDescribedby,\n 'aria-controls': this.menuId,\n 'aria-label': ariaLabel,\n showClearIcon,\n size: this.size,\n };\n\n const multilineTextareaProps = {\n autoResize: true,\n rows: 1,\n extraRow: false,\n maxRows: this.props.maxRows,\n };\n\n if (this.props.viewMode === 'multiline' && !mask) {\n return <InternalTextareaWithLayout {...inputProps} {...multilineTextareaProps} />;\n }\n\n if (editing) {\n if (mask) {\n return (\n <MaskedInput\n {...inputProps}\n type=\"text\"\n mask={mask}\n maskChar={maskChar}\n formatChars={formatChars}\n onBeforePasteValue={onBeforePasteInMask}\n />\n );\n }\n\n if (this.props.viewMode === 'multiline-editing') {\n return <InternalTextareaWithLayout {...inputProps} {...multilineTextareaProps} />;\n }\n\n return <Input {...inputProps} />;\n }\n\n const { renderValue } = this.getProps();\n return (\n <InputLikeText\n id={id}\n align={align}\n borderless={borderless}\n error={error}\n onFocus={onFocus}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n disabled={disabled}\n warning={warning}\n placeholder={placeholder}\n size={this.size}\n width=\"100%\"\n ref={refInputLikeText}\n aria-describedby={ariaDescribedby}\n aria-controls={this.menuId}\n showClearIcon={showClearIcon}\n className={this.cx(mask && this.maskedInputStyles.root())}\n onClearCrossClick={this.props.onClearCrossClick}\n >\n {isNonNullable(value) && renderValue ? renderValue(value) : null}\n </InputLikeText>\n );\n }\n\n private handleMobileFocus = () => {\n this.props.onInputClick?.();\n\n this.mobileInput?.focus();\n };\n\n private handleItemSelect = (item: T) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(item);\n }\n\n if (this.isMobileLayout) {\n this.props.onMobileClose?.();\n }\n };\n\n private refInput = (input: Nullable<Input | InternalTextareaWithLayout>) => {\n if (this.props.refInput) {\n this.props.refInput(input);\n }\n this.input = input;\n };\n\n private renderSpinner = () => (\n <span className={this.styles.spinnerWrapper()}>\n <Spinner size=\"small\" caption=\"\" dimmed />\n </span>\n );\n\n private getRightIcon = () => {\n const { loading, items, drawArrow, rightIcon } = this.props;\n const size = this.size;\n\n if (loading && items && !!items.length) {\n return <LoadingIcon size={size} />;\n }\n\n if (rightIcon || drawArrow) {\n return (\n rightIcon || (\n <ArrowDownIcon\n data-tid={ComboBoxViewIds.arrow}\n size={size}\n onMouseDown={(event) => event.preventDefault()}\n onClick={this.handleArrowClick}\n />\n )\n );\n }\n\n return null;\n };\n\n private refMobileInput = (input: Nullable<Input>) => {\n this.mobileInput = input;\n };\n\n private handleArrowClick = (event: React.MouseEvent) => {\n event.preventDefault();\n this.props.onArrowClick?.();\n };\n}\n"]}
@@ -1,4 +1,6 @@
1
- export declare const getStyles: import("../../lib/theming/Emotion.js").StylesGetter<{
2
- root(): string;
3
- spinnerWrapper(): string;
1
+ /** Правила — в `CustomComboBox.css`; здесь только имена классов. */
2
+ export declare const getStyles: (ignored?: unknown) => import("../../lib/theming/staticStyles.js").StaticStyles<{
3
+ root: string;
4
+ defaultWidth: string;
5
+ spinnerWrapper: string;
4
6
  }>;
@@ -1,18 +1,8 @@
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
- spinnerWrapper: function () {
13
- return css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: inline-block;\n margin-right: -5px;\n "], ["\n display: inline-block;\n margin-right: -5px;\n "])));
14
- },
15
- });
1
+ import { staticStyles } from '../../lib/theming/staticStyles.js';
2
+ /** Правила — в `CustomComboBox.css`; здесь только имена классов. */
3
+ export var getStyles = staticStyles({
4
+ root: 'react-ui-CustomComboBox-root',
5
+ defaultWidth: 'react-ui-CustomComboBox-defaultWidth',
6
+ spinnerWrapper: 'react-ui-CustomComboBox-spinnerWrapper',
16
7
  });
17
- var templateObject_1, templateObject_2;
18
8
  //# sourceMappingURL=CustomComboBox.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CustomComboBox.styles.js","sourceRoot":"","sources":["CustomComboBox.styles.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,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,cAAc;YACZ,OAAO,GAAG,oIAAA,iEAGT,KAAC;QACJ,CAAC;KACF,CAAC;AAf8D,CAe9D,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.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 spinnerWrapper() {\n return css`\n display: inline-block;\n margin-right: -5px;\n `;\n },\n}));\n"]}
1
+ {"version":3,"file":"CustomComboBox.styles.js","sourceRoot":"","sources":["CustomComboBox.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,oEAAoE;AACpE,MAAM,CAAC,IAAM,SAAS,GAAG,YAAY,CAAC;IACpC,IAAI,EAAE,8BAA8B;IACpC,YAAY,EAAE,sCAAsC;IACpD,cAAc,EAAE,wCAAwC;CACzD,CAAC,CAAC","sourcesContent":["import { staticStyles } from '../../lib/theming/staticStyles.js';\n\n/** Правила — в `CustomComboBox.css`; здесь только имена классов. */\nexport const getStyles = staticStyles({\n root: 'react-ui-CustomComboBox-root',\n defaultWidth: 'react-ui-CustomComboBox-defaultWidth',\n spinnerWrapper: 'react-ui-CustomComboBox-spinnerWrapper',\n});\n"]}
@@ -20,7 +20,6 @@ export declare class DateSelect extends React.PureComponent<DateSelectProps> {
20
20
  static defaultProps: DefaultProps;
21
21
  private getProps;
22
22
  private get isYearType();
23
- private emotion;
24
23
  private cx;
25
24
  private styles;
26
25
  private theme;
@@ -79,7 +79,7 @@ var DateSelect = /** @class */ (function (_super) {
79
79
  var isInteractiveElement = !disabled;
80
80
  var Tag = isInteractiveElement ? 'button' : 'span';
81
81
  var rootProps = {
82
- className: _this.cx(_this.styles.root(_this.theme), disabled && _this.styles.disabled()),
82
+ className: _this.cx(_this.styles.root(), disabled && _this.styles.disabled()),
83
83
  style: { width: width },
84
84
  onClick: disabled ? undefined : params.onClick,
85
85
  'aria-expanded': isInteractiveElement ? params.opened : undefined,
@@ -120,7 +120,7 @@ var DateSelect = /** @class */ (function (_super) {
120
120
  });
121
121
  DateSelect.prototype.render = function () {
122
122
  var _this = this;
123
- this.styles = getStyles(this.emotion);
123
+ this.styles = getStyles();
124
124
  return (React.createElement(ThemeContext.Consumer, null, function (theme) {
125
125
  _this.theme = theme;
126
126
  return _this.renderMain();
@@ -1 +1 @@
1
- {"version":3,"file":"DateSelect.js","sourceRoot":"","sources":["DateSelect.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport React, { createRef } from 'react';\n\nimport type { DatePickerLocale } from '../../components/DatePicker/locale/index.js';\nimport { DatePickerLocaleHelper } from '../../components/DatePicker/locale/index.js';\nimport { MenuItem } from '../../components/MenuItem/index.js';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator.js';\nimport type { ButtonParams } from '../../components/Select/index.js';\nimport { Select } from '../../components/Select/index.js';\nimport type { PopupPositionsType } from '../../internal/Popup/types.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { locale } from '../../lib/locale/decorators.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { getRandomID, isNonNullable } from '../../lib/utils.js';\nimport { ArrowCollapseCVOpenIcon16Regular } from '../icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.js';\nimport { getStyles, globalClasses } from './DateSelect.styles.js';\n\nconst defaultMinMonth = 0;\nconst defaultMaxMonth = 11;\nconst defaultMinYear = 1900;\nconst defaultMaxYear = 2099;\nconst months = range(defaultMinMonth, defaultMaxMonth);\nconst years = range(defaultMinYear, defaultMaxYear);\n\nfunction range(start: number, end: number) {\n return Array(end - start + 1)\n .fill(null)\n .map((_, index) => start + index);\n}\n\nexport interface DateSelectProps {\n disabled?: boolean;\n onValueChange: (value: number) => void;\n type?: 'month' | 'year';\n value: number;\n width?: number | string;\n minValue?: number;\n maxValue?: number;\n}\n\nexport const DateSelectDataTids = {\n caption: 'DateSelect__caption',\n menuItem: 'DateSelect__menuItem',\n menu: 'DateSelect__menu',\n} as const;\n\ntype DefaultProps = Required<Pick<DateSelectProps, 'type' | 'width'>>;\n\nconst DATE_SELECT_POSITIONS: PopupPositionsType[] = [\n 'middle left',\n 'middle right',\n 'bottom left',\n 'top left',\n 'bottom right',\n 'top right',\n];\n\n@withRenderEnvironment\n@responsiveLayout\n@locale('Calendar', DatePickerLocaleHelper)\nexport class DateSelect extends React.PureComponent<DateSelectProps> {\n public static __KONTUR_REACT_UI__ = 'DateSelect';\n public static displayName = 'DateSelect';\n\n public static defaultProps: DefaultProps = {\n type: 'year',\n width: 'auto',\n };\n\n private getProps = createPropsGetter(DateSelect.defaultProps);\n\n private get isYearType() {\n return this.getProps().type === 'year';\n }\n\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private readonly selectRef = createRef<Select<number, number>>();\n\n public render() {\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 menuId = DateSelectDataTids.menu + getRandomID();\n\n private renderButton = (params: ButtonParams) => {\n const { value, disabled } = this.props;\n const width = this.getProps().width;\n const isInteractiveElement = !disabled;\n const Tag = isInteractiveElement ? 'button' : 'span';\n const rootProps = {\n className: this.cx(this.styles.root(this.theme), disabled && this.styles.disabled()),\n style: { width },\n onClick: disabled ? undefined : params.onClick,\n 'aria-expanded': isInteractiveElement ? params.opened : undefined,\n 'aria-controls': !disabled ? this.menuId : undefined,\n 'aria-label': isInteractiveElement\n ? `${this.locale.selectChosenAriaLabel} ${\n this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(value)}`\n : undefined,\n };\n\n return (\n <Tag {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={this.styles.caption()}>\n {this.getItem(value)}\n </div>\n {isInteractiveElement && (\n <ArrowCollapseCVOpenIcon16Regular className={this.cx(globalClasses.arrow)} color=\"#ADADAD\" />\n )}\n </Tag>\n );\n };\n\n public close(): void {\n this.selectRef.current?.close();\n }\n\n private renderMain() {\n const { value, disabled, onValueChange } = this.getProps();\n const theme = {\n btnBorderRadiusSmall: this.theme.menuItemBorderRadius,\n };\n\n return (\n <Select\n use=\"text\"\n value={value}\n ref={this.selectRef}\n theme={theme}\n disabled={disabled}\n _renderButton={this.renderButton}\n menuPos=\"middle\"\n positions={DATE_SELECT_POSITIONS}\n renderValue={this.getItem}\n items={this.getItems()}\n menuOffset={parseInt(this.theme.menuPaddingX) + parseInt(this.theme.menuItemPaddingXSmall)}\n onValueChange={onValueChange}\n aria-label={`${this.locale.selectChosenAriaLabel} ${\n this.isYearType ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(value)}`}\n />\n );\n }\n\n private isOptionDisabled(option: number) {\n const { minValue, maxValue } = this.getProps();\n\n if (isNonNullable(maxValue) && isNonNullable(minValue)) {\n return option > maxValue || option < minValue;\n }\n\n if (isNonNullable(minValue)) {\n return option < minValue;\n }\n\n if (isNonNullable(maxValue)) {\n return option > maxValue;\n }\n }\n\n private getItems = () => {\n const { value, onValueChange } = this.getProps();\n const options = this.isYearType ? years : months;\n\n return options.map((option) => {\n const isSelected = option === value;\n const isOptionDisabled = this.isOptionDisabled(option);\n\n return (\n <MenuItem\n scrollIntoView={isSelected}\n disabled={isOptionDisabled}\n state={isSelected ? 'selected' : null}\n onClick={() => onValueChange(option)}\n aria-label={`Выбрать ${this.isYearType ? 'год' : 'месяц'} ${this.getItem(option)}`}\n data-tid={DateSelectDataTids.menuItem}\n data-disabled={isOptionDisabled}\n key={option}\n >\n {this.getItem(option)}\n </MenuItem>\n );\n });\n };\n\n private getItem = (value: number) => {\n if (this.isYearType) {\n return value;\n }\n\n return this.locale.months?.[value];\n };\n}\n"]}
1
+ {"version":3,"file":"DateSelect.js","sourceRoot":"","sources":["DateSelect.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { createRef } from 'react';\n\nimport type { DatePickerLocale } from '../../components/DatePicker/locale/index.js';\nimport { DatePickerLocaleHelper } from '../../components/DatePicker/locale/index.js';\nimport { MenuItem } from '../../components/MenuItem/index.js';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator.js';\nimport type { ButtonParams } from '../../components/Select/index.js';\nimport { Select } from '../../components/Select/index.js';\nimport type { PopupPositionsType } from '../../internal/Popup/types.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { locale } from '../../lib/locale/decorators.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { ClassNames } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { getRandomID, isNonNullable } from '../../lib/utils.js';\nimport { ArrowCollapseCVOpenIcon16Regular } from '../icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.js';\nimport { getStyles, globalClasses } from './DateSelect.styles.js';\n\nconst defaultMinMonth = 0;\nconst defaultMaxMonth = 11;\nconst defaultMinYear = 1900;\nconst defaultMaxYear = 2099;\nconst months = range(defaultMinMonth, defaultMaxMonth);\nconst years = range(defaultMinYear, defaultMaxYear);\n\nfunction range(start: number, end: number) {\n return Array(end - start + 1)\n .fill(null)\n .map((_, index) => start + index);\n}\n\nexport interface DateSelectProps {\n disabled?: boolean;\n onValueChange: (value: number) => void;\n type?: 'month' | 'year';\n value: number;\n width?: number | string;\n minValue?: number;\n maxValue?: number;\n}\n\nexport const DateSelectDataTids = {\n caption: 'DateSelect__caption',\n menuItem: 'DateSelect__menuItem',\n menu: 'DateSelect__menu',\n} as const;\n\ntype DefaultProps = Required<Pick<DateSelectProps, 'type' | 'width'>>;\n\nconst DATE_SELECT_POSITIONS: PopupPositionsType[] = [\n 'middle left',\n 'middle right',\n 'bottom left',\n 'top left',\n 'bottom right',\n 'top right',\n];\n\n@withRenderEnvironment\n@responsiveLayout\n@locale('Calendar', DatePickerLocaleHelper)\nexport class DateSelect extends React.PureComponent<DateSelectProps> {\n public static __KONTUR_REACT_UI__ = 'DateSelect';\n public static displayName = 'DateSelect';\n\n public static defaultProps: DefaultProps = {\n type: 'year',\n width: 'auto',\n };\n\n private getProps = createPropsGetter(DateSelect.defaultProps);\n\n private get isYearType() {\n return this.getProps().type === 'year';\n }\n\n private cx!: ClassNames;\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private readonly selectRef = createRef<Select<number, number>>();\n\n public render() {\n this.styles = getStyles();\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 menuId = DateSelectDataTids.menu + getRandomID();\n\n private renderButton = (params: ButtonParams) => {\n const { value, disabled } = this.props;\n const width = this.getProps().width;\n const isInteractiveElement = !disabled;\n const Tag = isInteractiveElement ? 'button' : 'span';\n const rootProps = {\n className: this.cx(this.styles.root(), disabled && this.styles.disabled()),\n style: { width },\n onClick: disabled ? undefined : params.onClick,\n 'aria-expanded': isInteractiveElement ? params.opened : undefined,\n 'aria-controls': !disabled ? this.menuId : undefined,\n 'aria-label': isInteractiveElement\n ? `${this.locale.selectChosenAriaLabel} ${\n this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(value)}`\n : undefined,\n };\n\n return (\n <Tag {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={this.styles.caption()}>\n {this.getItem(value)}\n </div>\n {isInteractiveElement && (\n <ArrowCollapseCVOpenIcon16Regular className={this.cx(globalClasses.arrow)} color=\"#ADADAD\" />\n )}\n </Tag>\n );\n };\n\n public close(): void {\n this.selectRef.current?.close();\n }\n\n private renderMain() {\n const { value, disabled, onValueChange } = this.getProps();\n const theme = {\n btnBorderRadiusSmall: this.theme.menuItemBorderRadius,\n };\n\n return (\n <Select\n use=\"text\"\n value={value}\n ref={this.selectRef}\n theme={theme}\n disabled={disabled}\n _renderButton={this.renderButton}\n menuPos=\"middle\"\n positions={DATE_SELECT_POSITIONS}\n renderValue={this.getItem}\n items={this.getItems()}\n menuOffset={parseInt(this.theme.menuPaddingX) + parseInt(this.theme.menuItemPaddingXSmall)}\n onValueChange={onValueChange}\n aria-label={`${this.locale.selectChosenAriaLabel} ${\n this.isYearType ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(value)}`}\n />\n );\n }\n\n private isOptionDisabled(option: number) {\n const { minValue, maxValue } = this.getProps();\n\n if (isNonNullable(maxValue) && isNonNullable(minValue)) {\n return option > maxValue || option < minValue;\n }\n\n if (isNonNullable(minValue)) {\n return option < minValue;\n }\n\n if (isNonNullable(maxValue)) {\n return option > maxValue;\n }\n }\n\n private getItems = () => {\n const { value, onValueChange } = this.getProps();\n const options = this.isYearType ? years : months;\n\n return options.map((option) => {\n const isSelected = option === value;\n const isOptionDisabled = this.isOptionDisabled(option);\n\n return (\n <MenuItem\n scrollIntoView={isSelected}\n disabled={isOptionDisabled}\n state={isSelected ? 'selected' : null}\n onClick={() => onValueChange(option)}\n aria-label={`Выбрать ${this.isYearType ? 'год' : 'месяц'} ${this.getItem(option)}`}\n data-tid={DateSelectDataTids.menuItem}\n data-disabled={isOptionDisabled}\n key={option}\n >\n {this.getItem(option)}\n </MenuItem>\n );\n });\n };\n\n private getItem = (value: number) => {\n if (this.isYearType) {\n return value;\n }\n\n return this.locale.months?.[value];\n };\n}\n"]}
@@ -1,9 +1,9 @@
1
- import type { Theme } from '../../lib/theming/Theme.js';
2
1
  export declare const globalClasses: {
3
2
  arrow: string;
4
3
  };
5
- export declare const getStyles: import("../../lib/theming/Emotion.js").StylesGetter<{
6
- root(t: Theme): string;
7
- disabled(): string;
8
- caption(): string;
4
+ /** Правила — в `DateSelect.css`; здесь только имена классов. */
5
+ export declare const getStyles: (ignored?: unknown) => import("../../lib/theming/staticStyles.js").StaticStyles<{
6
+ root: string;
7
+ disabled: string;
8
+ caption: string;
9
9
  }>;
@@ -1,24 +1,12 @@
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';
1
+ import { prefix } from '../../lib/theming/Emotion.js';
2
+ import { staticStyles } from '../../lib/theming/staticStyles.js';
6
3
  export var globalClasses = prefix('select')({
7
4
  arrow: 'arrow',
8
5
  });
9
- export var getStyles = memoizeGetStyles(function (_a) {
10
- var css = _a.css;
11
- return ({
12
- root: function (t) {
13
- return css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n color: ", ";\n cursor: pointer;\n display: inline-flex;\n justify-content: space-between;\n font: inherit;\n font-size: ", ";\n padding: 0px;\n padding-right: 2px;\n position: relative;\n text-align: left;\n touch-action: none;\n border: none;\n line-height: ", ";\n background-color: transparent;\n box-sizing: content-box;\n\n &:hover {\n color: ", ";\n }\n\n & .", " {\n transition: fill ", " ", ";\n }\n\n &:hover .", " {\n fill: ", " !important;\n }\n "], ["\n color: ", ";\n cursor: pointer;\n display: inline-flex;\n justify-content: space-between;\n font: inherit;\n font-size: ", ";\n padding: 0px;\n padding-right: 2px;\n position: relative;\n text-align: left;\n touch-action: none;\n border: none;\n line-height: ", ";\n background-color: transparent;\n box-sizing: content-box;\n\n &:hover {\n color: ", ";\n }\n\n & .", " {\n transition: fill ", " ", ";\n }\n\n &:hover .", " {\n fill: ", " !important;\n }\n "])), t.dateSelectTextColorDefault, t.dateSelectFontSize, t.dateSelectLineHeight, t.dateSelectLinkColor, globalClasses.arrow, t.transitionDuration, t.transitionTimingFunction, globalClasses.arrow, t.dateSelectTextColorDefault);
14
- },
15
- disabled: function () {
16
- return css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n color: inherit !important; // override root:hover style\n cursor: default;\n "], ["\n color: inherit !important; // override root:hover style\n cursor: default;\n "])));
17
- },
18
- caption: function () {
19
- return css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n position: relative;\n "], ["\n position: relative;\n "])));
20
- },
21
- });
6
+ /** Правила — в `DateSelect.css`; здесь только имена классов. */
7
+ export var getStyles = staticStyles({
8
+ root: 'react-ui-DateSelect-root',
9
+ disabled: 'react-ui-DateSelect-disabled',
10
+ caption: 'react-ui-DateSelect-caption',
22
11
  });
23
- var templateObject_1, templateObject_2, templateObject_3;
24
12
  //# sourceMappingURL=DateSelect.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateSelect.styles.js","sourceRoot":"","sources":["DateSelect.styles.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAGxE,MAAM,CAAC,IAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;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,YAAC,CAAQ;YACX,OAAO,GAAG,kpBAAA,iBACC,EAA4B,wIAKxB,EAAoB,4KAOlB,EAAsB,6GAK1B,EAAqB,yBAG3B,EAAmB,+BACH,EAAoB,GAAI,EAA0B,+BAG5D,EAAmB,oBACpB,EAA4B,6BAEvC,KA3BU,CAAC,CAAC,0BAA0B,EAKxB,CAAC,CAAC,kBAAkB,EAOlB,CAAC,CAAC,oBAAoB,EAK1B,CAAC,CAAC,mBAAmB,EAG3B,aAAa,CAAC,KAAK,EACH,CAAC,CAAC,kBAAkB,EAAI,CAAC,CAAC,wBAAwB,EAG5D,aAAa,CAAC,KAAK,EACpB,CAAC,CAAC,0BAA0B,EAEtC;QACJ,CAAC;QAED,QAAQ;YACN,OAAO,GAAG,kKAAA,+FAGT,KAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,GAAG,sGAAA,mCAET,KAAC;QACJ,CAAC;KACF,CAAC;AA7C8D,CA6C9D,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('select')({\n arrow: 'arrow',\n});\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root(t: Theme) {\n return css`\n color: ${t.dateSelectTextColorDefault};\n cursor: pointer;\n display: inline-flex;\n justify-content: space-between;\n font: inherit;\n font-size: ${t.dateSelectFontSize};\n padding: 0px;\n padding-right: 2px;\n position: relative;\n text-align: left;\n touch-action: none;\n border: none;\n line-height: ${t.dateSelectLineHeight};\n background-color: transparent;\n box-sizing: content-box;\n\n &:hover {\n color: ${t.dateSelectLinkColor};\n }\n\n & .${globalClasses.arrow} {\n transition: fill ${t.transitionDuration} ${t.transitionTimingFunction};\n }\n\n &:hover .${globalClasses.arrow} {\n fill: ${t.dateSelectTextColorDefault} !important;\n }\n `;\n },\n\n disabled() {\n return css`\n color: inherit !important; // override root:hover style\n cursor: default;\n `;\n },\n\n caption() {\n return css`\n position: relative;\n `;\n },\n}));\n"]}
1
+ {"version":3,"file":"DateSelect.styles.js","sourceRoot":"","sources":["DateSelect.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,MAAM,CAAC,IAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,KAAK,EAAE,OAAO;CACf,CAAC,CAAC;AAEH,gEAAgE;AAChE,MAAM,CAAC,IAAM,SAAS,GAAG,YAAY,CAAC;IACpC,IAAI,EAAE,0BAA0B;IAChC,QAAQ,EAAE,8BAA8B;IACxC,OAAO,EAAE,6BAA6B;CACvC,CAAC,CAAC","sourcesContent":["import { prefix } from '../../lib/theming/Emotion.js';\nimport { staticStyles } from '../../lib/theming/staticStyles.js';\n\nexport const globalClasses = prefix('select')({\n arrow: 'arrow',\n});\n\n/** Правила — в `DateSelect.css`; здесь только имена классов. */\nexport const getStyles = staticStyles({\n root: 'react-ui-DateSelect-root',\n disabled: 'react-ui-DateSelect-disabled',\n caption: 'react-ui-DateSelect-caption',\n});\n"]}
@@ -4,7 +4,6 @@ export declare class HideBodyVerticalScroll extends React.Component {
4
4
  static __KONTUR_REACT_UI__: string;
5
5
  static displayName: string;
6
6
  static globalObject: GlobalObject;
7
- private static emotion;
8
7
  private initialScroll;
9
8
  private master;
10
9
  componentDidMount(): void;
@@ -13,6 +12,21 @@ export declare class HideBodyVerticalScroll extends React.Component {
13
12
  render(): React.JSX.Element;
14
13
  static updateScrollVisibility: () => void;
15
14
  static hideScroll: () => void;
15
+ /**
16
+ * Ширина полосы прокрутки на момент блокировки: сколько окна не досталось
17
+ * документу, за вычетом его собственных полей.
18
+ *
19
+ * Раньше здесь звался `getScrollWidth`, а он запоминает результат первого
20
+ * измерения на всю жизнь страницы. В скриншотных прогонах истории живут в
21
+ * одном документе подряд, и значение доставалось от той из них, которая
22
+ * позвала функцию первой, — в том числе от мобильной, где полосы нет вовсе.
23
+ * Тогда компенсация становилась нулевой, страница при блокировке
24
+ * расширялась на ширину полосы, и переносы строк ехали по всему кадру.
25
+ *
26
+ * Измерение по факту стоит двух чтений и от порядка не зависит. Полосы нет —
27
+ * получится ноль, и это правильный ответ, а не потерянное значение.
28
+ */
29
+ private static measureScrollbarWidth;
16
30
  static attachStyle: (element: HTMLElement, className: string) => () => void;
17
31
  private restoreStyles;
18
32
  }
@@ -13,14 +13,11 @@ var __extends = (this && this.__extends) || (function () {
13
13
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
14
  };
15
15
  })();
16
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
17
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
18
- return cooked;
19
- };
20
16
  import React from 'react';
21
17
  import { getScrollWidth } from '../../lib/dom/getScrollWidth.js';
22
18
  import { isBrowser } from '../../lib/globalObject.js';
23
19
  import { RenderEnvironmentContext } from '../../lib/renderEnvironment/index.js';
20
+ import { HIDDEN_SCROLLBAR_MARGIN_VAR, getStyles } from './HideBodyVerticalScroll.styles.js';
24
21
  var disposeDocumentStyle = null;
25
22
  var HideBodyVerticalScroll = /** @class */ (function (_super) {
26
23
  __extends(HideBodyVerticalScroll, _super);
@@ -66,9 +63,8 @@ var HideBodyVerticalScroll = /** @class */ (function (_super) {
66
63
  };
67
64
  HideBodyVerticalScroll.prototype.render = function () {
68
65
  return (React.createElement(RenderEnvironmentContext.Consumer, null, function (_a) {
69
- var globalObject = _a.globalObject, emotion = _a.emotion;
66
+ var globalObject = _a.globalObject;
70
67
  HideBodyVerticalScroll.globalObject = globalObject;
71
- HideBodyVerticalScroll.emotion = emotion;
72
68
  return null;
73
69
  }));
74
70
  };
@@ -87,16 +83,45 @@ var HideBodyVerticalScroll = /** @class */ (function (_super) {
87
83
  var documentElement = HideBodyVerticalScroll.globalObject.document.documentElement;
88
84
  var clientHeight = documentElement.clientHeight, scrollHeight = documentElement.scrollHeight;
89
85
  var documentComputedStyle = HideBodyVerticalScroll.globalObject.getComputedStyle(documentElement);
90
- var scrollbarConst = HideBodyVerticalScroll.globalObject.getComputedStyle(documentElement).overflowY === 'scroll';
91
- var scrollWidth = clientHeight < scrollHeight || scrollbarConst ? getScrollWidth(HideBodyVerticalScroll.globalObject) : 0;
92
- var documentMargin = parseFloat(documentComputedStyle.marginRight || '');
93
- var className = generateDocumentStyle(documentMargin + scrollWidth, HideBodyVerticalScroll.emotion);
94
- disposeDocumentStyle = HideBodyVerticalScroll.attachStyle(documentElement, className);
86
+ var scrollbarConst = documentComputedStyle.overflowY === 'scroll';
87
+ var documentMargin = parseFloat(documentComputedStyle.marginRight) || 0;
88
+ var scrollWidth = clientHeight < scrollHeight || scrollbarConst
89
+ ? HideBodyVerticalScroll.measureScrollbarWidth(documentElement, documentComputedStyle)
90
+ : 0;
91
+ // Значение уходит в переменную, а не в правило: `setProperty` идёт через
92
+ // CSSOM, и `style-src-attr` его не касается — директива покрывает атрибут
93
+ // только при разборе разметки и при `setAttribute`.
94
+ documentElement.style.setProperty(HIDDEN_SCROLLBAR_MARGIN_VAR, "".concat(documentMargin + scrollWidth, "px"));
95
+ var hiddenScroll = getStyles().hiddenScroll;
96
+ disposeDocumentStyle = HideBodyVerticalScroll.attachStyle(documentElement, hiddenScroll());
97
+ };
98
+ /**
99
+ * Ширина полосы прокрутки на момент блокировки: сколько окна не досталось
100
+ * документу, за вычетом его собственных полей.
101
+ *
102
+ * Раньше здесь звался `getScrollWidth`, а он запоминает результат первого
103
+ * измерения на всю жизнь страницы. В скриншотных прогонах истории живут в
104
+ * одном документе подряд, и значение доставалось от той из них, которая
105
+ * позвала функцию первой, — в том числе от мобильной, где полосы нет вовсе.
106
+ * Тогда компенсация становилась нулевой, страница при блокировке
107
+ * расширялась на ширину полосы, и переносы строк ехали по всему кадру.
108
+ *
109
+ * Измерение по факту стоит двух чтений и от порядка не зависит. Полосы нет —
110
+ * получится ноль, и это правильный ответ, а не потерянное значение.
111
+ */
112
+ HideBodyVerticalScroll.measureScrollbarWidth = function (documentElement, computedStyle) {
113
+ var innerWidth = HideBodyVerticalScroll.globalObject.innerWidth;
114
+ if (!innerWidth) {
115
+ return getScrollWidth(HideBodyVerticalScroll.globalObject);
116
+ }
117
+ var horizontalMargins = (parseFloat(computedStyle.marginLeft) || 0) + (parseFloat(computedStyle.marginRight) || 0);
118
+ return Math.max(0, innerWidth - documentElement.clientWidth - horizontalMargins);
95
119
  };
96
120
  HideBodyVerticalScroll.attachStyle = function (element, className) {
97
121
  element.classList.add(className);
98
122
  return function () {
99
123
  element.classList.remove(className);
124
+ element.style.removeProperty(HIDDEN_SCROLLBAR_MARGIN_VAR);
100
125
  };
101
126
  };
102
127
  return HideBodyVerticalScroll;
@@ -121,8 +146,4 @@ var VerticalScrollCounter = /** @class */ (function () {
121
146
  };
122
147
  return VerticalScrollCounter;
123
148
  }());
124
- function generateDocumentStyle(documentMargin, emotion) {
125
- return emotion.css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n overflow: hidden !important;\n margin-right: ", "px !important;\n height: 100%;\n "], ["\n overflow: hidden !important;\n margin-right: ", "px !important;\n height: 100%;\n "])), documentMargin);
126
- }
127
- var templateObject_1;
128
149
  //# sourceMappingURL=HideBodyVerticalScroll.js.map