@skbkontur/react-ui 0.0.0-95a1dbe516 → 0.0.0-9ab4f802f3

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 (647) hide show
  1. package/CHANGELOG.md +120 -0
  2. package/README.md +41 -13
  3. package/cjs/components/Autocomplete/Autocomplete.js +12 -6
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Autocomplete/Autocomplete.md +76 -3
  6. package/cjs/components/Autocomplete/Autocomplete.styles.d.ts +1 -0
  7. package/cjs/components/Autocomplete/Autocomplete.styles.js +7 -1
  8. package/cjs/components/Autocomplete/Autocomplete.styles.js.map +1 -1
  9. package/cjs/components/Button/Button.js +2 -2
  10. package/cjs/components/Button/Button.js.map +1 -1
  11. package/cjs/components/Button/Button.md +38 -11
  12. package/cjs/components/Calendar/Calendar.d.ts +28 -5
  13. package/cjs/components/Calendar/Calendar.js +80 -36
  14. package/cjs/components/Calendar/Calendar.js.map +1 -1
  15. package/cjs/components/Calendar/Calendar.md +82 -1
  16. package/cjs/components/Calendar/Calendar.styles.js +1 -1
  17. package/cjs/components/Calendar/Calendar.styles.js.map +1 -1
  18. package/cjs/components/Calendar/CalendarContext.d.ts +12 -0
  19. package/cjs/components/Calendar/CalendarContext.js +16 -0
  20. package/cjs/components/Calendar/CalendarContext.js.map +1 -0
  21. package/cjs/components/Calendar/CalendarDateShape.d.ts +4 -2
  22. package/cjs/components/Calendar/CalendarDateShape.js +13 -3
  23. package/cjs/components/Calendar/CalendarDateShape.js.map +1 -1
  24. package/cjs/components/Calendar/CalendarDay.d.ts +12 -0
  25. package/cjs/components/Calendar/CalendarDay.js +79 -0
  26. package/cjs/components/Calendar/CalendarDay.js.map +1 -0
  27. package/cjs/components/Calendar/CalendarDay.md +70 -0
  28. package/cjs/components/Calendar/CalendarUtils.d.ts +2 -1
  29. package/cjs/components/Calendar/CalendarUtils.js +4 -6
  30. package/cjs/components/Calendar/CalendarUtils.js.map +1 -1
  31. package/cjs/components/Calendar/DayCellView.d.ts +4 -12
  32. package/cjs/components/Calendar/DayCellView.js +20 -42
  33. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  34. package/cjs/components/Calendar/DayCellView.styles.d.ts +2 -5
  35. package/cjs/components/Calendar/DayCellView.styles.js +37 -43
  36. package/cjs/components/Calendar/DayCellView.styles.js.map +1 -1
  37. package/cjs/components/Calendar/Month.d.ts +0 -10
  38. package/cjs/components/Calendar/Month.js +36 -88
  39. package/cjs/components/Calendar/Month.js.map +1 -1
  40. package/cjs/components/Calendar/MonthView.d.ts +3 -2
  41. package/cjs/components/Calendar/MonthView.js +47 -37
  42. package/cjs/components/Calendar/MonthView.js.map +1 -1
  43. package/cjs/components/Calendar/MonthView.styles.d.ts +3 -0
  44. package/cjs/components/Calendar/MonthView.styles.js +45 -7
  45. package/cjs/components/Calendar/MonthView.styles.js.map +1 -1
  46. package/cjs/components/Calendar/MonthViewModel.js +24 -6
  47. package/cjs/components/Calendar/MonthViewModel.js.map +1 -1
  48. package/cjs/components/Calendar/config.js +12 -6
  49. package/cjs/components/Calendar/config.js.map +1 -1
  50. package/cjs/components/Calendar/index.d.ts +1 -0
  51. package/cjs/components/Calendar/index.js +2 -1
  52. package/cjs/components/Calendar/index.js.map +1 -1
  53. package/cjs/components/Checkbox/Checkbox.js +1 -1
  54. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  55. package/cjs/components/DateInput/DateFragmentsView.js +1 -1
  56. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  57. package/cjs/components/DateInput/DateInput.js +1 -1
  58. package/cjs/components/DateInput/DateInput.js.map +1 -1
  59. package/cjs/components/DatePicker/DatePicker.d.ts +4 -1
  60. package/cjs/components/DatePicker/DatePicker.js +72 -45
  61. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  62. package/cjs/components/DatePicker/DatePicker.md +29 -1
  63. package/cjs/components/DatePicker/DatePickerHelpers.js +2 -1
  64. package/cjs/components/DatePicker/DatePickerHelpers.js.map +1 -1
  65. package/cjs/components/DatePicker/MobilePicker.d.ts +10 -0
  66. package/cjs/components/DatePicker/MobilePicker.js +118 -0
  67. package/cjs/components/DatePicker/MobilePicker.js.map +1 -0
  68. package/cjs/components/DatePicker/MobilePicker.styles.d.ts +3 -0
  69. package/cjs/components/DatePicker/MobilePicker.styles.js +8 -0
  70. package/cjs/components/DatePicker/MobilePicker.styles.js.map +1 -0
  71. package/cjs/components/DatePicker/Picker.js +1 -1
  72. package/cjs/components/DatePicker/Picker.js.map +1 -1
  73. package/cjs/components/DatePicker/getMobilePickerTheme.d.ts +2 -0
  74. package/cjs/components/DatePicker/getMobilePickerTheme.js +19 -0
  75. package/cjs/components/DatePicker/getMobilePickerTheme.js.map +1 -0
  76. package/cjs/components/Dropdown/Dropdown.js +1 -1
  77. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  78. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -1
  79. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  80. package/cjs/components/DropdownMenu/DropdownMenu.md +39 -0
  81. package/cjs/components/FileUploader/FileUploader.d.ts +2 -0
  82. package/cjs/components/FileUploader/FileUploader.js +32 -9
  83. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  84. package/cjs/components/FileUploader/FileUploader.md +29 -0
  85. package/cjs/components/FxInput/FxInput.js +1 -1
  86. package/cjs/components/FxInput/FxInput.js.map +1 -1
  87. package/cjs/components/Group/Group.js +1 -1
  88. package/cjs/components/Group/Group.js.map +1 -1
  89. package/cjs/components/Hint/Hint.d.ts +4 -3
  90. package/cjs/components/Hint/Hint.js +9 -8
  91. package/cjs/components/Hint/Hint.js.map +1 -1
  92. package/cjs/components/Input/Input.js +1 -1
  93. package/cjs/components/Input/Input.js.map +1 -1
  94. package/cjs/components/Input/Input.styles.d.ts +1 -1
  95. package/cjs/components/Input/Input.styles.js +3 -2
  96. package/cjs/components/Input/Input.styles.js.map +1 -1
  97. package/cjs/components/Input/InputLayout/InputLayout.styles.d.ts +1 -1
  98. package/cjs/components/Input/InputLayout/InputLayout.styles.js +3 -2
  99. package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
  100. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -1
  101. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  102. package/cjs/components/Kebab/Kebab.js +6 -1
  103. package/cjs/components/Kebab/Kebab.js.map +1 -1
  104. package/cjs/components/Link/Link.js +3 -2
  105. package/cjs/components/Link/Link.js.map +1 -1
  106. package/cjs/components/Loader/Loader.js +1 -1
  107. package/cjs/components/Loader/Loader.js.map +1 -1
  108. package/cjs/components/MenuItem/MenuItem.js +2 -2
  109. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  110. package/cjs/components/MiniModal/MiniModal.js +1 -1
  111. package/cjs/components/MiniModal/MiniModal.js.map +1 -1
  112. package/cjs/components/Modal/Modal.js +1 -1
  113. package/cjs/components/Modal/Modal.js.map +1 -1
  114. package/cjs/components/Modal/ModalBody.js +1 -1
  115. package/cjs/components/Modal/ModalBody.js.map +1 -1
  116. package/cjs/components/Paging/Paging.js +8 -3
  117. package/cjs/components/Paging/Paging.js.map +1 -1
  118. package/cjs/components/PasswordInput/PasswordInput.js +1 -1
  119. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  120. package/cjs/components/Radio/Radio.js +1 -1
  121. package/cjs/components/Radio/Radio.js.map +1 -1
  122. package/cjs/components/RadioGroup/RadioGroup.js +10 -1
  123. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  124. package/cjs/components/ScrollContainer/ScrollBar.js +1 -1
  125. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  126. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  127. package/cjs/components/ScrollContainer/ScrollContainer.js +6 -0
  128. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  129. package/cjs/components/Select/Select.js +6 -3
  130. package/cjs/components/Select/Select.js.map +1 -1
  131. package/cjs/components/SidePage/SidePage.js +1 -1
  132. package/cjs/components/SidePage/SidePage.js.map +1 -1
  133. package/cjs/components/SidePage/SidePageBody.js +1 -1
  134. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  135. package/cjs/components/SidePage/SidePageContainer.js +1 -1
  136. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  137. package/cjs/components/SidePage/SidePageFooter.js +1 -1
  138. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  139. package/cjs/components/SidePage/SidePageHeader.js +1 -1
  140. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  141. package/cjs/components/Spinner/Spinner.js +1 -1
  142. package/cjs/components/Spinner/Spinner.js.map +1 -1
  143. package/cjs/components/Switcher/Switcher.js +1 -1
  144. package/cjs/components/Switcher/Switcher.js.map +1 -1
  145. package/cjs/components/Tabs/Indicator.js +1 -1
  146. package/cjs/components/Tabs/Indicator.js.map +1 -1
  147. package/cjs/components/Tabs/Tab.js +2 -2
  148. package/cjs/components/Tabs/Tab.js.map +1 -1
  149. package/cjs/components/Tabs/Tabs.js +1 -1
  150. package/cjs/components/Tabs/Tabs.js.map +1 -1
  151. package/cjs/components/Textarea/Textarea.js +1 -1
  152. package/cjs/components/Textarea/Textarea.js.map +1 -1
  153. package/cjs/components/Toast/Toast.js +1 -1
  154. package/cjs/components/Toast/Toast.js.map +1 -1
  155. package/cjs/components/Toast/ToastView.js +1 -1
  156. package/cjs/components/Toast/ToastView.js.map +1 -1
  157. package/cjs/components/Toggle/Toggle.js +1 -1
  158. package/cjs/components/Toggle/Toggle.js.map +1 -1
  159. package/cjs/components/Token/Token.js +2 -1
  160. package/cjs/components/Token/Token.js.map +1 -1
  161. package/cjs/components/TokenInput/TokenInput.js +1 -1
  162. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  163. package/cjs/components/TokenInput/TokenInputMenu.js +2 -2
  164. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  165. package/cjs/components/Tooltip/Tooltip.d.ts +10 -5
  166. package/cjs/components/Tooltip/Tooltip.js +59 -20
  167. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  168. package/cjs/components/TooltipMenu/TooltipMenu.js +4 -4
  169. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  170. package/cjs/hooks/useDrop.d.ts +1 -1
  171. package/cjs/hooks/useDrop.js.map +1 -1
  172. package/cjs/index.d.ts +2 -0
  173. package/cjs/index.js +2 -0
  174. package/cjs/index.js.map +1 -1
  175. package/cjs/internal/CommonWrapper/CommonWrapper.js +2 -2
  176. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  177. package/cjs/internal/CommonWrapper/{extractCommonProps.d.ts → utils/extractCommonProps.d.ts} +2 -2
  178. package/cjs/internal/CommonWrapper/utils/extractCommonProps.js.map +1 -0
  179. package/cjs/internal/CommonWrapper/{getCommonVisualStateDataAttributes.js → utils/getCommonVisualStateDataAttributes.js} +3 -4
  180. package/cjs/internal/CommonWrapper/utils/getCommonVisualStateDataAttributes.js.map +1 -0
  181. package/cjs/internal/CommonWrapper/{getVisualStateDataAttributes.d.ts → utils/getVisualStateDataAttributes.d.ts} +1 -1
  182. package/cjs/internal/CommonWrapper/{getVisualStateDataAttributes.js → utils/getVisualStateDataAttributes.js} +3 -3
  183. package/cjs/internal/CommonWrapper/utils/getVisualStateDataAttributes.js.map +1 -0
  184. package/cjs/internal/CommonWrapper/utils/tryGetBoolean.d.ts +1 -0
  185. package/cjs/internal/CommonWrapper/utils/tryGetBoolean.js +1 -0
  186. package/cjs/internal/CommonWrapper/utils/tryGetBoolean.js.map +1 -0
  187. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +2 -3
  188. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  189. package/cjs/internal/CustomComboBox/ComboBoxView.js +3 -1
  190. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  191. package/cjs/internal/DateSelect/DateSelect.d.ts +2 -0
  192. package/cjs/internal/DateSelect/DateSelect.js +51 -4
  193. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  194. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +1 -0
  195. package/cjs/internal/DateSelect/DateSelect.styles.js +15 -1
  196. package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
  197. package/cjs/internal/DateSelect/locale/locales/en.js +2 -1
  198. package/cjs/internal/DateSelect/locale/locales/en.js.map +1 -1
  199. package/cjs/internal/DateSelect/locale/locales/ru.js +2 -1
  200. package/cjs/internal/DateSelect/locale/locales/ru.js.map +1 -1
  201. package/cjs/internal/DateSelect/locale/types.d.ts +1 -0
  202. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +5 -2
  203. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +16 -3
  204. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
  205. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -0
  206. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +4 -2
  207. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  208. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +1 -0
  209. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +3 -2
  210. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  211. package/cjs/internal/InputLikeText/InputLikeText.js +2 -2
  212. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  213. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js +1 -1
  214. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +1 -1
  215. package/cjs/internal/InternalMenu/InternalMenu.js +2 -2
  216. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  217. package/cjs/internal/Menu/Menu.js +2 -2
  218. package/cjs/internal/Menu/Menu.js.map +1 -1
  219. package/cjs/internal/MobilePopup/MobilePopup.d.ts +4 -0
  220. package/cjs/internal/MobilePopup/MobilePopup.js +7 -1
  221. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  222. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +7 -0
  223. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +32 -0
  224. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -0
  225. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +4 -0
  226. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js +15 -0
  227. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +1 -0
  228. package/cjs/internal/MobilePopup/MobilePopupFooter/index.d.ts +1 -0
  229. package/cjs/internal/MobilePopup/MobilePopupFooter/index.js +1 -0
  230. package/cjs/internal/MobilePopup/MobilePopupFooter/index.js.map +1 -0
  231. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +1 -1
  232. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  233. package/cjs/internal/NativeDateInput/utils.js +3 -2
  234. package/cjs/internal/NativeDateInput/utils.js.map +1 -1
  235. package/cjs/internal/Popup/Popup.d.ts +15 -4
  236. package/cjs/internal/Popup/Popup.js +67 -4
  237. package/cjs/internal/Popup/Popup.js.map +1 -1
  238. package/cjs/internal/PopupMenu/PopupMenu.js +1 -1
  239. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  240. package/cjs/internal/RenderContainer/RenderContainer.d.ts +3 -0
  241. package/cjs/internal/RenderContainer/RenderContainer.js +34 -24
  242. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  243. package/cjs/internal/RenderContainer/RenderInnerContainer.js +8 -4
  244. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  245. package/cjs/internal/RenderLayer/RenderLayer.js +5 -1
  246. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  247. package/cjs/internal/ThemePlayground/Playground.js +1 -1
  248. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  249. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +9 -6
  250. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  251. package/cjs/internal/ThemePlayground/constants.js +2 -1
  252. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  253. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +1 -1
  254. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  255. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  256. package/cjs/internal/ZIndex/ZIndex.d.ts +7 -3
  257. package/cjs/internal/ZIndex/ZIndex.js +41 -3
  258. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  259. package/cjs/internal/themes/DarkTheme.d.ts +2 -0
  260. package/cjs/internal/themes/DarkTheme.js +6 -1
  261. package/cjs/internal/themes/DarkTheme.js.map +1 -1
  262. package/cjs/internal/themes/DefaultTheme.d.ts +18 -0
  263. package/cjs/internal/themes/DefaultTheme.js +32 -4
  264. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  265. package/cjs/lib/date/InternalDate.d.ts +2 -0
  266. package/cjs/lib/date/InternalDate.js +8 -1
  267. package/cjs/lib/date/InternalDate.js.map +1 -1
  268. package/cjs/lib/date/InternalDateTransformer.d.ts +3 -0
  269. package/cjs/lib/date/InternalDateTransformer.js +23 -0
  270. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  271. package/cjs/lib/date/InternalDateValidator.js +2 -1
  272. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  273. package/cjs/lib/date/comparison.d.ts +6 -0
  274. package/cjs/lib/date/comparison.js +44 -0
  275. package/cjs/lib/date/comparison.js.map +1 -0
  276. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +24 -0
  277. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
  278. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
  279. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +3 -1
  280. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  281. package/cjs/lib/listenFocusOutside.js +4 -2
  282. package/cjs/lib/listenFocusOutside.js.map +1 -1
  283. package/cjs/lib/locale/constants.d.ts +3 -0
  284. package/cjs/lib/locale/constants.js +6 -2
  285. package/cjs/lib/locale/constants.js.map +1 -1
  286. package/cjs/lib/taskWithDelayAndMinimalDuration.js +1 -0
  287. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  288. package/cjs/lib/theming/Emotion.d.ts +7 -1
  289. package/cjs/lib/theming/Emotion.js +6 -3
  290. package/cjs/lib/theming/Emotion.js.map +1 -1
  291. package/cjs/lib/theming/ThemeContext.d.ts +0 -2
  292. package/cjs/lib/theming/ThemeContext.js +1 -3
  293. package/cjs/lib/theming/ThemeContext.js.map +1 -1
  294. package/cjs/lib/theming/ThemeContext.md +3 -1
  295. package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.d.ts +30 -0
  296. package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.js +50 -0
  297. package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.js.map +1 -0
  298. package/cjs/lib/theming/themes/Theme2022Update2024.d.ts +46 -0
  299. package/cjs/lib/theming/themes/Theme2022Update2024.js +75 -0
  300. package/cjs/lib/theming/themes/Theme2022Update2024.js.map +1 -0
  301. package/cjs/lib/widgets/StylesContainer.d.ts +13 -0
  302. package/cjs/lib/widgets/StylesContainer.js +70 -0
  303. package/cjs/lib/widgets/StylesContainer.js.map +1 -0
  304. package/cjs/lib/widgets/index.d.ts +1 -0
  305. package/cjs/lib/widgets/index.js +1 -0
  306. package/cjs/lib/widgets/index.js.map +1 -0
  307. package/components/Autocomplete/Autocomplete/Autocomplete.js +11 -5
  308. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  309. package/components/Autocomplete/Autocomplete.md +76 -3
  310. package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js +4 -1
  311. package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js.map +1 -1
  312. package/components/Autocomplete/Autocomplete.styles.d.ts +1 -0
  313. package/components/Button/Button/Button.js +3 -3
  314. package/components/Button/Button/Button.js.map +1 -1
  315. package/components/Button/Button.md +38 -11
  316. package/components/Calendar/Calendar/Calendar.js +83 -66
  317. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  318. package/components/Calendar/Calendar.d.ts +28 -5
  319. package/components/Calendar/Calendar.md +82 -1
  320. package/components/Calendar/Calendar.styles/Calendar.styles.js +1 -1
  321. package/components/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
  322. package/components/Calendar/CalendarContext/CalendarContext.js +2 -0
  323. package/components/Calendar/CalendarContext/CalendarContext.js.map +1 -0
  324. package/components/Calendar/CalendarContext/package.json +6 -0
  325. package/components/Calendar/CalendarContext.d.ts +12 -0
  326. package/components/Calendar/CalendarDateShape/CalendarDateShape.js +23 -1
  327. package/components/Calendar/CalendarDateShape/CalendarDateShape.js.map +1 -1
  328. package/components/Calendar/CalendarDateShape.d.ts +4 -2
  329. package/components/Calendar/CalendarDay/CalendarDay.js +64 -0
  330. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -0
  331. package/components/Calendar/CalendarDay/package.json +6 -0
  332. package/components/Calendar/CalendarDay.d.ts +12 -0
  333. package/components/Calendar/CalendarDay.md +70 -0
  334. package/components/Calendar/CalendarUtils/CalendarUtils.js +5 -4
  335. package/components/Calendar/CalendarUtils/CalendarUtils.js.map +1 -1
  336. package/components/Calendar/CalendarUtils.d.ts +2 -1
  337. package/components/Calendar/DayCellView/DayCellView.js +33 -46
  338. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  339. package/components/Calendar/DayCellView.d.ts +4 -12
  340. package/components/Calendar/DayCellView.styles/DayCellView.styles.js +10 -14
  341. package/components/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  342. package/components/Calendar/DayCellView.styles.d.ts +2 -5
  343. package/components/Calendar/Month/Month.js +50 -84
  344. package/components/Calendar/Month/Month.js.map +1 -1
  345. package/components/Calendar/Month.d.ts +0 -10
  346. package/components/Calendar/MonthView/MonthView.js +50 -45
  347. package/components/Calendar/MonthView/MonthView.js.map +1 -1
  348. package/components/Calendar/MonthView.d.ts +3 -2
  349. package/components/Calendar/MonthView.styles/MonthView.styles.js +20 -6
  350. package/components/Calendar/MonthView.styles/MonthView.styles.js.map +1 -1
  351. package/components/Calendar/MonthView.styles.d.ts +3 -0
  352. package/components/Calendar/MonthViewModel/MonthViewModel.js +9 -6
  353. package/components/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
  354. package/components/Calendar/config/config.js +6 -4
  355. package/components/Calendar/config/config.js.map +1 -1
  356. package/components/Calendar/index/index.js +2 -1
  357. package/components/Calendar/index/index.js.map +1 -1
  358. package/components/Calendar/index.d.ts +1 -0
  359. package/components/Checkbox/Checkbox/Checkbox.js +2 -2
  360. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  361. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +2 -2
  362. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  363. package/components/DateInput/DateInput/DateInput.js +2 -2
  364. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  365. package/components/DatePicker/DatePicker/DatePicker.js +62 -41
  366. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  367. package/components/DatePicker/DatePicker.d.ts +4 -1
  368. package/components/DatePicker/DatePicker.md +29 -1
  369. package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js +2 -1
  370. package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js.map +1 -1
  371. package/components/DatePicker/MobilePicker/MobilePicker.js +91 -0
  372. package/components/DatePicker/MobilePicker/MobilePicker.js.map +1 -0
  373. package/components/DatePicker/MobilePicker/package.json +6 -0
  374. package/components/DatePicker/MobilePicker.d.ts +10 -0
  375. package/components/DatePicker/MobilePicker.styles/MobilePicker.styles.js +10 -0
  376. package/components/DatePicker/MobilePicker.styles/MobilePicker.styles.js.map +1 -0
  377. package/components/DatePicker/MobilePicker.styles/package.json +6 -0
  378. package/components/DatePicker/MobilePicker.styles.d.ts +3 -0
  379. package/components/DatePicker/Picker/Picker.js +3 -3
  380. package/components/DatePicker/Picker/Picker.js.map +1 -1
  381. package/components/DatePicker/getMobilePickerTheme/getMobilePickerTheme.js +14 -0
  382. package/components/DatePicker/getMobilePickerTheme/getMobilePickerTheme.js.map +1 -0
  383. package/components/DatePicker/getMobilePickerTheme/package.json +6 -0
  384. package/components/DatePicker/getMobilePickerTheme.d.ts +2 -0
  385. package/components/Dropdown/Dropdown/Dropdown.js +3 -3
  386. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  387. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +3 -3
  388. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  389. package/components/DropdownMenu/DropdownMenu.md +39 -0
  390. package/components/FileUploader/FileUploader/FileUploader.js +30 -8
  391. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  392. package/components/FileUploader/FileUploader.d.ts +2 -0
  393. package/components/FileUploader/FileUploader.md +29 -0
  394. package/components/FxInput/FxInput/FxInput.js +2 -2
  395. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  396. package/components/Group/Group/Group.js +2 -2
  397. package/components/Group/Group/Group.js.map +1 -1
  398. package/components/Hint/Hint/Hint.js +53 -48
  399. package/components/Hint/Hint/Hint.js.map +1 -1
  400. package/components/Hint/Hint.d.ts +4 -3
  401. package/components/Input/Input/Input.js +3 -3
  402. package/components/Input/Input/Input.js.map +1 -1
  403. package/components/Input/Input.styles/Input.styles.js +2 -2
  404. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  405. package/components/Input/Input.styles.d.ts +1 -1
  406. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +2 -2
  407. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -1
  408. package/components/Input/InputLayout/InputLayout.styles.d.ts +1 -1
  409. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js +1 -1
  410. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
  411. package/components/Kebab/Kebab/Kebab.js +7 -4
  412. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  413. package/components/Link/Link/Link.js +6 -3
  414. package/components/Link/Link/Link.js.map +1 -1
  415. package/components/Loader/Loader/Loader.js +2 -2
  416. package/components/Loader/Loader/Loader.js.map +1 -1
  417. package/components/MenuItem/MenuItem/MenuItem.js +3 -3
  418. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  419. package/components/MiniModal/MiniModal/MiniModal.js +2 -2
  420. package/components/MiniModal/MiniModal/MiniModal.js.map +1 -1
  421. package/components/Modal/Modal/Modal.js +3 -3
  422. package/components/Modal/Modal/Modal.js.map +1 -1
  423. package/components/Modal/ModalBody/ModalBody.js +3 -3
  424. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  425. package/components/Paging/Paging/Paging.js +10 -6
  426. package/components/Paging/Paging/Paging.js.map +1 -1
  427. package/components/PasswordInput/PasswordInput/PasswordInput.js +2 -2
  428. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  429. package/components/Radio/Radio/Radio.js +2 -2
  430. package/components/Radio/Radio/Radio.js.map +1 -1
  431. package/components/RadioGroup/RadioGroup/RadioGroup.js +8 -4
  432. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  433. package/components/ScrollContainer/ScrollBar/ScrollBar.js +2 -2
  434. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  435. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +5 -0
  436. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  437. package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  438. package/components/Select/Select/Select.js +6 -5
  439. package/components/Select/Select/Select.js.map +1 -1
  440. package/components/SidePage/SidePage/SidePage.js +2 -2
  441. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  442. package/components/SidePage/SidePageBody/SidePageBody.js +2 -2
  443. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  444. package/components/SidePage/SidePageContainer/SidePageContainer.js +2 -2
  445. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  446. package/components/SidePage/SidePageFooter/SidePageFooter.js +2 -2
  447. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  448. package/components/SidePage/SidePageHeader/SidePageHeader.js +2 -2
  449. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  450. package/components/Spinner/Spinner/Spinner.js +2 -2
  451. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  452. package/components/Switcher/Switcher/Switcher.js +3 -3
  453. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  454. package/components/Tabs/Indicator/Indicator.js +2 -2
  455. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  456. package/components/Tabs/Tab/Tab.js +3 -3
  457. package/components/Tabs/Tab/Tab.js.map +1 -1
  458. package/components/Tabs/Tabs/Tabs.js +2 -2
  459. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  460. package/components/Textarea/Textarea/Textarea.js +2 -2
  461. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  462. package/components/Toast/Toast/Toast.js +3 -3
  463. package/components/Toast/Toast/Toast.js.map +1 -1
  464. package/components/Toast/ToastView/ToastView.js +2 -2
  465. package/components/Toast/ToastView/ToastView.js.map +1 -1
  466. package/components/Toggle/Toggle/Toggle.js +2 -2
  467. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  468. package/components/Token/Token/Token.js +6 -3
  469. package/components/Token/Token/Token.js.map +1 -1
  470. package/components/TokenInput/TokenInput/TokenInput.js +2 -2
  471. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  472. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +3 -3
  473. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  474. package/components/Tooltip/Tooltip/Tooltip.js +67 -46
  475. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  476. package/components/Tooltip/Tooltip.d.ts +10 -5
  477. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +3 -3
  478. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  479. package/hooks/useDrop/useDrop.js.map +1 -1
  480. package/hooks/useDrop.d.ts +1 -1
  481. package/index.d.ts +2 -0
  482. package/index.js +2 -0
  483. package/index.js.map +1 -1
  484. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +2 -2
  485. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  486. package/internal/CommonWrapper/utils/extractCommonProps/extractCommonProps.js.map +1 -0
  487. package/internal/CommonWrapper/{extractCommonProps → utils/extractCommonProps}/package.json +1 -1
  488. package/internal/CommonWrapper/{extractCommonProps.d.ts → utils/extractCommonProps.d.ts} +2 -2
  489. package/internal/CommonWrapper/{getCommonVisualStateDataAttributes → utils/getCommonVisualStateDataAttributes}/getCommonVisualStateDataAttributes.js +1 -5
  490. package/internal/CommonWrapper/utils/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js.map +1 -0
  491. package/internal/CommonWrapper/{getCommonVisualStateDataAttributes → utils/getCommonVisualStateDataAttributes}/package.json +1 -1
  492. package/internal/CommonWrapper/{getVisualStateDataAttributes → utils/getVisualStateDataAttributes}/getVisualStateDataAttributes.js +3 -3
  493. package/internal/CommonWrapper/utils/getVisualStateDataAttributes/getVisualStateDataAttributes.js.map +1 -0
  494. package/internal/CommonWrapper/{getVisualStateDataAttributes → utils/getVisualStateDataAttributes}/package.json +1 -1
  495. package/internal/CommonWrapper/{getVisualStateDataAttributes.d.ts → utils/getVisualStateDataAttributes.d.ts} +1 -1
  496. package/internal/CommonWrapper/utils/tryGetBoolean/package.json +6 -0
  497. package/internal/CommonWrapper/utils/tryGetBoolean/tryGetBoolean.js +3 -0
  498. package/internal/CommonWrapper/utils/tryGetBoolean/tryGetBoolean.js.map +1 -0
  499. package/internal/CommonWrapper/utils/tryGetBoolean.d.ts +1 -0
  500. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +3 -3
  501. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  502. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +5 -3
  503. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  504. package/internal/DateSelect/DateSelect/DateSelect.js +59 -6
  505. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  506. package/internal/DateSelect/DateSelect.d.ts +2 -0
  507. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js +4 -1
  508. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
  509. package/internal/DateSelect/DateSelect.styles.d.ts +1 -0
  510. package/internal/DateSelect/locale/locales/en/en.js +2 -1
  511. package/internal/DateSelect/locale/locales/en/en.js.map +1 -1
  512. package/internal/DateSelect/locale/locales/ru/ru.js +2 -1
  513. package/internal/DateSelect/locale/locales/ru/ru.js.map +1 -1
  514. package/internal/DateSelect/locale/types.d.ts +1 -0
  515. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +12 -3
  516. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
  517. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +5 -2
  518. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +4 -2
  519. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  520. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -0
  521. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +4 -2
  522. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  523. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +1 -0
  524. package/internal/InputLikeText/InputLikeText/InputLikeText.js +3 -3
  525. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  526. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js +2 -2
  527. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +1 -1
  528. package/internal/InternalMenu/InternalMenu/InternalMenu.js +3 -3
  529. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  530. package/internal/Menu/Menu/Menu.js +3 -3
  531. package/internal/Menu/Menu/Menu.js.map +1 -1
  532. package/internal/MobilePopup/MobilePopup/MobilePopup.js +4 -3
  533. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  534. package/internal/MobilePopup/MobilePopup.d.ts +4 -0
  535. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js +37 -0
  536. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js.map +1 -0
  537. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/package.json +6 -0
  538. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +7 -0
  539. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js +11 -0
  540. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js.map +1 -0
  541. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/package.json +6 -0
  542. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +4 -0
  543. package/internal/MobilePopup/MobilePopupFooter/index/index.js +1 -0
  544. package/internal/MobilePopup/MobilePopupFooter/index/index.js.map +1 -0
  545. package/internal/MobilePopup/MobilePopupFooter/index/package.json +6 -0
  546. package/internal/MobilePopup/MobilePopupFooter/index.d.ts +1 -0
  547. package/internal/MobilePopup/MobilePopupFooter/package.json +6 -0
  548. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +2 -2
  549. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  550. package/internal/NativeDateInput/utils/utils.js +2 -1
  551. package/internal/NativeDateInput/utils/utils.js.map +1 -1
  552. package/internal/Popup/Popup/Popup.js +53 -10
  553. package/internal/Popup/Popup/Popup.js.map +1 -1
  554. package/internal/Popup/Popup.d.ts +15 -4
  555. package/internal/PopupMenu/PopupMenu/PopupMenu.js +3 -3
  556. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  557. package/internal/RenderContainer/RenderContainer/RenderContainer.js +19 -12
  558. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  559. package/internal/RenderContainer/RenderContainer.d.ts +3 -0
  560. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +11 -5
  561. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  562. package/internal/RenderLayer/RenderLayer/RenderLayer.js +2 -2
  563. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  564. package/internal/ThemePlayground/Playground/Playground.js +2 -2
  565. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  566. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +10 -7
  567. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  568. package/internal/ThemePlayground/constants/constants.js +3 -0
  569. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  570. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +2 -2
  571. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  572. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  573. package/internal/ZIndex/ZIndex/ZIndex.js +55 -7
  574. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  575. package/internal/ZIndex/ZIndex.d.ts +7 -3
  576. package/internal/themes/DarkTheme/DarkTheme.js +2 -0
  577. package/internal/themes/DarkTheme/DarkTheme.js.map +1 -1
  578. package/internal/themes/DarkTheme.d.ts +2 -0
  579. package/internal/themes/DefaultTheme/DefaultTheme.js +32 -1
  580. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  581. package/internal/themes/DefaultTheme.d.ts +18 -0
  582. package/lib/date/InternalDate/InternalDate.js +7 -1
  583. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  584. package/lib/date/InternalDate.d.ts +2 -0
  585. package/lib/date/InternalDateTransformer/InternalDateTransformer.js +30 -0
  586. package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
  587. package/lib/date/InternalDateTransformer.d.ts +3 -0
  588. package/lib/date/InternalDateValidator/InternalDateValidator.js +6 -1
  589. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  590. package/lib/date/comparison/comparison.js +45 -0
  591. package/lib/date/comparison/comparison.js.map +1 -0
  592. package/lib/date/comparison/package.json +6 -0
  593. package/lib/date/comparison.d.ts +6 -0
  594. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +24 -0
  595. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
  596. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +2 -1
  597. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  598. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
  599. package/lib/listenFocusOutside/listenFocusOutside.js +3 -2
  600. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  601. package/lib/locale/constants/constants.js +4 -1
  602. package/lib/locale/constants/constants.js.map +1 -1
  603. package/lib/locale/constants.d.ts +3 -0
  604. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +2 -0
  605. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
  606. package/lib/theming/Emotion/Emotion.js +12 -3
  607. package/lib/theming/Emotion/Emotion.js.map +1 -1
  608. package/lib/theming/Emotion.d.ts +7 -1
  609. package/lib/theming/ThemeContext/ThemeContext.js +0 -2
  610. package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
  611. package/lib/theming/ThemeContext.d.ts +0 -2
  612. package/lib/theming/ThemeContext.md +3 -1
  613. package/lib/theming/themes/Theme2022DarkUpdate2024/Theme2022DarkUpdate2024.js +33 -0
  614. package/lib/theming/themes/Theme2022DarkUpdate2024/Theme2022DarkUpdate2024.js.map +1 -0
  615. package/lib/theming/themes/Theme2022DarkUpdate2024/package.json +6 -0
  616. package/lib/theming/themes/Theme2022DarkUpdate2024.d.ts +30 -0
  617. package/lib/theming/themes/Theme2022Update2024/Theme2022Update2024.js +50 -0
  618. package/lib/theming/themes/Theme2022Update2024/Theme2022Update2024.js.map +1 -0
  619. package/lib/theming/themes/Theme2022Update2024/package.json +6 -0
  620. package/lib/theming/themes/Theme2022Update2024.d.ts +46 -0
  621. package/lib/widgets/StylesContainer/StylesContainer.js +65 -0
  622. package/lib/widgets/StylesContainer/StylesContainer.js.map +1 -0
  623. package/lib/widgets/StylesContainer/package.json +6 -0
  624. package/lib/widgets/StylesContainer.d.ts +13 -0
  625. package/lib/widgets/index/index.js +1 -0
  626. package/lib/widgets/index/index.js.map +1 -0
  627. package/lib/widgets/index/package.json +6 -0
  628. package/lib/widgets/index.d.ts +1 -0
  629. package/lib/widgets/package.json +6 -0
  630. package/package.json +3 -2
  631. package/cjs/internal/CommonWrapper/extractCommonProps.js.map +0 -1
  632. package/cjs/internal/CommonWrapper/getCommonVisualStateDataAttributes.js.map +0 -1
  633. package/cjs/internal/CommonWrapper/getVisualStateDataAttributes.js.map +0 -1
  634. package/cjs/lib/theming/StyleContainer.d.ts +0 -4
  635. package/cjs/lib/theming/StyleContainer.js +0 -21
  636. package/cjs/lib/theming/StyleContainer.js.map +0 -1
  637. package/internal/CommonWrapper/extractCommonProps/extractCommonProps.js.map +0 -1
  638. package/internal/CommonWrapper/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js.map +0 -1
  639. package/internal/CommonWrapper/getVisualStateDataAttributes/getVisualStateDataAttributes.js.map +0 -1
  640. package/lib/theming/StyleContainer/StyleContainer.js +0 -21
  641. package/lib/theming/StyleContainer/StyleContainer.js.map +0 -1
  642. package/lib/theming/StyleContainer/package.json +0 -6
  643. package/lib/theming/StyleContainer.d.ts +0 -4
  644. /package/cjs/internal/CommonWrapper/{extractCommonProps.js → utils/extractCommonProps.js} +0 -0
  645. /package/cjs/internal/CommonWrapper/{getCommonVisualStateDataAttributes.d.ts → utils/getCommonVisualStateDataAttributes.d.ts} +0 -0
  646. /package/internal/CommonWrapper/{extractCommonProps → utils/extractCommonProps}/extractCommonProps.js +0 -0
  647. /package/internal/CommonWrapper/{getCommonVisualStateDataAttributes.d.ts → utils/getCommonVisualStateDataAttributes.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.RenderContainer = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.RenderContainer = exports.PORTAL_OUTLET_ATTR = exports.PORTAL_INLET_ATTR = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
2
  var _globalObject = require("@skbkontur/global-object");
3
3
 
4
4
 
@@ -6,9 +6,12 @@ var _utils = require("../../lib/utils");
6
6
  var _Upgrades = require("../../lib/Upgrades");
7
7
  var _callChildRef = require("../../lib/callChildRef/callChildRef");
8
8
 
9
- var _RenderInnerContainer = require("./RenderInnerContainer");var
9
+ var _RenderInnerContainer = require("./RenderInnerContainer");
10
10
 
11
11
 
12
+ var PORTAL_INLET_ATTR = 'data-render-container-id';exports.PORTAL_INLET_ATTR = PORTAL_INLET_ATTR;
13
+ var PORTAL_OUTLET_ATTR = 'data-rendered-container-id';exports.PORTAL_OUTLET_ATTR = PORTAL_OUTLET_ATTR;var
14
+
12
15
  RenderContainer = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(RenderContainer, _React$Component);function RenderContainer() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
13
16
 
14
17
 
@@ -16,35 +19,40 @@ RenderContainer = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.
16
19
 
17
20
  domContainer = null;_this.
18
21
 
19
- rootId = RenderContainer.getRootId();return _this;}var _proto = RenderContainer.prototype;_proto.
22
+ rootId = RenderContainer.getRootId();_this.
23
+
24
+
25
+
26
+
27
+
28
+
20
29
 
21
- shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
22
- if (!this.props.children && nextProps.children) {
23
- this.mountContainer();
24
- }
25
- if (this.props.children && !nextProps.children) {
26
- this.unmountContainer();
27
- }
28
- return true;
29
- };_proto.
30
30
 
31
- componentWillUnmount = function componentWillUnmount() {
32
- this.destroyContainer();
33
- };_proto.
34
31
 
35
- render = function render() {
36
- if (this.props.children) {
37
- this.mountContainer();
38
- }
39
32
 
40
- return /*#__PURE__*/_react.default.createElement(_RenderInnerContainer.RenderInnerContainer, (0, _extends2.default)({}, this.props, { domContainer: this.domContainer, rootId: this.rootId }));
41
- };_proto.
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+ renderMain = function () {
43
+ if (_this.props.children) {
44
+ _this.mountContainer();
45
+ }
46
+
47
+ return /*#__PURE__*/_react.default.createElement(_RenderInnerContainer.RenderInnerContainer, (0, _extends2.default)({}, _this.props, { domContainer: _this.domContainer, rootId: _this.rootId }));
48
+ };return _this;}var _proto = RenderContainer.prototype;_proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {if (!this.props.children && nextProps.children) {this.mountContainer();}if (this.props.children && !nextProps.children) {this.unmountContainer();}return true;};_proto.componentWillUnmount = function componentWillUnmount() {this.destroyContainer();};_proto.render = function render() {return this.renderMain();};_proto.
42
49
 
43
50
  createContainer = function createContainer() {var _globalObject$documen;
44
51
  var domContainer = (_globalObject$documen = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen.createElement('div');
52
+
45
53
  if (domContainer) {
46
54
  domContainer.setAttribute('class', _Upgrades.Upgrade.getSpecificityClassName());
47
- domContainer.setAttribute('data-rendered-container-id', "" + this.rootId);
55
+ domContainer.setAttribute(PORTAL_OUTLET_ATTR, "" + this.rootId);
48
56
  this.domContainer = domContainer;
49
57
  }
50
58
  };_proto.
@@ -53,8 +61,10 @@ RenderContainer = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.
53
61
  if (!this.domContainer) {
54
62
  this.createContainer();
55
63
  }
56
- if (this.domContainer && this.domContainer.parentNode !== ((_globalObject$documen2 = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen2.body)) {var _globalObject$documen3;
57
- (_globalObject$documen3 = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen3.body.appendChild(this.domContainer);
64
+
65
+ var rootElement = (_globalObject$documen2 = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen2.body;
66
+ if (this.domContainer && this.domContainer.parentNode !== rootElement) {
67
+ rootElement == null ? void 0 : rootElement.appendChild(this.domContainer);
58
68
 
59
69
  if (this.props.containerRef) {
60
70
  (0, _callChildRef.callChildRef)(this.props.containerRef, this.domContainer);
@@ -1 +1 @@
1
- {"version":3,"sources":["RenderContainer.tsx"],"names":["RenderContainer","domContainer","rootId","getRootId","shouldComponentUpdate","nextProps","props","children","mountContainer","unmountContainer","componentWillUnmount","destroyContainer","render","createContainer","globalObject","document","createElement","setAttribute","Upgrade","getSpecificityClassName","parentNode","body","appendChild","containerRef","ReactTesting","addRenderContainer","removeChild","removeRenderContainer","React","Component","__KONTUR_REACT_UI__","displayName"],"mappings":"qVAAA;AACA;;;AAGA;AACA;AACA;;AAEA,8D;;;AAGaA,e;;;;;AAKHC,IAAAA,Y,GAAsC,I;;AAE7BC,IAAAA,M,GAAiBF,eAAe,CAACG,SAAhB,E;;AAE3BC,EAAAA,qB,GAAP,+BAA6BC,SAA7B,EAA8D;AAC5D,QAAI,CAAC,KAAKC,KAAL,CAAWC,QAAZ,IAAwBF,SAAS,CAACE,QAAtC,EAAgD;AAC9C,WAAKC,cAAL;AACD;AACD,QAAI,KAAKF,KAAL,CAAWC,QAAX,IAAuB,CAACF,SAAS,CAACE,QAAtC,EAAgD;AAC9C,WAAKE,gBAAL;AACD;AACD,WAAO,IAAP;AACD,G;;AAEMC,EAAAA,oB,GAAP,gCAA8B;AAC5B,SAAKC,gBAAL;AACD,G;;AAEMC,EAAAA,M,GAAP,kBAAgB;AACd,QAAI,KAAKN,KAAL,CAAWC,QAAf,EAAyB;AACvB,WAAKC,cAAL;AACD;;AAED,wBAAO,6BAAC,0CAAD,6BAA0B,KAAKF,KAA/B,IAAsC,YAAY,EAAE,KAAKL,YAAzD,EAAuE,MAAM,EAAE,KAAKC,MAApF,IAAP;AACD,G;;AAEOW,EAAAA,e,GAAR,2BAA0B;AACxB,QAAMZ,YAAY,4BAAGa,2BAAaC,QAAhB,qBAAG,sBAAuBC,aAAvB,CAAqC,KAArC,CAArB;AACA,QAAIf,YAAJ,EAAkB;AAChBA,MAAAA,YAAY,CAACgB,YAAb,CAA0B,OAA1B,EAAmCC,kBAAQC,uBAAR,EAAnC;AACAlB,MAAAA,YAAY,CAACgB,YAAb,CAA0B,4BAA1B,OAA2D,KAAKf,MAAhE;AACA,WAAKD,YAAL,GAAoBA,YAApB;AACD;AACF,G;;AAEOO,EAAAA,c,GAAR,0BAAyB;AACvB,QAAI,CAAC,KAAKP,YAAV,EAAwB;AACtB,WAAKY,eAAL;AACD;AACD,QAAI,KAAKZ,YAAL,IAAqB,KAAKA,YAAL,CAAkBmB,UAAlB,gCAAiCN,2BAAaC,QAA9C,qBAAiC,uBAAuBM,IAAxD,CAAzB,EAAuF;AACrF,2DAAaN,QAAb,4CAAuBM,IAAvB,CAA4BC,WAA5B,CAAwC,KAAKrB,YAA7C;;AAEA,UAAI,KAAKK,KAAL,CAAWiB,YAAf,EAA6B;AAC3B,wCAAa,KAAKjB,KAAL,CAAWiB,YAAxB,EAAsC,KAAKtB,YAA3C;AACD;AACD,UAAIa,2BAAaU,YAAjB,EAA+B;AAC7BV,mCAAaU,YAAb,CAA0BC,kBAA1B,CAA6C,KAAKvB,MAAlD,EAA0D,IAA1D;AACD;AACF;AACF,G;;AAEOS,EAAAA,gB,GAAR,4BAA2B;AACzB,QAAI,KAAKV,YAAT,EAAuB;AACrB,WAAKQ,gBAAL;AACA,WAAKR,YAAL,GAAoB,IAApB;AACD;AACF,G;;AAEOQ,EAAAA,gB,GAAR,4BAA2B;AACzB,QAAI,KAAKR,YAAL,IAAqB,KAAKA,YAAL,CAAkBmB,UAA3C,EAAuD;AACrD,WAAKnB,YAAL,CAAkBmB,UAAlB,CAA6BM,WAA7B,CAAyC,KAAKzB,YAA9C;;AAEA,UAAI,KAAKK,KAAL,CAAWiB,YAAf,EAA6B;AAC3B,wCAAa,KAAKjB,KAAL,CAAWiB,YAAxB,EAAsC,IAAtC;AACD;;AAED,UAAIT,2BAAaU,YAAjB,EAA+B;AAC7BV,mCAAaU,YAAb,CAA0BG,qBAA1B,CAAgD,KAAKzB,MAArD;AACD;AACF;AACF,G,0BA3EkC0B,eAAMC,S,4CAA9B7B,e,CACG8B,mB,GAAsB,iB,CADzB9B,e,CAEG+B,W,GAAc,iB,CAFjB/B,e,CAIIG,S,GAAY,oBAAM,yBAAN,E","sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { getRandomID } from '../../lib/utils';\nimport { Upgrade } from '../../lib/Upgrades';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\n\nimport { RenderInnerContainer } from './RenderInnerContainer';\nimport { RenderContainerProps } from './RenderContainerTypes';\n\nexport class RenderContainer extends React.Component<RenderContainerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderContainer';\n public static displayName = 'RenderContainer';\n\n private static getRootId = () => getRandomID();\n private domContainer: Nullable<HTMLElement> = null;\n\n private readonly rootId: string = RenderContainer.getRootId();\n\n public shouldComponentUpdate(nextProps: RenderContainerProps) {\n if (!this.props.children && nextProps.children) {\n this.mountContainer();\n }\n if (this.props.children && !nextProps.children) {\n this.unmountContainer();\n }\n return true;\n }\n\n public componentWillUnmount() {\n this.destroyContainer();\n }\n\n public render() {\n if (this.props.children) {\n this.mountContainer();\n }\n\n return <RenderInnerContainer {...this.props} domContainer={this.domContainer} rootId={this.rootId} />;\n }\n\n private createContainer() {\n const domContainer = globalObject.document?.createElement('div');\n if (domContainer) {\n domContainer.setAttribute('class', Upgrade.getSpecificityClassName());\n domContainer.setAttribute('data-rendered-container-id', `${this.rootId}`);\n this.domContainer = domContainer;\n }\n }\n\n private mountContainer() {\n if (!this.domContainer) {\n this.createContainer();\n }\n if (this.domContainer && this.domContainer.parentNode !== globalObject.document?.body) {\n globalObject.document?.body.appendChild(this.domContainer);\n\n if (this.props.containerRef) {\n callChildRef(this.props.containerRef, this.domContainer);\n }\n if (globalObject.ReactTesting) {\n globalObject.ReactTesting.addRenderContainer(this.rootId, this);\n }\n }\n }\n\n private destroyContainer() {\n if (this.domContainer) {\n this.unmountContainer();\n this.domContainer = null;\n }\n }\n\n private unmountContainer() {\n if (this.domContainer && this.domContainer.parentNode) {\n this.domContainer.parentNode.removeChild(this.domContainer);\n\n if (this.props.containerRef) {\n callChildRef(this.props.containerRef, null);\n }\n\n if (globalObject.ReactTesting) {\n globalObject.ReactTesting.removeRenderContainer(this.rootId);\n }\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["RenderContainer.tsx"],"names":["PORTAL_INLET_ATTR","PORTAL_OUTLET_ATTR","RenderContainer","domContainer","rootId","getRootId","renderMain","props","children","mountContainer","shouldComponentUpdate","nextProps","unmountContainer","componentWillUnmount","destroyContainer","render","createContainer","globalObject","document","createElement","setAttribute","Upgrade","getSpecificityClassName","rootElement","body","parentNode","appendChild","containerRef","ReactTesting","addRenderContainer","removeChild","removeRenderContainer","React","Component","__KONTUR_REACT_UI__","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { getRandomID } from '../../lib/utils';\nimport { Upgrade } from '../../lib/Upgrades';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\n\nimport { RenderInnerContainer } from './RenderInnerContainer';\nimport { RenderContainerProps } from './RenderContainerTypes';\n\nexport const PORTAL_INLET_ATTR = 'data-render-container-id';\nexport const PORTAL_OUTLET_ATTR = 'data-rendered-container-id';\n\nexport class RenderContainer extends React.Component<RenderContainerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderContainer';\n public static displayName = 'RenderContainer';\n\n private static getRootId = () => getRandomID();\n private domContainer: Nullable<HTMLElement> = null;\n\n private readonly rootId: string = RenderContainer.getRootId();\n\n public shouldComponentUpdate(nextProps: RenderContainerProps) {\n if (!this.props.children && nextProps.children) {\n this.mountContainer();\n }\n if (this.props.children && !nextProps.children) {\n this.unmountContainer();\n }\n return true;\n }\n\n public componentWillUnmount() {\n this.destroyContainer();\n }\n\n public render() {\n return this.renderMain();\n }\n\n private renderMain = () => {\n if (this.props.children) {\n this.mountContainer();\n }\n\n return <RenderInnerContainer {...this.props} domContainer={this.domContainer} rootId={this.rootId} />;\n };\n\n private createContainer() {\n const domContainer = globalObject.document?.createElement('div');\n\n if (domContainer) {\n domContainer.setAttribute('class', Upgrade.getSpecificityClassName());\n domContainer.setAttribute(PORTAL_OUTLET_ATTR, `${this.rootId}`);\n this.domContainer = domContainer;\n }\n }\n\n private mountContainer() {\n if (!this.domContainer) {\n this.createContainer();\n }\n\n const rootElement = globalObject.document?.body;\n if (this.domContainer && this.domContainer.parentNode !== rootElement) {\n rootElement?.appendChild(this.domContainer);\n\n if (this.props.containerRef) {\n callChildRef(this.props.containerRef, this.domContainer);\n }\n if (globalObject.ReactTesting) {\n globalObject.ReactTesting.addRenderContainer(this.rootId, this);\n }\n }\n }\n\n private destroyContainer() {\n if (this.domContainer) {\n this.unmountContainer();\n this.domContainer = null;\n }\n }\n\n private unmountContainer() {\n if (this.domContainer && this.domContainer.parentNode) {\n this.domContainer.parentNode.removeChild(this.domContainer);\n\n if (this.props.containerRef) {\n callChildRef(this.props.containerRef, null);\n }\n\n if (globalObject.ReactTesting) {\n globalObject.ReactTesting.removeRenderContainer(this.rootId);\n }\n }\n }\n}\n"]}
@@ -5,8 +5,10 @@ var _globalObject = require("@skbkontur/global-object");
5
5
 
6
6
 
7
7
  var _SSRSafe = require("../../lib/SSRSafe");
8
+ var _widgets = require("../../lib/widgets");
8
9
 
9
10
 
11
+ var _RenderContainer = require("./RenderContainer");
10
12
 
11
13
 
12
14
 
@@ -33,12 +35,12 @@ var _SSRSafe = require("../../lib/SSRSafe");
33
35
 
34
36
  var SSRPlaceholder = function SSRPlaceholder() {return /*#__PURE__*/_react.default.createElement("script", { "data-id": "ssr-placeholder" });};
35
37
 
36
- var Portal = function Portal(_ref) {var container = _ref.container,rt_rootID = _ref.rt_rootID,children = _ref.children;
38
+ var Portal = function Portal(_ref) {var _ref2;var container = _ref.container,rt_rootID = _ref.rt_rootID,children = _ref.children;
37
39
  // container exists only in browser
38
40
  return /*#__PURE__*/(
39
41
  _react.default.createElement(_react.default.Fragment, null,
40
42
  container ? /*#__PURE__*/_reactDom.default.createPortal(children, container) : /*#__PURE__*/_react.default.createElement(SSRPlaceholder, null),
41
- container ? /*#__PURE__*/_react.default.createElement("noscript", { "data-render-container-id": rt_rootID }) : /*#__PURE__*/_react.default.createElement(SSRPlaceholder, null)));
43
+ container ? /*#__PURE__*/_react.default.createElement("noscript", (_ref2 = {}, _ref2[_RenderContainer.PORTAL_INLET_ATTR] = rt_rootID, _ref2)) : /*#__PURE__*/_react.default.createElement(SSRPlaceholder, null)));
42
44
 
43
45
 
44
46
  };exports.Portal = Portal;var
@@ -55,8 +57,10 @@ RenderInnerContainer = /*#__PURE__*/function (_React$Component) {(0, _inheritsLo
55
57
  inner = /*#__PURE__*/
56
58
  _react.default.createElement(_react.default.Fragment, null,
57
59
  anchor, /*#__PURE__*/
58
- _react.default.createElement(Portal, { key: "portal-ref", rt_rootID: rootId, container: domContainer },
59
- children));
60
+ _react.default.createElement(Portal, { key: "portal-ref", rt_rootID: rootId, container: domContainer }, /*#__PURE__*/
61
+ _react.default.createElement(_widgets.WithStyles, { rootId: rootId, domContainer: domContainer, anchor: anchor },
62
+ children)));
63
+
60
64
 
61
65
 
62
66
 
@@ -1 +1 @@
1
- {"version":3,"sources":["RenderInnerContainer.tsx"],"names":["SSRPlaceholder","Portal","container","rt_rootID","children","ReactDOM","createPortal","RenderInnerContainer","render","props","anchor","domContainer","rootId","inner","React","Component","__KONTUR_REACT_UI__","displayName","propTypes","globalObject","HTMLElement","string","isRequired","node"],"mappings":"yRAAA;AACA;AACA;AACA;;;AAGA;;;;;;;;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,wBAAM,yCAAQ,WAAQ,iBAAhB,GAAN,EAAvB;;AAEO,IAAMC,MAAM,GAAG,SAATA,MAAS,OAAqD,KAAlDC,SAAkD,QAAlDA,SAAkD,CAAvCC,SAAuC,QAAvCA,SAAuC,CAA5BC,QAA4B,QAA5BA,QAA4B;AACzE;AACA;AACE,iCAAC,cAAD,CAAO,QAAP;AACGF,IAAAA,SAAS,gBAAGG,kBAASC,YAAT,CAAsBF,QAAtB,EAAgCF,SAAhC,CAAH,gBAAgD,6BAAC,cAAD,OAD5D;AAEGA,IAAAA,SAAS,gBAAG,2CAAU,4BAA0BC,SAApC,GAAH,gBAAuD,6BAAC,cAAD,OAFnE,CADF;;;AAMD,CARM,C;;AAUMI,oB;;;;AAIJC,EAAAA,M,GAAP,kBAAgB;AACd,sBAAmD,KAAKC,KAAxD,CAAQC,MAAR,eAAQA,MAAR,CAAgBN,QAAhB,eAAgBA,QAAhB,CAA0BO,YAA1B,eAA0BA,YAA1B,CAAwCC,MAAxC,eAAwCA,MAAxC;AACA,QAAIC,KAAK,GAAGH,MAAZ;;AAEA,QAAIN,QAAJ,EAAc;AACZS,MAAAA,KAAK;AACH,mCAAC,cAAD,CAAO,QAAP;AACGH,MAAAA,MADH;AAEE,mCAAC,MAAD,IAAQ,GAAG,EAAC,YAAZ,EAAyB,SAAS,EAAEE,MAApC,EAA4C,SAAS,EAAED,YAAvD;AACGP,MAAAA,QADH,CAFF,CADF;;;;AAQD;;AAED,WAAOS,KAAP;AACD,G,+BApBuCC,eAAMC,S,sDAAnCR,oB,CACGS,mB,GAAsB,sB,CADzBT,oB,CAEGU,W,GAAc,sB;;;AAqB9BhB,MAAM,CAACiB,SAAP,GAAmB;AACjBhB,EAAAA,SAAS,EAAE,sCAAwBiB,2BAAaC,WAArC,CADM;AAEjBjB,EAAAA,SAAS,EAAEe,mBAAUG,MAAV,CAAiBC,UAFX;AAGjBlB,EAAAA,QAAQ,EAAEc,mBAAUK,IAAV,CAAeD,UAHR,EAAnB;;;AAMArB,MAAM,CAACe,mBAAP,GAA6B,QAA7B;AACAf,MAAM,CAACgB,WAAP,GAAqB,QAArB","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport propTypes from 'prop-types';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { safePropTypesInstanceOf } from '../../lib/SSRSafe';\n\nimport { PortalProps, RenderContainerProps } from './RenderContainerTypes';\n\ninterface RenderInnerContainerProps extends RenderContainerProps {\n domContainer: Nullable<HTMLElement>;\n rootId: string;\n}\n\n// Заглушка нужна для корректной гидрации порталов после SSR,\n// которую реакт сам пока не поддерживает.\n// @see https://github.com/facebook/react/issues/13097\n// А также для вставки актуального render-container-id на клиенте.\n//\n// Дело в том, что во время гидрации, структура HTML на сервере\n// и на клиенте должна совпадать, иначе возможны артефакты.\n// Алгоритм там примерно такой. Клиент во время гидрации идет\n// по этим двум деревьям и сравнивает узлы. Элементы разных типов\n// он подменяет на свои. А те, что совпадают, он оставляет как есть\n// вместе со всеми атрибутами, навесив только обработчики событий.\n//\n// Поэтому, для портала, который рендерится только на клиенте,\n// нужно использовать серверную заглушку, чтобы при гидрации\n// он не испортил какой-то другой элемент. Null не подходит,\n// т.к. на сервере он тоже не рендерится.\n// А элемент с render-container-id нужно отрендерить с нуля.\n\nconst SSRPlaceholder = () => <script data-id=\"ssr-placeholder\" />;\n\nexport const Portal = ({ container, rt_rootID, children }: PortalProps) => {\n // container exists only in browser\n return (\n <React.Fragment>\n {container ? ReactDOM.createPortal(children, container) : <SSRPlaceholder />}\n {container ? <noscript data-render-container-id={rt_rootID} /> : <SSRPlaceholder />}\n </React.Fragment>\n );\n};\n\nexport class RenderInnerContainer extends React.Component<RenderInnerContainerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderInnerContainer';\n public static displayName = 'RenderInnerContainer';\n\n public render() {\n const { anchor, children, domContainer, rootId } = this.props;\n let inner = anchor;\n\n if (children) {\n inner = (\n <React.Fragment>\n {anchor}\n <Portal key=\"portal-ref\" rt_rootID={rootId} container={domContainer}>\n {children}\n </Portal>\n </React.Fragment>\n );\n }\n\n return inner;\n }\n}\n\nPortal.propTypes = {\n container: safePropTypesInstanceOf(globalObject.HTMLElement),\n rt_rootID: propTypes.string.isRequired,\n children: propTypes.node.isRequired,\n};\n\nPortal.__KONTUR_REACT_UI__ = 'Portal';\nPortal.displayName = 'Portal';\n"]}
1
+ {"version":3,"sources":["RenderInnerContainer.tsx"],"names":["SSRPlaceholder","Portal","container","rt_rootID","children","ReactDOM","createPortal","PORTAL_INLET_ATTR","RenderInnerContainer","render","props","anchor","domContainer","rootId","inner","React","Component","__KONTUR_REACT_UI__","displayName","propTypes","globalObject","HTMLElement","string","isRequired","node"],"mappings":"yRAAA;AACA;AACA;AACA;;;AAGA;AACA;;;AAGA;;;;;;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,wBAAM,yCAAQ,WAAQ,iBAAhB,GAAN,EAAvB;;AAEO,IAAMC,MAAM,GAAG,SAATA,MAAS,OAAqD,eAAlDC,SAAkD,QAAlDA,SAAkD,CAAvCC,SAAuC,QAAvCA,SAAuC,CAA5BC,QAA4B,QAA5BA,QAA4B;AACzE;AACA;AACE,iCAAC,cAAD,CAAO,QAAP;AACGF,IAAAA,SAAS,gBAAGG,kBAASC,YAAT,CAAsBF,QAAtB,EAAgCF,SAAhC,CAAH,gBAAgD,6BAAC,cAAD,OAD5D;AAEGA,IAAAA,SAAS,gBAAG,4DAAiBK,kCAAjB,IAAqCJ,SAArC,SAAH,gBAA0D,6BAAC,cAAD,OAFtE,CADF;;;AAMD,CARM,C;;AAUMK,oB;;;;AAIJC,EAAAA,M,GAAP,kBAAgB;AACd,sBAAmD,KAAKC,KAAxD,CAAQC,MAAR,eAAQA,MAAR,CAAgBP,QAAhB,eAAgBA,QAAhB,CAA0BQ,YAA1B,eAA0BA,YAA1B,CAAwCC,MAAxC,eAAwCA,MAAxC;AACA,QAAIC,KAAK,GAAGH,MAAZ;;AAEA,QAAIP,QAAJ,EAAc;AACZU,MAAAA,KAAK;AACH,mCAAC,cAAD,CAAO,QAAP;AACGH,MAAAA,MADH;AAEE,mCAAC,MAAD,IAAQ,GAAG,EAAC,YAAZ,EAAyB,SAAS,EAAEE,MAApC,EAA4C,SAAS,EAAED,YAAvD;AACE,mCAAC,mBAAD,IAAY,MAAM,EAAEC,MAApB,EAA4B,YAAY,EAAED,YAA1C,EAAwD,MAAM,EAAED,MAAhE;AACGP,MAAAA,QADH,CADF,CAFF,CADF;;;;;AAUD;;AAED,WAAOU,KAAP;AACD,G,+BAtBuCC,eAAMC,S,sDAAnCR,oB,CACGS,mB,GAAsB,sB,CADzBT,oB,CAEGU,W,GAAc,sB;;;AAuB9BjB,MAAM,CAACkB,SAAP,GAAmB;AACjBjB,EAAAA,SAAS,EAAE,sCAAwBkB,2BAAaC,WAArC,CADM;AAEjBlB,EAAAA,SAAS,EAAEgB,mBAAUG,MAAV,CAAiBC,UAFX;AAGjBnB,EAAAA,QAAQ,EAAEe,mBAAUK,IAAV,CAAeD,UAHR,EAAnB;;;AAMAtB,MAAM,CAACgB,mBAAP,GAA6B,QAA7B;AACAhB,MAAM,CAACiB,WAAP,GAAqB,QAArB","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport propTypes from 'prop-types';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { safePropTypesInstanceOf } from '../../lib/SSRSafe';\nimport { WithStyles } from '../../lib/widgets';\n\nimport { PortalProps, RenderContainerProps } from './RenderContainerTypes';\nimport { PORTAL_INLET_ATTR } from './RenderContainer';\n\ninterface RenderInnerContainerProps extends RenderContainerProps {\n domContainer: Nullable<HTMLElement>;\n rootId: string;\n}\n\n// Заглушка нужна для корректной гидрации порталов после SSR,\n// которую реакт сам пока не поддерживает.\n// @see https://github.com/facebook/react/issues/13097\n// А также для вставки актуального render-container-id на клиенте.\n//\n// Дело в том, что во время гидрации, структура HTML на сервере\n// и на клиенте должна совпадать, иначе возможны артефакты.\n// Алгоритм там примерно такой. Клиент во время гидрации идет\n// по этим двум деревьям и сравнивает узлы. Элементы разных типов\n// он подменяет на свои. А те, что совпадают, он оставляет как есть\n// вместе со всеми атрибутами, навесив только обработчики событий.\n//\n// Поэтому, для портала, который рендерится только на клиенте,\n// нужно использовать серверную заглушку, чтобы при гидрации\n// он не испортил какой-то другой элемент. Null не подходит,\n// т.к. на сервере он тоже не рендерится.\n// А элемент с render-container-id нужно отрендерить с нуля.\n\nconst SSRPlaceholder = () => <script data-id=\"ssr-placeholder\" />;\n\nexport const Portal = ({ container, rt_rootID, children }: PortalProps) => {\n // container exists only in browser\n return (\n <React.Fragment>\n {container ? ReactDOM.createPortal(children, container) : <SSRPlaceholder />}\n {container ? <noscript {...{ [PORTAL_INLET_ATTR]: rt_rootID }} /> : <SSRPlaceholder />}\n </React.Fragment>\n );\n};\n\nexport class RenderInnerContainer extends React.Component<RenderInnerContainerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderInnerContainer';\n public static displayName = 'RenderInnerContainer';\n\n public render() {\n const { anchor, children, domContainer, rootId } = this.props;\n let inner = anchor;\n\n if (children) {\n inner = (\n <React.Fragment>\n {anchor}\n <Portal key=\"portal-ref\" rt_rootID={rootId} container={domContainer}>\n <WithStyles rootId={rootId} domContainer={domContainer} anchor={anchor}>\n {children}\n </WithStyles>\n </Portal>\n </React.Fragment>\n );\n }\n\n return inner;\n }\n}\n\nPortal.propTypes = {\n container: safePropTypesInstanceOf(globalObject.HTMLElement),\n rt_rootID: propTypes.string.isRequired,\n children: propTypes.node.isRequired,\n};\n\nPortal.__KONTUR_REACT_UI__ = 'Portal';\nPortal.displayName = 'Portal';\n"]}
@@ -121,7 +121,11 @@ RenderLayer = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/f
121
121
  var target = event.target || event.srcElement;
122
122
  var node = _this.getAnchorNode();
123
123
 
124
- if (!node || (0, _isInstanceOf.isInstanceOf)(target, _globalObject.globalObject.Element) && (0, _listenFocusOutside.containsTargetOrRenderContainer)(target)(node)) {
124
+ if (
125
+ !node ||
126
+ event.composed && event.composedPath().indexOf(node) > -1 ||
127
+ (0, _isInstanceOf.isInstanceOf)(target, _globalObject.globalObject.Element) && (0, _listenFocusOutside.containsTargetOrRenderContainer)(target)(node))
128
+ {
125
129
  return;
126
130
  }
127
131
 
@@ -1 +1 @@
1
- {"version":3,"sources":["RenderLayer.tsx"],"names":["RenderLayer","rootNode","getProps","defaultProps","focusOutsideListenerToken","handleFocusOutside","event","props","onFocusOutside","handleNativeDocClick","target","srcElement","node","getAnchorNode","globalObject","Element","onClickOutside","componentDidMount","active","attachListeners","componentDidUpdate","prevProps","detachListeners","componentWillUnmount","render","setRootNode","React","Children","only","children","getAnchorElement","addEventListener","document","documentElement","remove","removeEventListener","Component","__KONTUR_REACT_UI__","displayName","propTypes","propName","componentName","Error"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { listen as listenFocusOutside, containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { Nullable } from '../../typings/utility-types';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nexport interface RenderLayerProps extends CommonProps {\n children: JSX.Element;\n onClickOutside?: (e: Event) => void;\n onFocusOutside?: (e: Event) => void;\n active?: boolean;\n getAnchorElement?: () => Nullable<Element>;\n}\n\ntype DefaultProps = Required<Pick<RenderLayerProps, 'active'>>;\n\n@rootNode\nexport class RenderLayer extends React.Component<RenderLayerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderLayer';\n public static displayName = 'RenderLayer';\n\n public static propTypes = {\n active(props: RenderLayerProps, propName: keyof RenderLayerProps, componentName: string) {\n const { active, onClickOutside, onFocusOutside } = props;\n if (active && !(onClickOutside || onFocusOutside)) {\n return new Error(\n `[${componentName}]: using the component without either 'onClickOutside' or 'onFocusOutside' callback is pointless.`,\n );\n }\n },\n };\n\n public static defaultProps: DefaultProps = {\n active: true,\n };\n\n private getProps = createPropsGetter(RenderLayer.defaultProps);\n\n private focusOutsideListenerToken: {\n remove: () => void;\n } | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.getProps().active) {\n this.attachListeners();\n }\n }\n\n public componentDidUpdate(prevProps: RenderLayerProps) {\n const active = this.getProps().active;\n if (!prevProps.active && active) {\n this.attachListeners();\n }\n if (prevProps.active && !active) {\n this.detachListeners();\n }\n }\n\n public componentWillUnmount() {\n if (this.getProps().active) {\n this.detachListeners();\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {React.Children.only(this.props.children)}\n </CommonWrapper>\n );\n }\n\n private getAnchorNode(): Nullable<Element> {\n const { getAnchorElement } = this.props;\n return getAnchorElement ? getAnchorElement() : getRootNode(this);\n }\n\n private attachListeners() {\n const node = this.getAnchorNode();\n if (!node) {\n return;\n }\n\n this.focusOutsideListenerToken = listenFocusOutside(() => [node], this.handleFocusOutside);\n globalObject.addEventListener?.('blur', this.handleFocusOutside);\n globalObject.document?.addEventListener(\n 'ontouchstart' in globalObject.document.documentElement && 'onpointerup' in globalObject.document.documentElement\n ? 'pointerup'\n : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private detachListeners() {\n if (this.focusOutsideListenerToken) {\n this.focusOutsideListenerToken.remove();\n this.focusOutsideListenerToken = null;\n }\n\n globalObject.removeEventListener?.('blur', this.handleFocusOutside);\n globalObject.document?.removeEventListener(\n 'ontouchstart' in globalObject.document.documentElement && 'onpointerup' in globalObject.document.documentElement\n ? 'pointerup'\n : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private handleFocusOutside = (event: Event) => {\n if (this.props.onFocusOutside) {\n this.props.onFocusOutside(event);\n }\n };\n\n private handleNativeDocClick = (event: Event) => {\n const target = event.target || event.srcElement;\n const node = this.getAnchorNode();\n\n if (!node || (isInstanceOf(target, globalObject.Element) && containsTargetOrRenderContainer(target)(node))) {\n return;\n }\n\n if (this.props.onClickOutside) {\n this.props.onClickOutside(event);\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["RenderLayer.tsx"],"names":["RenderLayer","rootNode","getProps","defaultProps","focusOutsideListenerToken","handleFocusOutside","event","props","onFocusOutside","handleNativeDocClick","target","srcElement","node","getAnchorNode","composed","composedPath","indexOf","globalObject","Element","onClickOutside","componentDidMount","active","attachListeners","componentDidUpdate","prevProps","detachListeners","componentWillUnmount","render","setRootNode","React","Children","only","children","getAnchorElement","addEventListener","document","documentElement","remove","removeEventListener","Component","__KONTUR_REACT_UI__","displayName","propTypes","propName","componentName","Error"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { containsTargetOrRenderContainer, listen as listenFocusOutside } from '../../lib/listenFocusOutside';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { Nullable } from '../../typings/utility-types';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nexport interface RenderLayerProps extends CommonProps {\n children: JSX.Element;\n onClickOutside?: (e: Event) => void;\n onFocusOutside?: (e: Event) => void;\n active?: boolean;\n getAnchorElement?: () => Nullable<Element>;\n}\n\ntype DefaultProps = Required<Pick<RenderLayerProps, 'active'>>;\n\n@rootNode\nexport class RenderLayer extends React.Component<RenderLayerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderLayer';\n public static displayName = 'RenderLayer';\n\n public static propTypes = {\n active(props: RenderLayerProps, propName: keyof RenderLayerProps, componentName: string) {\n const { active, onClickOutside, onFocusOutside } = props;\n if (active && !(onClickOutside || onFocusOutside)) {\n return new Error(\n `[${componentName}]: using the component without either 'onClickOutside' or 'onFocusOutside' callback is pointless.`,\n );\n }\n },\n };\n\n public static defaultProps: DefaultProps = {\n active: true,\n };\n\n private getProps = createPropsGetter(RenderLayer.defaultProps);\n\n private focusOutsideListenerToken: {\n remove: () => void;\n } | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.getProps().active) {\n this.attachListeners();\n }\n }\n\n public componentDidUpdate(prevProps: RenderLayerProps) {\n const active = this.getProps().active;\n if (!prevProps.active && active) {\n this.attachListeners();\n }\n if (prevProps.active && !active) {\n this.detachListeners();\n }\n }\n\n public componentWillUnmount() {\n if (this.getProps().active) {\n this.detachListeners();\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {React.Children.only(this.props.children)}\n </CommonWrapper>\n );\n }\n\n private getAnchorNode(): Nullable<Element> {\n const { getAnchorElement } = this.props;\n return getAnchorElement ? getAnchorElement() : getRootNode(this);\n }\n\n private attachListeners() {\n const node = this.getAnchorNode();\n if (!node) {\n return;\n }\n\n this.focusOutsideListenerToken = listenFocusOutside(() => [node], this.handleFocusOutside);\n globalObject.addEventListener?.('blur', this.handleFocusOutside);\n globalObject.document?.addEventListener(\n 'ontouchstart' in globalObject.document.documentElement && 'onpointerup' in globalObject.document.documentElement\n ? 'pointerup'\n : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private detachListeners() {\n if (this.focusOutsideListenerToken) {\n this.focusOutsideListenerToken.remove();\n this.focusOutsideListenerToken = null;\n }\n\n globalObject.removeEventListener?.('blur', this.handleFocusOutside);\n globalObject.document?.removeEventListener(\n 'ontouchstart' in globalObject.document.documentElement && 'onpointerup' in globalObject.document.documentElement\n ? 'pointerup'\n : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private handleFocusOutside = (event: Event) => {\n if (this.props.onFocusOutside) {\n this.props.onFocusOutside(event);\n }\n };\n\n private handleNativeDocClick = (event: Event) => {\n const target = event.target || event.srcElement;\n const node = this.getAnchorNode();\n\n if (\n !node ||\n (event.composed && event.composedPath().indexOf(node) > -1) ||\n (isInstanceOf(target, globalObject.Element) && containsTargetOrRenderContainer(target)(node))\n ) {\n return;\n }\n\n if (this.props.onClickOutside) {\n this.props.onClickOutside(event);\n }\n };\n}\n"]}
@@ -295,4 +295,4 @@ Playground = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.defau
295
295
  return /*#__PURE__*/_react.default.createElement("div", { ref: _this.stopEl, style: { height: 50 } });
296
296
  };_this.
297
297
 
298
- getStickyStop = function () {return _this.stopEl.current;};return _this;}var _proto = Playground.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_Emotion.EmotionConsumer, null, function (emotion) {_this2.emotion = emotion;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeConsumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});});};_proto.renderMain = function renderMain() {var styles = (0, _Playground.getStyles)(this.emotion);var wrapperClassName = this.emotion.cx(styles.playground(), styles.playgroundWrapper(this.theme));return /*#__PURE__*/_react.default.createElement("div", { className: wrapperClassName }, /*#__PURE__*/_react.default.createElement(_Gapped.Gapped, { vertical: true, gap: 50 }, this.renderTabsGroup(), this.renderSizesGroup(), this.renderLinksGroup(), this.renderButtonsGroup(), this.renderInputsGroup(), this.renderOtherInputsGroup(), this.renderTokenInputsGroup(), this.renderSwitchersGroup(), this.renderControlsGroup()), this.renderStickyStopElement(), /*#__PURE__*/_react.default.createElement(_Gapped.Gapped, { vertical: true, gap: 50 }, this.renderHintsGroup(), this.renderTooltip(), this.renderPaging(), this.renderFileUploader()));};_proto.renderTabs = function renderTabs() {var _this$emotion$cx;var styles = (0, _Playground.getStyles)(this.emotion);var _this$props = this.props,onThemeChange = _this$props.onThemeChange,onEditLinkClick = _this$props.onEditLinkClick;var tabsOuterWrapperStyle = { background: this.theme.bgDefault };var tabsOuterWrapperClass = this.emotion.cx((_this$emotion$cx = {}, _this$emotion$cx[styles.tabsWrapper(this.theme)] = true, _this$emotion$cx[styles.stickyTabsWrapper(this.theme)] = useSticky, _this$emotion$cx));return /*#__PURE__*/_react.default.createElement("div", { style: tabsOuterWrapperStyle, className: tabsOuterWrapperClass }, /*#__PURE__*/_react.default.createElement(_Gapped.Gapped, { gap: 40 }, /*#__PURE__*/_react.default.createElement(_Tabs.Tabs, { value: this.getCurrentTab(), onValueChange: onThemeChange, vertical: false }, /*#__PURE__*/_react.default.createElement("div", { className: styles.tabsInnerWrapper(this.theme) }, /*#__PURE__*/_react.default.createElement(_Tabs.Tabs.Tab, { id: _constants.ThemeType.Default }, "\u0414\u0435\u0444\u043E\u043B\u0442\u043D\u0430\u044F"), /*#__PURE__*/_react.default.createElement(_Tabs.Tabs.Tab, { id: _constants.ThemeType.Dark }, "\u0422\u0435\u043C\u043D\u0430\u044F"), /*#__PURE__*/_react.default.createElement(_Tabs.Tabs.Tab, { id: _constants.ThemeType.DefaultOld }, "\u0414\u0435\u0444\u043E\u043B\u0442\u043D\u0430\u044F 3.0"), /*#__PURE__*/_react.default.createElement(_Tabs.Tabs.Tab, { id: _constants.ThemeType.FlatOld }, "\u041F\u043B\u043E\u0441\u043A\u0430\u044F 3.0"), /*#__PURE__*/_react.default.createElement(_Tabs.Tabs.Tab, { id: _constants.ThemeType.Theme2022 }, "\u041D\u043E\u0432\u0430\u044F 2022"), /*#__PURE__*/_react.default.createElement(_Tabs.Tabs.Tab, { id: _constants.ThemeType.Theme2022Dark }, "\u041D\u043E\u0432\u0430\u044F 2022 \u0422\u0451\u043C\u043D\u0430\u044F"))), /*#__PURE__*/_react.default.createElement(_Link2.Link, { onClick: onEditLinkClick }, "\u041D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0442\u0435\u043C\u0443")));};return Playground;}(_react.default.Component);exports.Playground = Playground;
298
+ getStickyStop = function () {return _this.stopEl.current;};return _this;}var _proto = Playground.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_Emotion.EmotionConsumer, null, function (emotion) {_this2.emotion = emotion;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});});};_proto.renderMain = function renderMain() {var styles = (0, _Playground.getStyles)(this.emotion);var wrapperClassName = this.emotion.cx(styles.playground(), styles.playgroundWrapper(this.theme));return /*#__PURE__*/_react.default.createElement("div", { className: wrapperClassName }, /*#__PURE__*/_react.default.createElement(_Gapped.Gapped, { vertical: true, gap: 50 }, this.renderTabsGroup(), this.renderSizesGroup(), this.renderLinksGroup(), this.renderButtonsGroup(), this.renderInputsGroup(), this.renderOtherInputsGroup(), this.renderTokenInputsGroup(), this.renderSwitchersGroup(), this.renderControlsGroup()), this.renderStickyStopElement(), /*#__PURE__*/_react.default.createElement(_Gapped.Gapped, { vertical: true, gap: 50 }, this.renderHintsGroup(), this.renderTooltip(), this.renderPaging(), this.renderFileUploader()));};_proto.renderTabs = function renderTabs() {var _this$emotion$cx;var styles = (0, _Playground.getStyles)(this.emotion);var _this$props = this.props,onThemeChange = _this$props.onThemeChange,onEditLinkClick = _this$props.onEditLinkClick;var tabsOuterWrapperStyle = { background: this.theme.bgDefault };var tabsOuterWrapperClass = this.emotion.cx((_this$emotion$cx = {}, _this$emotion$cx[styles.tabsWrapper(this.theme)] = true, _this$emotion$cx[styles.stickyTabsWrapper(this.theme)] = useSticky, _this$emotion$cx));return /*#__PURE__*/_react.default.createElement("div", { style: tabsOuterWrapperStyle, className: tabsOuterWrapperClass }, /*#__PURE__*/_react.default.createElement(_Gapped.Gapped, { gap: 40 }, /*#__PURE__*/_react.default.createElement(_Tabs.Tabs, { value: this.getCurrentTab(), onValueChange: onThemeChange, vertical: false }, /*#__PURE__*/_react.default.createElement("div", { className: styles.tabsInnerWrapper(this.theme) }, /*#__PURE__*/_react.default.createElement(_Tabs.Tabs.Tab, { id: _constants.ThemeType.Default }, "\u0414\u0435\u0444\u043E\u043B\u0442\u043D\u0430\u044F"), /*#__PURE__*/_react.default.createElement(_Tabs.Tabs.Tab, { id: _constants.ThemeType.Dark }, "\u0422\u0435\u043C\u043D\u0430\u044F"), /*#__PURE__*/_react.default.createElement(_Tabs.Tabs.Tab, { id: _constants.ThemeType.DefaultOld }, "\u0414\u0435\u0444\u043E\u043B\u0442\u043D\u0430\u044F 3.0"), /*#__PURE__*/_react.default.createElement(_Tabs.Tabs.Tab, { id: _constants.ThemeType.FlatOld }, "\u041F\u043B\u043E\u0441\u043A\u0430\u044F 3.0"), /*#__PURE__*/_react.default.createElement(_Tabs.Tabs.Tab, { id: _constants.ThemeType.Theme2022 }, "\u041D\u043E\u0432\u0430\u044F 2022"), /*#__PURE__*/_react.default.createElement(_Tabs.Tabs.Tab, { id: _constants.ThemeType.Theme2022Dark }, "\u041D\u043E\u0432\u0430\u044F 2022 \u0422\u0451\u043C\u043D\u0430\u044F"))), /*#__PURE__*/_react.default.createElement(_Link2.Link, { onClick: onEditLinkClick }, "\u041D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0442\u0435\u043C\u0443")));};return Playground;}(_react.default.Component);exports.Playground = Playground;
@@ -1 +1 @@
1
- {"version":3,"sources":["Playground.tsx"],"names":["useSticky","isTestEnv","Playground","stopEl","React","createRef","renderTabsGroup","getStickyStop","renderTabs","getCurrentTab","props","currentThemeType","ThemeType","Dark","FlatOld","DefaultOld","Theme2022","Theme2022Dark","Default","renderSizesGroup","theme","renderLinksGroup","propsList","icon","children","use","disabled","renderButtonsGroup","arrow","size","width","loading","renderInputsGroup","placeholder","error","warning","fromProps","renderTokenInputsGroup","renderOtherInputsGroup","renderSwitchersGroup","renderControlsGroup","renderHintsGroup","renderTooltip","styles","emotion","tooltipContent","renderPaging","renderFileUploader","renderStickyStopElement","height","current","render","renderMain","wrapperClassName","cx","playground","playgroundWrapper","onThemeChange","onEditLinkClick","tabsOuterWrapperStyle","background","bgDefault","tabsOuterWrapperClass","tabsWrapper","stickyTabsWrapper","tabsInnerWrapper","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport SearchIcon from '@skbkontur/react-icons/Search';\nimport LinkIcon from '@skbkontur/react-icons/Link';\nimport OkIcon from '@skbkontur/react-icons/Ok';\nimport ErrorIcon from '@skbkontur/react-icons/Error';\nimport TrashIcon from '@skbkontur/react-icons/Trash';\nimport HelpDotIcon from '@skbkontur/react-icons/HelpDot';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { Button, ButtonProps } from '../../components/Button';\nimport { Tabs } from '../../components/Tabs';\nimport { Gapped } from '../../components/Gapped';\nimport { Link, LinkProps } from '../../components/Link';\nimport { Input, InputProps } from '../../components/Input';\nimport { Tooltip } from '../../components/Tooltip';\nimport { Sticky } from '../../components/Sticky';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { FileUploader } from '../../components/FileUploader';\nimport { ThemeConsumer } from '../../lib/theming/ThemeContext';\n\nimport { ThemeType } from './constants';\nimport { TokenInputPlayground } from './TokenInputPlayground';\nimport { DatePickerPlayground } from './AnotherInputsPlayground';\nimport { TogglePlayground } from './TogglePlayground';\nimport { SwitcherPlayground } from './SwitcherPlayground';\nimport { FxInputPlayground } from './FxInputPlayground';\nimport { CurrencyInputPlayground } from './CurrencyInputPlayground';\nimport { getComponentsFromPropsList } from './helpers';\nimport { CheckboxPlayground } from './CheckboxPlayground';\nimport { RadioPlayground } from './RadioPlayground';\nimport { PagingPlayground } from './PagingPlayground';\nimport { HintPlayground } from './HintPlayground';\nimport { ComponentsGroup } from './ComponentsGroup';\nimport { SizesGroup } from './SizesGroup';\nimport { getStyles } from './Playground.styles';\n\nconst useSticky = !isTestEnv;\n\nexport interface PlaygroundProps {\n currentThemeType: ThemeType;\n onThemeChange: (value: string) => void;\n onEditLinkClick: () => void;\n}\n\nexport class Playground extends React.Component<PlaygroundProps> {\n private theme!: Theme;\n private emotion!: Emotion;\n private stopEl = React.createRef<HTMLDivElement>();\n\n public render() {\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeConsumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeConsumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n private renderMain() {\n const styles = getStyles(this.emotion);\n const wrapperClassName = this.emotion.cx(styles.playground(), styles.playgroundWrapper(this.theme));\n return (\n <div className={wrapperClassName}>\n <Gapped vertical gap={50}>\n {this.renderTabsGroup()}\n {this.renderSizesGroup()}\n {this.renderLinksGroup()}\n {this.renderButtonsGroup()}\n {this.renderInputsGroup()}\n {this.renderOtherInputsGroup()}\n {this.renderTokenInputsGroup()}\n {this.renderSwitchersGroup()}\n {this.renderControlsGroup()}\n </Gapped>\n {this.renderStickyStopElement()}\n <Gapped vertical gap={50}>\n {this.renderHintsGroup()}\n {this.renderTooltip()}\n {this.renderPaging()}\n {this.renderFileUploader()}\n </Gapped>\n </div>\n );\n }\n\n private renderTabsGroup = () => {\n return useSticky ? (\n <Sticky side={'top'} getStop={this.getStickyStop}>\n {this.renderTabs()}\n </Sticky>\n ) : (\n this.renderTabs()\n );\n };\n\n private renderTabs() {\n const styles = getStyles(this.emotion);\n const { onThemeChange, onEditLinkClick } = this.props;\n const tabsOuterWrapperStyle = { background: this.theme.bgDefault };\n const tabsOuterWrapperClass = this.emotion.cx({\n [styles.tabsWrapper(this.theme)]: true,\n [styles.stickyTabsWrapper(this.theme)]: useSticky,\n });\n\n return (\n <div style={tabsOuterWrapperStyle} className={tabsOuterWrapperClass}>\n <Gapped gap={40}>\n <Tabs value={this.getCurrentTab()} onValueChange={onThemeChange} vertical={false}>\n <div className={styles.tabsInnerWrapper(this.theme)}>\n <Tabs.Tab id={ThemeType.Default}>Дефолтная</Tabs.Tab>\n <Tabs.Tab id={ThemeType.Dark}>Темная</Tabs.Tab>\n <Tabs.Tab id={ThemeType.DefaultOld}>Дефолтная 3.0</Tabs.Tab>\n <Tabs.Tab id={ThemeType.FlatOld}>Плоская 3.0</Tabs.Tab>\n <Tabs.Tab id={ThemeType.Theme2022}>Новая 2022</Tabs.Tab>\n <Tabs.Tab id={ThemeType.Theme2022Dark}>Новая 2022 Тёмная</Tabs.Tab>\n </div>\n </Tabs>\n <Link onClick={onEditLinkClick}>Настроить тему</Link>\n </Gapped>\n </div>\n );\n }\n\n private getCurrentTab = () => {\n switch (this.props.currentThemeType) {\n case ThemeType.Dark:\n return ThemeType.Dark;\n case ThemeType.FlatOld:\n return ThemeType.FlatOld;\n case ThemeType.DefaultOld:\n return ThemeType.DefaultOld;\n case ThemeType.Theme2022:\n return ThemeType.Theme2022;\n case ThemeType.Theme2022Dark:\n return ThemeType.Theme2022Dark;\n default:\n return ThemeType.Default;\n }\n };\n\n private renderSizesGroup = () => {\n return (\n <ComponentsGroup title={'Размеры'} theme={this.theme}>\n <SizesGroup size={'small'} />\n <SizesGroup size={'medium'} />\n <SizesGroup size={'large'} />\n </ComponentsGroup>\n );\n };\n\n private renderLinksGroup = () => {\n const propsList: LinkProps[] = [\n { icon: <LinkIcon />, children: 'Enabled' },\n { icon: <OkIcon />, use: 'success', children: 'Success' },\n { icon: <ErrorIcon />, use: 'danger', children: 'Danger' },\n { icon: <TrashIcon />, use: 'grayed', children: 'Grayed' },\n { icon: <TrashIcon />, children: 'Disabled', disabled: true },\n ];\n return (\n <ComponentsGroup title={'Ссылки'} theme={this.theme}>\n <Gapped wrap verticalAlign=\"middle\" gap={10}>\n {getComponentsFromPropsList(<Link />, propsList)}\n </Gapped>\n </ComponentsGroup>\n );\n };\n\n private renderButtonsGroup = () => {\n const propsList: ButtonProps[] = [\n { children: 'Default' },\n { children: 'Primary', use: 'primary' },\n { children: 'Danger', use: 'danger' },\n { children: 'Pay', use: 'pay' },\n { children: 'Success', use: 'success' },\n { children: 'Disabled', disabled: true },\n { children: 'Back', arrow: 'left', size: 'medium', width: 110 },\n { children: 'Forward', arrow: true, size: 'medium', use: 'primary', width: 110 },\n { children: 'Loading', size: 'medium', loading: true },\n ];\n\n return (\n <ComponentsGroup title={'Кнопки'} theme={this.theme}>\n {getComponentsFromPropsList(<Button width={120} size={'small'} />, propsList)}\n </ComponentsGroup>\n );\n };\n\n private renderInputsGroup = () => {\n const propsList: InputProps[] = [\n { placeholder: 'Enabled' },\n { placeholder: 'Error', error: true },\n { placeholder: 'Warning', warning: true },\n { placeholder: 'Disabled', disabled: true },\n ];\n const fromProps = getComponentsFromPropsList(<Input width={120} />, propsList);\n return (\n <ComponentsGroup title={'Поле ввода'} theme={this.theme}>\n <Input width={380} prefix=\"https://kontur.ru/search?query=\" rightIcon={<SearchIcon />} />\n <div>\n <Gapped gap={10}>{fromProps}</Gapped>\n </div>\n </ComponentsGroup>\n );\n };\n\n private renderTokenInputsGroup = () => {\n return (\n <ComponentsGroup title={'Поле с токеном'} theme={this.theme}>\n <TokenInputPlayground />\n </ComponentsGroup>\n );\n };\n\n private renderOtherInputsGroup = () => {\n return (\n <ComponentsGroup title={'Прочие поля'} theme={this.theme}>\n <CurrencyInputPlayground />\n <FxInputPlayground />\n <DatePickerPlayground />\n </ComponentsGroup>\n );\n };\n\n private renderSwitchersGroup = () => {\n return (\n <ComponentsGroup title={'Переключатели'} theme={this.theme}>\n <SwitcherPlayground />\n </ComponentsGroup>\n );\n };\n\n private renderControlsGroup = () => {\n return (\n <ComponentsGroup title={'Радио, чекбоксы'} theme={this.theme}>\n <Gapped verticalAlign={'top'} gap={60}>\n <CheckboxPlayground />\n <RadioPlayground />\n <TogglePlayground />\n </Gapped>\n </ComponentsGroup>\n );\n };\n\n private renderHintsGroup = () => {\n return (\n <ComponentsGroup title={'Тултип'} theme={this.theme}>\n <HintPlayground />\n </ComponentsGroup>\n );\n };\n\n private renderTooltip = () => {\n const styles = getStyles(this.emotion);\n const tooltipContent = () => (\n <div className={styles.tooltipContent()}>\n {'Информация об ошибке. Короткий объясняющий текст и ссылка, если нужно'}\n </div>\n );\n return (\n <ComponentsGroup title={'Тултип'} theme={this.theme}>\n <Tooltip render={tooltipContent} pos=\"right middle\" trigger={'opened'} disableAnimations>\n <Link icon={<HelpDotIcon />} />\n </Tooltip>\n </ComponentsGroup>\n );\n };\n\n private renderPaging = () => {\n return (\n <ComponentsGroup title={'Пейджинг'} theme={this.theme}>\n <PagingPlayground />\n </ComponentsGroup>\n );\n };\n\n private renderFileUploader = () => {\n return (\n <ComponentsGroup title={'FileUploader'} theme={this.theme}>\n <FileUploader multiple />\n </ComponentsGroup>\n );\n };\n\n private renderStickyStopElement = () => {\n return <div ref={this.stopEl} style={{ height: 50 }} />;\n };\n\n private getStickyStop = () => this.stopEl.current;\n}\n"]}
1
+ {"version":3,"sources":["Playground.tsx"],"names":["useSticky","isTestEnv","Playground","stopEl","React","createRef","renderTabsGroup","getStickyStop","renderTabs","getCurrentTab","props","currentThemeType","ThemeType","Dark","FlatOld","DefaultOld","Theme2022","Theme2022Dark","Default","renderSizesGroup","theme","renderLinksGroup","propsList","icon","children","use","disabled","renderButtonsGroup","arrow","size","width","loading","renderInputsGroup","placeholder","error","warning","fromProps","renderTokenInputsGroup","renderOtherInputsGroup","renderSwitchersGroup","renderControlsGroup","renderHintsGroup","renderTooltip","styles","emotion","tooltipContent","renderPaging","renderFileUploader","renderStickyStopElement","height","current","render","renderMain","wrapperClassName","cx","playground","playgroundWrapper","onThemeChange","onEditLinkClick","tabsOuterWrapperStyle","background","bgDefault","tabsOuterWrapperClass","tabsWrapper","stickyTabsWrapper","tabsInnerWrapper","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport SearchIcon from '@skbkontur/react-icons/Search';\nimport LinkIcon from '@skbkontur/react-icons/Link';\nimport OkIcon from '@skbkontur/react-icons/Ok';\nimport ErrorIcon from '@skbkontur/react-icons/Error';\nimport TrashIcon from '@skbkontur/react-icons/Trash';\nimport HelpDotIcon from '@skbkontur/react-icons/HelpDot';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { Button, ButtonProps } from '../../components/Button';\nimport { Tabs } from '../../components/Tabs';\nimport { Gapped } from '../../components/Gapped';\nimport { Link, LinkProps } from '../../components/Link';\nimport { Input, InputProps } from '../../components/Input';\nimport { Tooltip } from '../../components/Tooltip';\nimport { Sticky } from '../../components/Sticky';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { FileUploader } from '../../components/FileUploader';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { ThemeType } from './constants';\nimport { TokenInputPlayground } from './TokenInputPlayground';\nimport { DatePickerPlayground } from './AnotherInputsPlayground';\nimport { TogglePlayground } from './TogglePlayground';\nimport { SwitcherPlayground } from './SwitcherPlayground';\nimport { FxInputPlayground } from './FxInputPlayground';\nimport { CurrencyInputPlayground } from './CurrencyInputPlayground';\nimport { getComponentsFromPropsList } from './helpers';\nimport { CheckboxPlayground } from './CheckboxPlayground';\nimport { RadioPlayground } from './RadioPlayground';\nimport { PagingPlayground } from './PagingPlayground';\nimport { HintPlayground } from './HintPlayground';\nimport { ComponentsGroup } from './ComponentsGroup';\nimport { SizesGroup } from './SizesGroup';\nimport { getStyles } from './Playground.styles';\n\nconst useSticky = !isTestEnv;\n\nexport interface PlaygroundProps {\n currentThemeType: ThemeType;\n onThemeChange: (value: string) => void;\n onEditLinkClick: () => void;\n}\n\nexport class Playground extends React.Component<PlaygroundProps> {\n private theme!: Theme;\n private emotion!: Emotion;\n private stopEl = React.createRef<HTMLDivElement>();\n\n public render() {\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n private renderMain() {\n const styles = getStyles(this.emotion);\n const wrapperClassName = this.emotion.cx(styles.playground(), styles.playgroundWrapper(this.theme));\n return (\n <div className={wrapperClassName}>\n <Gapped vertical gap={50}>\n {this.renderTabsGroup()}\n {this.renderSizesGroup()}\n {this.renderLinksGroup()}\n {this.renderButtonsGroup()}\n {this.renderInputsGroup()}\n {this.renderOtherInputsGroup()}\n {this.renderTokenInputsGroup()}\n {this.renderSwitchersGroup()}\n {this.renderControlsGroup()}\n </Gapped>\n {this.renderStickyStopElement()}\n <Gapped vertical gap={50}>\n {this.renderHintsGroup()}\n {this.renderTooltip()}\n {this.renderPaging()}\n {this.renderFileUploader()}\n </Gapped>\n </div>\n );\n }\n\n private renderTabsGroup = () => {\n return useSticky ? (\n <Sticky side={'top'} getStop={this.getStickyStop}>\n {this.renderTabs()}\n </Sticky>\n ) : (\n this.renderTabs()\n );\n };\n\n private renderTabs() {\n const styles = getStyles(this.emotion);\n const { onThemeChange, onEditLinkClick } = this.props;\n const tabsOuterWrapperStyle = { background: this.theme.bgDefault };\n const tabsOuterWrapperClass = this.emotion.cx({\n [styles.tabsWrapper(this.theme)]: true,\n [styles.stickyTabsWrapper(this.theme)]: useSticky,\n });\n\n return (\n <div style={tabsOuterWrapperStyle} className={tabsOuterWrapperClass}>\n <Gapped gap={40}>\n <Tabs value={this.getCurrentTab()} onValueChange={onThemeChange} vertical={false}>\n <div className={styles.tabsInnerWrapper(this.theme)}>\n <Tabs.Tab id={ThemeType.Default}>Дефолтная</Tabs.Tab>\n <Tabs.Tab id={ThemeType.Dark}>Темная</Tabs.Tab>\n <Tabs.Tab id={ThemeType.DefaultOld}>Дефолтная 3.0</Tabs.Tab>\n <Tabs.Tab id={ThemeType.FlatOld}>Плоская 3.0</Tabs.Tab>\n <Tabs.Tab id={ThemeType.Theme2022}>Новая 2022</Tabs.Tab>\n <Tabs.Tab id={ThemeType.Theme2022Dark}>Новая 2022 Тёмная</Tabs.Tab>\n </div>\n </Tabs>\n <Link onClick={onEditLinkClick}>Настроить тему</Link>\n </Gapped>\n </div>\n );\n }\n\n private getCurrentTab = () => {\n switch (this.props.currentThemeType) {\n case ThemeType.Dark:\n return ThemeType.Dark;\n case ThemeType.FlatOld:\n return ThemeType.FlatOld;\n case ThemeType.DefaultOld:\n return ThemeType.DefaultOld;\n case ThemeType.Theme2022:\n return ThemeType.Theme2022;\n case ThemeType.Theme2022Dark:\n return ThemeType.Theme2022Dark;\n default:\n return ThemeType.Default;\n }\n };\n\n private renderSizesGroup = () => {\n return (\n <ComponentsGroup title={'Размеры'} theme={this.theme}>\n <SizesGroup size={'small'} />\n <SizesGroup size={'medium'} />\n <SizesGroup size={'large'} />\n </ComponentsGroup>\n );\n };\n\n private renderLinksGroup = () => {\n const propsList: LinkProps[] = [\n { icon: <LinkIcon />, children: 'Enabled' },\n { icon: <OkIcon />, use: 'success', children: 'Success' },\n { icon: <ErrorIcon />, use: 'danger', children: 'Danger' },\n { icon: <TrashIcon />, use: 'grayed', children: 'Grayed' },\n { icon: <TrashIcon />, children: 'Disabled', disabled: true },\n ];\n return (\n <ComponentsGroup title={'Ссылки'} theme={this.theme}>\n <Gapped wrap verticalAlign=\"middle\" gap={10}>\n {getComponentsFromPropsList(<Link />, propsList)}\n </Gapped>\n </ComponentsGroup>\n );\n };\n\n private renderButtonsGroup = () => {\n const propsList: ButtonProps[] = [\n { children: 'Default' },\n { children: 'Primary', use: 'primary' },\n { children: 'Danger', use: 'danger' },\n { children: 'Pay', use: 'pay' },\n { children: 'Success', use: 'success' },\n { children: 'Disabled', disabled: true },\n { children: 'Back', arrow: 'left', size: 'medium', width: 110 },\n { children: 'Forward', arrow: true, size: 'medium', use: 'primary', width: 110 },\n { children: 'Loading', size: 'medium', loading: true },\n ];\n\n return (\n <ComponentsGroup title={'Кнопки'} theme={this.theme}>\n {getComponentsFromPropsList(<Button width={120} size={'small'} />, propsList)}\n </ComponentsGroup>\n );\n };\n\n private renderInputsGroup = () => {\n const propsList: InputProps[] = [\n { placeholder: 'Enabled' },\n { placeholder: 'Error', error: true },\n { placeholder: 'Warning', warning: true },\n { placeholder: 'Disabled', disabled: true },\n ];\n const fromProps = getComponentsFromPropsList(<Input width={120} />, propsList);\n return (\n <ComponentsGroup title={'Поле ввода'} theme={this.theme}>\n <Input width={380} prefix=\"https://kontur.ru/search?query=\" rightIcon={<SearchIcon />} />\n <div>\n <Gapped gap={10}>{fromProps}</Gapped>\n </div>\n </ComponentsGroup>\n );\n };\n\n private renderTokenInputsGroup = () => {\n return (\n <ComponentsGroup title={'Поле с токеном'} theme={this.theme}>\n <TokenInputPlayground />\n </ComponentsGroup>\n );\n };\n\n private renderOtherInputsGroup = () => {\n return (\n <ComponentsGroup title={'Прочие поля'} theme={this.theme}>\n <CurrencyInputPlayground />\n <FxInputPlayground />\n <DatePickerPlayground />\n </ComponentsGroup>\n );\n };\n\n private renderSwitchersGroup = () => {\n return (\n <ComponentsGroup title={'Переключатели'} theme={this.theme}>\n <SwitcherPlayground />\n </ComponentsGroup>\n );\n };\n\n private renderControlsGroup = () => {\n return (\n <ComponentsGroup title={'Радио, чекбоксы'} theme={this.theme}>\n <Gapped verticalAlign={'top'} gap={60}>\n <CheckboxPlayground />\n <RadioPlayground />\n <TogglePlayground />\n </Gapped>\n </ComponentsGroup>\n );\n };\n\n private renderHintsGroup = () => {\n return (\n <ComponentsGroup title={'Тултип'} theme={this.theme}>\n <HintPlayground />\n </ComponentsGroup>\n );\n };\n\n private renderTooltip = () => {\n const styles = getStyles(this.emotion);\n const tooltipContent = () => (\n <div className={styles.tooltipContent()}>\n {'Информация об ошибке. Короткий объясняющий текст и ссылка, если нужно'}\n </div>\n );\n return (\n <ComponentsGroup title={'Тултип'} theme={this.theme}>\n <Tooltip render={tooltipContent} pos=\"right middle\" trigger={'opened'} disableAnimations>\n <Link icon={<HelpDotIcon />} />\n </Tooltip>\n </ComponentsGroup>\n );\n };\n\n private renderPaging = () => {\n return (\n <ComponentsGroup title={'Пейджинг'} theme={this.theme}>\n <PagingPlayground />\n </ComponentsGroup>\n );\n };\n\n private renderFileUploader = () => {\n return (\n <ComponentsGroup title={'FileUploader'} theme={this.theme}>\n <FileUploader multiple />\n </ComponentsGroup>\n );\n };\n\n private renderStickyStopElement = () => {\n return <div ref={this.stopEl} style={{ height: 50 }} />;\n };\n\n private getStickyStop = () => this.stopEl.current;\n}\n"]}
@@ -13,18 +13,21 @@ var _ComboBox = require("../../components/ComboBox");
13
13
  var _Link = require("../../components/Link");
14
14
  var ColorFunctions = _interopRequireWildcard(require("../../lib/styles/ColorFunctions"));
15
15
 
16
- var _Theme = require("../../lib/theming/themes/Theme2022");
17
16
  var _ThemeHelpers = require("../../lib/theming/ThemeHelpers");
18
- var _Theme2022Dark = require("../../lib/theming/themes/Theme2022Dark");
17
+
18
+
19
+
19
20
  var _ThemeContext = require("../../lib/theming/ThemeContext");
20
21
  var _Emotion = require("../../lib/theming/Emotion");
22
+ var _Theme2022DarkUpdate = require("../../lib/theming/themes/Theme2022DarkUpdate2024");
23
+ var _Theme2022Update = require("../../lib/theming/themes/Theme2022Update2024");
21
24
 
22
25
  var _ThemeEditor = require("./ThemeEditor");
23
26
  var _Playground = require("./Playground.styles");
24
27
  var _Playground2 = require("./Playground");
25
- var _constants = require("./constants");
26
-
27
-
28
+ var _constants = require("./constants"); // TODO: revert in 5.0
29
+ // import { THEME_2022 } from '../../lib/theming/themes/Theme2022';
30
+ // import { THEME_2022_DARK } from '../../lib/theming/themes/Theme2022Dark';
28
31
 
29
32
 
30
33
 
@@ -246,4 +249,4 @@ ThemeContextPlayground = /*#__PURE__*/function (_React$Component) {(0, _inherits
246
249
  });
247
250
 
248
251
  return _ThemeFactory.ThemeFactory.create(result);
249
- };_this.state = { currentTheme: _DefaultTheme.DEFAULT_THEME, currentThemeType: _constants.ThemeType.Default, editorOpened: false, themes: { default: _DefaultTheme.DEFAULT_THEME, defaultOld: _DefaultTheme8pxOld.DEFAULT_THEME_8PX_OLD, dark: _DarkTheme.DARK_THEME, flatOld: _FlatTheme8pxOld.FLAT_THEME_8PX_OLD, theme2022: _Theme.THEME_2022, theme2022Dark: _Theme2022Dark.THEME_2022_DARK }, themesErrors: { default: {}, defaultOld: {}, dark: {}, flatOld: {}, theme2022: {}, theme2022Dark: {} } };return _this;}var _proto = ThemeContextPlayground.prototype;_proto.render = function render() {var _this2 = this;var _this$state3 = this.state,currentTheme = _this$state3.currentTheme,editorOpened = _this$state3.editorOpened,currentThemeType = _this$state3.currentThemeType;return /*#__PURE__*/_react.default.createElement(_Emotion.EmotionConsumer, null, function (emotion) {_this2.emotion = emotion;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeProvider, { value: currentTheme }, editorOpened && _this2.renderSidePage(), /*#__PURE__*/_react.default.createElement(_Playground2.Playground, { onThemeChange: _this2.handleThemeChange, currentThemeType: currentThemeType, onEditLinkClick: _this2.handleOpen }));});};return ThemeContextPlayground;}(_react.default.Component);exports.ThemeContextPlayground = ThemeContextPlayground;
252
+ };_this.state = { currentTheme: _DefaultTheme.DEFAULT_THEME, currentThemeType: _constants.ThemeType.Default, editorOpened: false, themes: { default: _DefaultTheme.DEFAULT_THEME, defaultOld: _DefaultTheme8pxOld.DEFAULT_THEME_8PX_OLD, dark: _DarkTheme.DARK_THEME, flatOld: _FlatTheme8pxOld.FLAT_THEME_8PX_OLD, theme2022: _Theme2022Update.THEME_2022_UPDATE_2024, theme2022Dark: _Theme2022DarkUpdate.THEME_2022_DARK_UPDATE_2024 }, themesErrors: { default: {}, defaultOld: {}, dark: {}, flatOld: {}, theme2022: {}, theme2022Dark: {} } };return _this;}var _proto = ThemeContextPlayground.prototype;_proto.render = function render() {var _this2 = this;var _this$state3 = this.state,currentTheme = _this$state3.currentTheme,editorOpened = _this$state3.editorOpened,currentThemeType = _this$state3.currentThemeType;return /*#__PURE__*/_react.default.createElement(_Emotion.EmotionConsumer, null, function (emotion) {_this2.emotion = emotion;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: currentTheme }, editorOpened && _this2.renderSidePage(), /*#__PURE__*/_react.default.createElement(_Playground2.Playground, { onThemeChange: _this2.handleThemeChange, currentThemeType: currentThemeType, onEditLinkClick: _this2.handleOpen }));});};return ThemeContextPlayground;}(_react.default.Component);exports.ThemeContextPlayground = ThemeContextPlayground;
@@ -1 +1 @@
1
- {"version":3,"sources":["ThemeContextPlayground.tsx"],"names":["getEditingThemeType","editingThemeItem","value","ThemeContextPlayground","props","editableThemesItems","ThemeType","Default","label","Dark","DefaultOld","FlatOld","Theme2022","Theme2022Dark","renderSidePage","state","currentTheme","themesErrors","themes","editingThemeType","themeErrors","styles","emotion","handleClose","editorHeaderWrapper","getEditableThemesItems","handleEditingThemeSwitch","fontSize","marginTop","handelGetTheme","sidePageBody","handleThemeVariableChange","themeObject","ThemeFactory","getKeys","forEach","key","descriptor","Object","getOwnPropertyDescriptor","get","DEFAULT_THEME","console","log","JSON","stringify","handleOpen","setState","editorOpened","find","i","currentThemeType","handleThemeChange","themeType","variable","theme","currentValue","canSetVariable","ColorFunctions","isValid","nextThemeErrors","stateUpdate","result","changeThemeVariable","query","Promise","resolve","filter","toLowerCase","includes","item","variableName","variableValue","enumerable","configurable","set","defineProperty","create","default","defaultOld","DEFAULT_THEME_8PX_OLD","dark","DARK_THEME","flatOld","FLAT_THEME_8PX_OLD","theme2022","THEME_2022","theme2022Dark","THEME_2022_DARK","render","React","Component"],"mappings":"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","sourcesContent":["import React, { ReactNode } from 'react';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { FLAT_THEME_8PX_OLD } from '../../lib/theming/themes/FlatTheme8pxOld';\nimport { DEFAULT_THEME_8PX_OLD } from '../../lib/theming/themes/DefaultTheme8pxOld';\nimport { DEFAULT_THEME } from '../../lib/theming/themes/DefaultTheme';\nimport { DARK_THEME } from '../../lib/theming/themes/DarkTheme';\nimport { SidePage } from '../../components/SidePage';\nimport { Gapped } from '../../components/Gapped';\nimport { ComboBox } from '../../components/ComboBox';\nimport { Link } from '../../components/Link';\nimport * as ColorFunctions from '../../lib/styles/ColorFunctions';\nimport { Writeable } from '../../typings/utility-types';\nimport { THEME_2022 } from '../../lib/theming/themes/Theme2022';\nimport { findPropertyDescriptor } from '../../lib/theming/ThemeHelpers';\nimport { THEME_2022_DARK } from '../../lib/theming/themes/Theme2022Dark';\nimport { ThemeProvider } from '../../lib/theming/ThemeContext';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\n\nimport { ThemeEditor } from './ThemeEditor';\nimport { getStyles } from './Playground.styles';\nimport { Playground } from './Playground';\nimport { ThemeType } from './constants';\n\ninterface PlaygroundState {\n editorOpened: boolean;\n editingThemeItem?: EditingThemeItem;\n themes: Themes;\n themesErrors: ThemesErrors;\n currentTheme: Theme;\n currentThemeType: ThemeType;\n}\ninterface Themes {\n default: Theme;\n dark: Theme;\n defaultOld: Theme;\n flatOld: Theme;\n theme2022: Theme;\n theme2022Dark: Theme;\n}\ninterface ThemesErrors {\n default: ThemeErrorsType;\n dark: ThemeErrorsType;\n defaultOld: ThemeErrorsType;\n flatOld: ThemeErrorsType;\n theme2022: ThemeErrorsType;\n theme2022Dark: ThemeErrorsType;\n}\ninterface EditingThemeItem {\n value: ThemeType;\n label: string;\n}\ninterface PlaygroundProps {\n children?: ReactNode;\n}\nexport type ThemeErrorsType = Writeable<{ [key in keyof Theme]?: boolean }>;\n\nconst getEditingThemeType = (editingThemeItem: PlaygroundState['editingThemeItem']) => {\n if (editingThemeItem) {\n return editingThemeItem.value;\n }\n\n return 'default';\n};\nexport class ThemeContextPlayground extends React.Component<PlaygroundProps, PlaygroundState> {\n private emotion!: Emotion;\n\n private readonly editableThemesItems = [\n { value: ThemeType.Default, label: 'Дефолтная' },\n { value: ThemeType.Dark, label: 'Темная' },\n { value: ThemeType.DefaultOld, label: 'Старая дефолтная' },\n { value: ThemeType.FlatOld, label: 'Старая плоская' },\n { value: ThemeType.Theme2022, label: 'Новая 2022' },\n { value: ThemeType.Theme2022Dark, label: 'Новая 2022 Тёмная' },\n ];\n\n constructor(props: PlaygroundProps) {\n super(props);\n this.state = {\n currentTheme: DEFAULT_THEME,\n currentThemeType: ThemeType.Default,\n editorOpened: false,\n themes: {\n default: DEFAULT_THEME,\n defaultOld: DEFAULT_THEME_8PX_OLD,\n dark: DARK_THEME,\n flatOld: FLAT_THEME_8PX_OLD,\n theme2022: THEME_2022,\n theme2022Dark: THEME_2022_DARK,\n },\n themesErrors: {\n default: {},\n defaultOld: {},\n dark: {},\n flatOld: {},\n theme2022: {},\n theme2022Dark: {},\n },\n };\n }\n\n public render() {\n const { currentTheme, editorOpened, currentThemeType } = this.state;\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeProvider value={currentTheme}>\n {editorOpened && this.renderSidePage()}\n {\n <Playground\n onThemeChange={this.handleThemeChange}\n currentThemeType={currentThemeType}\n onEditLinkClick={this.handleOpen}\n />\n }\n </ThemeProvider>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n private renderSidePage = () => {\n const { currentTheme, themesErrors, editingThemeItem, themes } = this.state;\n\n const editingThemeType = getEditingThemeType(editingThemeItem);\n const themeErrors = themesErrors[editingThemeType];\n const styles = getStyles(this.emotion);\n return (\n <SidePage disableAnimations ignoreBackgroundClick blockBackground width={600} onClose={this.handleClose}>\n <SidePage.Header>\n <div className={styles.editorHeaderWrapper(currentTheme)}>\n <Gapped wrap verticalAlign=\"middle\">\n <span>Тема для редактирования:</span>\n <ComboBox\n getItems={this.getEditableThemesItems}\n value={editingThemeItem}\n onValueChange={this.handleEditingThemeSwitch}\n />\n </Gapped>\n </div>\n <div style={{ fontSize: 14, marginTop: 8 }}>\n <Link onClick={this.handelGetTheme}>Вывести тему в консоль</Link>\n </div>\n </SidePage.Header>\n <SidePage.Body>\n <div className={styles.sidePageBody()}>\n <ThemeEditor\n editingTheme={themes[editingThemeType]}\n currentTheme={currentTheme}\n currentErrors={themeErrors}\n onValueChange={this.handleThemeVariableChange}\n />\n </div>\n </SidePage.Body>\n </SidePage>\n );\n };\n\n private handelGetTheme = () => {\n const currentTheme = this.state.currentTheme;\n const themeObject: Writeable<ThemeIn> = {};\n ThemeFactory.getKeys(currentTheme).forEach((key) => {\n const descriptor = Object.getOwnPropertyDescriptor(currentTheme, key);\n if (descriptor && !descriptor.get && DEFAULT_THEME[key] && currentTheme[key] !== DEFAULT_THEME[key]) {\n themeObject[key] = currentTheme[key] as keyof Theme;\n }\n });\n\n console.log(JSON.stringify(themeObject));\n };\n\n private handleOpen = () => {\n this.setState((state) => ({\n editorOpened: true,\n editingThemeItem: this.editableThemesItems.find((i) => i.value === state.currentThemeType),\n }));\n };\n\n private handleClose = () => {\n this.setState({\n editorOpened: false,\n });\n };\n\n private handleThemeChange = (value: string) => {\n const themeType = value as ThemeType;\n this.setState({\n currentThemeType: themeType,\n currentTheme: this.state.themes[themeType],\n });\n };\n\n private handleThemeVariableChange = (variable: keyof Theme, value: string) => {\n const { editingThemeItem, currentTheme, themes, themesErrors } = this.state;\n const editingThemeType = getEditingThemeType(editingThemeItem);\n\n const theme = themes[editingThemeType];\n const currentValue = theme[variable] as string;\n\n let canSetVariable = true;\n if (ColorFunctions.isValid(currentValue)) {\n canSetVariable = ColorFunctions.isValid(value);\n themesErrors[editingThemeType][variable] = !canSetVariable;\n }\n\n const nextThemeErrors: ThemesErrors = { ...themesErrors };\n nextThemeErrors[editingThemeType][variable] = !canSetVariable;\n const stateUpdate = { themes, currentTheme, themesErrors: nextThemeErrors };\n\n if (canSetVariable) {\n const result = this.changeThemeVariable(theme, variable, value);\n stateUpdate.themes[editingThemeType] = result;\n if (this.state.currentThemeType === editingThemeType) {\n stateUpdate.currentTheme = result;\n }\n }\n\n this.setState(stateUpdate);\n };\n\n private getEditableThemesItems = (query: string) => {\n return Promise.resolve(this.editableThemesItems.filter((i) => i.label.toLowerCase().includes(query.toLowerCase())));\n };\n\n private handleEditingThemeSwitch = (item: EditingThemeItem) => {\n this.setState({ editingThemeItem: item });\n };\n\n private changeThemeVariable = (theme: Theme, variableName: keyof Theme, variableValue: string): Theme => {\n const result: ThemeIn = {};\n ThemeFactory.getKeys(theme).forEach((key) => {\n const descriptor = findPropertyDescriptor(theme, key);\n descriptor.enumerable = true;\n descriptor.configurable = true;\n if (key === variableName) {\n delete descriptor.get;\n delete descriptor.set;\n descriptor.value = variableValue;\n }\n Object.defineProperty(result, key, descriptor);\n });\n\n return ThemeFactory.create<ThemeIn>(result);\n };\n}\n"]}
1
+ {"version":3,"sources":["ThemeContextPlayground.tsx"],"names":["getEditingThemeType","editingThemeItem","value","ThemeContextPlayground","props","editableThemesItems","ThemeType","Default","label","Dark","DefaultOld","FlatOld","Theme2022","Theme2022Dark","renderSidePage","state","currentTheme","themesErrors","themes","editingThemeType","themeErrors","styles","emotion","handleClose","editorHeaderWrapper","getEditableThemesItems","handleEditingThemeSwitch","fontSize","marginTop","handelGetTheme","sidePageBody","handleThemeVariableChange","themeObject","ThemeFactory","getKeys","forEach","key","descriptor","Object","getOwnPropertyDescriptor","get","DEFAULT_THEME","console","log","JSON","stringify","handleOpen","setState","editorOpened","find","i","currentThemeType","handleThemeChange","themeType","variable","theme","currentValue","canSetVariable","ColorFunctions","isValid","nextThemeErrors","stateUpdate","result","changeThemeVariable","query","Promise","resolve","filter","toLowerCase","includes","item","variableName","variableValue","enumerable","configurable","set","defineProperty","create","default","defaultOld","DEFAULT_THEME_8PX_OLD","dark","DARK_THEME","flatOld","FLAT_THEME_8PX_OLD","theme2022","THEME_2022_UPDATE_2024","theme2022Dark","THEME_2022_DARK_UPDATE_2024","render","React","Component"],"mappings":"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","sourcesContent":["import React, { ReactNode } from 'react';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { FLAT_THEME_8PX_OLD } from '../../lib/theming/themes/FlatTheme8pxOld';\nimport { DEFAULT_THEME_8PX_OLD } from '../../lib/theming/themes/DefaultTheme8pxOld';\nimport { DEFAULT_THEME } from '../../lib/theming/themes/DefaultTheme';\nimport { DARK_THEME } from '../../lib/theming/themes/DarkTheme';\nimport { SidePage } from '../../components/SidePage';\nimport { Gapped } from '../../components/Gapped';\nimport { ComboBox } from '../../components/ComboBox';\nimport { Link } from '../../components/Link';\nimport * as ColorFunctions from '../../lib/styles/ColorFunctions';\nimport { Writeable } from '../../typings/utility-types';\nimport { findPropertyDescriptor } from '../../lib/theming/ThemeHelpers';\n// TODO: revert in 5.0\n// import { THEME_2022 } from '../../lib/theming/themes/Theme2022';\n// import { THEME_2022_DARK } from '../../lib/theming/themes/Theme2022Dark';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { THEME_2022_DARK_UPDATE_2024 } from '../../lib/theming/themes/Theme2022DarkUpdate2024';\nimport { THEME_2022_UPDATE_2024 } from '../../lib/theming/themes/Theme2022Update2024';\n\nimport { ThemeEditor } from './ThemeEditor';\nimport { getStyles } from './Playground.styles';\nimport { Playground } from './Playground';\nimport { ThemeType } from './constants';\n\ninterface PlaygroundState {\n editorOpened: boolean;\n editingThemeItem?: EditingThemeItem;\n themes: Themes;\n themesErrors: ThemesErrors;\n currentTheme: Theme;\n currentThemeType: ThemeType;\n}\ninterface Themes {\n default: Theme;\n dark: Theme;\n defaultOld: Theme;\n flatOld: Theme;\n theme2022: Theme;\n theme2022Dark: Theme;\n}\ninterface ThemesErrors {\n default: ThemeErrorsType;\n dark: ThemeErrorsType;\n defaultOld: ThemeErrorsType;\n flatOld: ThemeErrorsType;\n theme2022: ThemeErrorsType;\n theme2022Dark: ThemeErrorsType;\n}\ninterface EditingThemeItem {\n value: ThemeType;\n label: string;\n}\ninterface PlaygroundProps {\n children?: ReactNode;\n}\nexport type ThemeErrorsType = Writeable<{ [key in keyof Theme]?: boolean }>;\n\nconst getEditingThemeType = (editingThemeItem: PlaygroundState['editingThemeItem']) => {\n if (editingThemeItem) {\n return editingThemeItem.value;\n }\n\n return 'default';\n};\nexport class ThemeContextPlayground extends React.Component<PlaygroundProps, PlaygroundState> {\n private emotion!: Emotion;\n\n private readonly editableThemesItems = [\n { value: ThemeType.Default, label: 'Дефолтная' },\n { value: ThemeType.Dark, label: 'Темная' },\n { value: ThemeType.DefaultOld, label: 'Старая дефолтная' },\n { value: ThemeType.FlatOld, label: 'Старая плоская' },\n { value: ThemeType.Theme2022, label: 'Новая 2022' },\n { value: ThemeType.Theme2022Dark, label: 'Новая 2022 Тёмная' },\n ];\n\n constructor(props: PlaygroundProps) {\n super(props);\n this.state = {\n currentTheme: DEFAULT_THEME,\n currentThemeType: ThemeType.Default,\n editorOpened: false,\n themes: {\n default: DEFAULT_THEME,\n defaultOld: DEFAULT_THEME_8PX_OLD,\n dark: DARK_THEME,\n flatOld: FLAT_THEME_8PX_OLD,\n theme2022: THEME_2022_UPDATE_2024,\n theme2022Dark: THEME_2022_DARK_UPDATE_2024,\n },\n themesErrors: {\n default: {},\n defaultOld: {},\n dark: {},\n flatOld: {},\n theme2022: {},\n theme2022Dark: {},\n },\n };\n }\n\n public render() {\n const { currentTheme, editorOpened, currentThemeType } = this.state;\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeContext.Provider value={currentTheme}>\n {editorOpened && this.renderSidePage()}\n {\n <Playground\n onThemeChange={this.handleThemeChange}\n currentThemeType={currentThemeType}\n onEditLinkClick={this.handleOpen}\n />\n }\n </ThemeContext.Provider>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n private renderSidePage = () => {\n const { currentTheme, themesErrors, editingThemeItem, themes } = this.state;\n\n const editingThemeType = getEditingThemeType(editingThemeItem);\n const themeErrors = themesErrors[editingThemeType];\n const styles = getStyles(this.emotion);\n return (\n <SidePage disableAnimations ignoreBackgroundClick blockBackground width={600} onClose={this.handleClose}>\n <SidePage.Header>\n <div className={styles.editorHeaderWrapper(currentTheme)}>\n <Gapped wrap verticalAlign=\"middle\">\n <span>Тема для редактирования:</span>\n <ComboBox\n getItems={this.getEditableThemesItems}\n value={editingThemeItem}\n onValueChange={this.handleEditingThemeSwitch}\n />\n </Gapped>\n </div>\n <div style={{ fontSize: 14, marginTop: 8 }}>\n <Link onClick={this.handelGetTheme}>Вывести тему в консоль</Link>\n </div>\n </SidePage.Header>\n <SidePage.Body>\n <div className={styles.sidePageBody()}>\n <ThemeEditor\n editingTheme={themes[editingThemeType]}\n currentTheme={currentTheme}\n currentErrors={themeErrors}\n onValueChange={this.handleThemeVariableChange}\n />\n </div>\n </SidePage.Body>\n </SidePage>\n );\n };\n\n private handelGetTheme = () => {\n const currentTheme = this.state.currentTheme;\n const themeObject: Writeable<ThemeIn> = {};\n ThemeFactory.getKeys(currentTheme).forEach((key) => {\n const descriptor = Object.getOwnPropertyDescriptor(currentTheme, key);\n if (descriptor && !descriptor.get && DEFAULT_THEME[key] && currentTheme[key] !== DEFAULT_THEME[key]) {\n themeObject[key] = currentTheme[key] as keyof Theme;\n }\n });\n\n console.log(JSON.stringify(themeObject));\n };\n\n private handleOpen = () => {\n this.setState((state) => ({\n editorOpened: true,\n editingThemeItem: this.editableThemesItems.find((i) => i.value === state.currentThemeType),\n }));\n };\n\n private handleClose = () => {\n this.setState({\n editorOpened: false,\n });\n };\n\n private handleThemeChange = (value: string) => {\n const themeType = value as ThemeType;\n this.setState({\n currentThemeType: themeType,\n currentTheme: this.state.themes[themeType],\n });\n };\n\n private handleThemeVariableChange = (variable: keyof Theme, value: string) => {\n const { editingThemeItem, currentTheme, themes, themesErrors } = this.state;\n const editingThemeType = getEditingThemeType(editingThemeItem);\n\n const theme = themes[editingThemeType];\n const currentValue = theme[variable] as string;\n\n let canSetVariable = true;\n if (ColorFunctions.isValid(currentValue)) {\n canSetVariable = ColorFunctions.isValid(value);\n themesErrors[editingThemeType][variable] = !canSetVariable;\n }\n\n const nextThemeErrors: ThemesErrors = { ...themesErrors };\n nextThemeErrors[editingThemeType][variable] = !canSetVariable;\n const stateUpdate = { themes, currentTheme, themesErrors: nextThemeErrors };\n\n if (canSetVariable) {\n const result = this.changeThemeVariable(theme, variable, value);\n stateUpdate.themes[editingThemeType] = result;\n if (this.state.currentThemeType === editingThemeType) {\n stateUpdate.currentTheme = result;\n }\n }\n\n this.setState(stateUpdate);\n };\n\n private getEditableThemesItems = (query: string) => {\n return Promise.resolve(this.editableThemesItems.filter((i) => i.label.toLowerCase().includes(query.toLowerCase())));\n };\n\n private handleEditingThemeSwitch = (item: EditingThemeItem) => {\n this.setState({ editingThemeItem: item });\n };\n\n private changeThemeVariable = (theme: Theme, variableName: keyof Theme, variableValue: string): Theme => {\n const result: ThemeIn = {};\n ThemeFactory.getKeys(theme).forEach((key) => {\n const descriptor = findPropertyDescriptor(theme, key);\n descriptor.enumerable = true;\n descriptor.configurable = true;\n if (key === variableName) {\n delete descriptor.get;\n delete descriptor.set;\n descriptor.value = variableValue;\n }\n Object.defineProperty(result, key, descriptor);\n });\n\n return ThemeFactory.create<ThemeIn>(result);\n };\n}\n"]}
@@ -38,7 +38,8 @@ var VARIABLES_GROUPS = [
38
38
  { title: 'Switcher', prefix: 'switcher' },
39
39
  { title: 'Legacy', prefix: 'chb slt' },
40
40
  { title: 'GlobalLoader', prefix: 'globalLoader' },
41
- { title: 'CloseButtonIcon', prefix: 'closeBtnIcon' }];exports.VARIABLES_GROUPS = VARIABLES_GROUPS;
41
+ { title: 'CloseButtonIcon', prefix: 'closeBtnIcon' },
42
+ { title: 'react-ui-validations', prefix: 'validations' }];exports.VARIABLES_GROUPS = VARIABLES_GROUPS;
42
43
 
43
44
 
44
45
  var DEPRECATED_VARIABLES = [];exports.DEPRECATED_VARIABLES = DEPRECATED_VARIABLES;
@@ -1 +1 @@
1
- {"version":3,"sources":["constants.ts"],"names":["ThemeType","VARIABLES_GROUPS","title","prefix","isCommon","DEPRECATED_VARIABLES"],"mappings":";;AAEYA,S,0CAAAA,S,GAAAA,S,wBAAAA,S,kBAAAA,S,8BAAAA,S,wBAAAA,S,4BAAAA,S,uCAAAA,S,yBAAAA,S;;;;;;;;;AASL,IAAMC,gBAAgB,GAAG;AAC9B,EAAEC,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,MAA3B,EAAmCC,QAAQ,EAAE,IAA7C,EAD8B;AAE9B,EAAEF,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,KAA3B,EAF8B;AAG9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAH8B;AAI9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAJ8B;AAK9B,EAAED,KAAK,EAAE,YAAT,EAAuBC,MAAM,EAAE,sBAA/B,EAL8B;AAM9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAN8B;AAO9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAP8B;AAQ9B,EAAED,KAAK,EAAE,MAAT,EAAiBC,MAAM,EAAE,MAAzB,EAR8B;AAS9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAT8B;AAU9B,EAAED,KAAK,EAAE,MAAT,EAAiBC,MAAM,EAAE,MAAzB,EAV8B;AAW9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAX8B;AAY9B,EAAED,KAAK,EAAE,WAAT,EAAsBC,MAAM,EAAE,WAA9B,EAZ8B;AAa9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAb8B;AAc9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAd8B;AAe9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAf8B;AAgB9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAhB8B;AAiB9B,EAAED,KAAK,EAAE,MAAT,EAAiBC,MAAM,EAAE,KAAzB,EAjB8B;AAkB9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAlB8B;AAmB9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAnB8B;AAoB9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EApB8B;AAqB9B,EAAED,KAAK,EAAE,SAAT,EAAoBC,MAAM,EAAE,SAA5B,EArB8B;AAsB9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAtB8B;AAuB9B,EAAED,KAAK,EAAE,YAAT,EAAuBC,MAAM,EAAE,YAA/B,EAvB8B;AAwB9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAxB8B;AAyB9B,EAAED,KAAK,EAAE,SAAT,EAAoBC,MAAM,EAAE,SAA5B,EAzB8B;AA0B9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EA1B8B;AA2B9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,SAA3B,EA3B8B;AA4B9B,EAAED,KAAK,EAAE,cAAT,EAAyBC,MAAM,EAAE,cAAjC,EA5B8B;AA6B9B,EAAED,KAAK,EAAE,iBAAT,EAA4BC,MAAM,EAAE,cAApC,EA7B8B,CAAzB,C;;;AAgCA,IAAME,oBAAwC,GAAG,EAAjD,C","sourcesContent":["import { Theme } from '../../lib/theming/Theme';\n\nexport enum ThemeType {\n Default = 'default',\n Dark = 'dark',\n DefaultOld = 'defaultOld',\n FlatOld = 'flatOld',\n Theme2022 = 'theme2022',\n Theme2022Dark = 'theme2022Dark',\n}\n\nexport const VARIABLES_GROUPS = [\n { title: 'Common', prefix: 'null', isCommon: true },\n { title: 'Button', prefix: 'btn' },\n { title: 'Border', prefix: 'border' },\n { title: 'Checkbox', prefix: 'checkbox' },\n { title: 'DatePicker', prefix: 'date calendar picker' },\n { title: 'Dropdown', prefix: 'dropdown' },\n { title: 'Input', prefix: 'input' },\n { title: 'Link', prefix: 'link' },\n { title: 'Loader', prefix: 'loader' },\n { title: 'Menu', prefix: 'menu' },\n { title: 'Modal', prefix: 'modal' },\n { title: 'MiniModal', prefix: 'miniModal' },\n { title: 'Paging', prefix: 'paging' },\n { title: 'Popup', prefix: 'popup' },\n { title: 'Radio', prefix: 'radio' },\n { title: 'SidePage', prefix: 'sidePage' },\n { title: 'Tabs', prefix: 'tab' },\n { title: 'Textarea', prefix: 'textarea' },\n { title: 'Toast', prefix: 'toast' },\n { title: 'Toggle', prefix: 'toggle' },\n { title: 'Tooltip', prefix: 'tooltip' },\n { title: 'Token', prefix: 'token' },\n { title: 'TokenInput', prefix: 'tokenInput' },\n { title: 'Select', prefix: 'select' },\n { title: 'Spinner', prefix: 'spinner' },\n { title: 'Switcher', prefix: 'switcher' },\n { title: 'Legacy', prefix: 'chb slt' },\n { title: 'GlobalLoader', prefix: 'globalLoader' },\n { title: 'CloseButtonIcon', prefix: 'closeBtnIcon' },\n];\n\nexport const DEPRECATED_VARIABLES: Array<keyof Theme> = [];\n"]}
1
+ {"version":3,"sources":["constants.ts"],"names":["ThemeType","VARIABLES_GROUPS","title","prefix","isCommon","DEPRECATED_VARIABLES"],"mappings":";;AAEYA,S,0CAAAA,S,GAAAA,S,wBAAAA,S,kBAAAA,S,8BAAAA,S,wBAAAA,S,4BAAAA,S,uCAAAA,S,yBAAAA,S;;;;;;;;;AASL,IAAMC,gBAAgB,GAAG;AAC9B,EAAEC,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,MAA3B,EAAmCC,QAAQ,EAAE,IAA7C,EAD8B;AAE9B,EAAEF,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,KAA3B,EAF8B;AAG9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAH8B;AAI9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAJ8B;AAK9B,EAAED,KAAK,EAAE,YAAT,EAAuBC,MAAM,EAAE,sBAA/B,EAL8B;AAM9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAN8B;AAO9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAP8B;AAQ9B,EAAED,KAAK,EAAE,MAAT,EAAiBC,MAAM,EAAE,MAAzB,EAR8B;AAS9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAT8B;AAU9B,EAAED,KAAK,EAAE,MAAT,EAAiBC,MAAM,EAAE,MAAzB,EAV8B;AAW9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAX8B;AAY9B,EAAED,KAAK,EAAE,WAAT,EAAsBC,MAAM,EAAE,WAA9B,EAZ8B;AAa9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAb8B;AAc9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAd8B;AAe9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAf8B;AAgB9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAhB8B;AAiB9B,EAAED,KAAK,EAAE,MAAT,EAAiBC,MAAM,EAAE,KAAzB,EAjB8B;AAkB9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAlB8B;AAmB9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAnB8B;AAoB9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EApB8B;AAqB9B,EAAED,KAAK,EAAE,SAAT,EAAoBC,MAAM,EAAE,SAA5B,EArB8B;AAsB9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAtB8B;AAuB9B,EAAED,KAAK,EAAE,YAAT,EAAuBC,MAAM,EAAE,YAA/B,EAvB8B;AAwB9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAxB8B;AAyB9B,EAAED,KAAK,EAAE,SAAT,EAAoBC,MAAM,EAAE,SAA5B,EAzB8B;AA0B9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EA1B8B;AA2B9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,SAA3B,EA3B8B;AA4B9B,EAAED,KAAK,EAAE,cAAT,EAAyBC,MAAM,EAAE,cAAjC,EA5B8B;AA6B9B,EAAED,KAAK,EAAE,iBAAT,EAA4BC,MAAM,EAAE,cAApC,EA7B8B;AA8B9B,EAAED,KAAK,EAAE,sBAAT,EAAiCC,MAAM,EAAE,aAAzC,EA9B8B,CAAzB,C;;;AAiCA,IAAME,oBAAwC,GAAG,EAAjD,C","sourcesContent":["import { Theme } from '../../lib/theming/Theme';\n\nexport enum ThemeType {\n Default = 'default',\n Dark = 'dark',\n DefaultOld = 'defaultOld',\n FlatOld = 'flatOld',\n Theme2022 = 'theme2022',\n Theme2022Dark = 'theme2022Dark',\n}\n\nexport const VARIABLES_GROUPS = [\n { title: 'Common', prefix: 'null', isCommon: true },\n { title: 'Button', prefix: 'btn' },\n { title: 'Border', prefix: 'border' },\n { title: 'Checkbox', prefix: 'checkbox' },\n { title: 'DatePicker', prefix: 'date calendar picker' },\n { title: 'Dropdown', prefix: 'dropdown' },\n { title: 'Input', prefix: 'input' },\n { title: 'Link', prefix: 'link' },\n { title: 'Loader', prefix: 'loader' },\n { title: 'Menu', prefix: 'menu' },\n { title: 'Modal', prefix: 'modal' },\n { title: 'MiniModal', prefix: 'miniModal' },\n { title: 'Paging', prefix: 'paging' },\n { title: 'Popup', prefix: 'popup' },\n { title: 'Radio', prefix: 'radio' },\n { title: 'SidePage', prefix: 'sidePage' },\n { title: 'Tabs', prefix: 'tab' },\n { title: 'Textarea', prefix: 'textarea' },\n { title: 'Toast', prefix: 'toast' },\n { title: 'Toggle', prefix: 'toggle' },\n { title: 'Tooltip', prefix: 'tooltip' },\n { title: 'Token', prefix: 'token' },\n { title: 'TokenInput', prefix: 'tokenInput' },\n { title: 'Select', prefix: 'select' },\n { title: 'Spinner', prefix: 'spinner' },\n { title: 'Switcher', prefix: 'switcher' },\n { title: 'Legacy', prefix: 'chb slt' },\n { title: 'GlobalLoader', prefix: 'globalLoader' },\n { title: 'CloseButtonIcon', prefix: 'closeBtnIcon' },\n { title: 'react-ui-validations', prefix: 'validations' },\n];\n\nexport const DEPRECATED_VARIABLES: Array<keyof Theme> = [];\n"]}
@@ -161,7 +161,7 @@ ThemeShowcase = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.de
161
161
  if (!_this.isUnmounting) {
162
162
  _this.setState({ selectedVariable: undefined });
163
163
  }
164
- };if (props.isDebugMode) {ALL_VARIABLES.forEach(function (variable) {var found = _VariablesCollector.ALL_USED_VARIABLES.includes(variable);if (!found) {_this.variablesDiff.push(variable);}});}return _this;}var _proto = ThemeShowcase.prototype;_proto.render = function render() {var _this2 = this;if (!_Supports.IS_PROXY_SUPPORTED) {return /*#__PURE__*/_react.default.createElement("div", null, "\u0422\u0430\u0431\u043B\u0438\u0446\u0430 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u0442\u043E\u043B\u044C\u043A\u043E \u0432", ' ', /*#__PURE__*/_react.default.createElement(_Link.Link, { href: 'https://caniuse.com/#feat=proxy', target: '_blank' }, "\u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\u0445 \u0441 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u043E\u0439 Proxy"), ".");}var selectedVariable = this.state.selectedVariable;var descriptionsToRender = selectedVariable ? _VariablesCollector.COMPONENT_DESCRIPTIONS_BY_VARIABLE[selectedVariable.value] || {} : _VariablesCollector.COMPONENT_DESCRIPTIONS;var isDebugMode = this.props.isDebugMode;var callsCount = isDebugMode ? "(" + _VariablesCollector.CALLS_COUNT + " \u0432\u044B\u0437\u043E\u0432\u043E\u0432)" : '';var executionTime = isDebugMode ? "\u0421\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u0437\u0430 " + _VariablesCollector.EXECUTION_TIME.toFixed(3) + "ms" : '';return /*#__PURE__*/_react.default.createElement(_Emotion.EmotionConsumer, null, function (emotion) {_this2.emotion = emotion;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeConsumer, null, function (theme) {var styles = (0, _ThemeShowcase.getStyles)(_this2.emotion);return /*#__PURE__*/_react.default.createElement(_Gapped.Gapped, { wrap: true, gap: 30, verticalAlign: 'top' }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Sticky.Sticky, { side: 'top' }, /*#__PURE__*/_react.default.createElement("div", { className: styles.searchBar(theme), "data-perf-info": executionTime + " " + callsCount }, /*#__PURE__*/_react.default.createElement(_Gapped.Gapped, { gap: 15 }, /*#__PURE__*/_react.default.createElement(_ComboBox.ComboBox, { getItems: _this2.getItems, value: selectedVariable, onValueChange: _this2.handleVariableChange, onUnexpectedInput: _this2.handleUnexpectedVariableInput, placeholder: 'поиск по названию переменной' }), !!selectedVariable && /*#__PURE__*/_react.default.createElement(_Link.Link, { onClick: _this2.resetVariable }, "\u0441\u0431\u0440\u043E\u0441\u0438\u0442\u044C")))), Object.keys(descriptionsToRender).sort().map(function (componentName) {return /*#__PURE__*/_react.default.createElement(ComponentShowcase, { key: componentName, name: componentName, description: descriptionsToRender[componentName], isDebugMode: isDebugMode, onVariableSelect: _this2.handleVariableChange });})), /*#__PURE__*/_react.default.createElement(ShowUnusedVariables, { diff: _this2.variablesDiff }));});});};_proto.componentWillUnmount = function componentWillUnmount() {this.isUnmounting = true;};_proto.getValues = function getValues(query) {var lowerCaseQuery = query && query.toLowerCase().trim();var allItems = _VariablesCollector.ALL_USED_VARIABLES;if (lowerCaseQuery) {allItems = _VariablesCollector.ALL_USED_VARIABLES.filter(function (usedVariable) {return usedVariable.toLowerCase().startsWith(lowerCaseQuery);});}return allItems.map(function (usedVariableName) {return { value: usedVariableName, label: usedVariableName };});};return ThemeShowcase;}(_react.default.Component);exports.ThemeShowcase = ThemeShowcase;
164
+ };if (props.isDebugMode) {ALL_VARIABLES.forEach(function (variable) {var found = _VariablesCollector.ALL_USED_VARIABLES.includes(variable);if (!found) {_this.variablesDiff.push(variable);}});}return _this;}var _proto = ThemeShowcase.prototype;_proto.render = function render() {var _this2 = this;if (!_Supports.IS_PROXY_SUPPORTED) {return /*#__PURE__*/_react.default.createElement("div", null, "\u0422\u0430\u0431\u043B\u0438\u0446\u0430 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u0442\u043E\u043B\u044C\u043A\u043E \u0432", ' ', /*#__PURE__*/_react.default.createElement(_Link.Link, { href: 'https://caniuse.com/#feat=proxy', target: '_blank' }, "\u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\u0445 \u0441 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u043E\u0439 Proxy"), ".");}var selectedVariable = this.state.selectedVariable;var descriptionsToRender = selectedVariable ? _VariablesCollector.COMPONENT_DESCRIPTIONS_BY_VARIABLE[selectedVariable.value] || {} : _VariablesCollector.COMPONENT_DESCRIPTIONS;var isDebugMode = this.props.isDebugMode;var callsCount = isDebugMode ? "(" + _VariablesCollector.CALLS_COUNT + " \u0432\u044B\u0437\u043E\u0432\u043E\u0432)" : '';var executionTime = isDebugMode ? "\u0421\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u0437\u0430 " + _VariablesCollector.EXECUTION_TIME.toFixed(3) + "ms" : '';return /*#__PURE__*/_react.default.createElement(_Emotion.EmotionConsumer, null, function (emotion) {_this2.emotion = emotion;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {var styles = (0, _ThemeShowcase.getStyles)(_this2.emotion);return /*#__PURE__*/_react.default.createElement(_Gapped.Gapped, { wrap: true, gap: 30, verticalAlign: 'top' }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Sticky.Sticky, { side: 'top' }, /*#__PURE__*/_react.default.createElement("div", { className: styles.searchBar(theme), "data-perf-info": executionTime + " " + callsCount }, /*#__PURE__*/_react.default.createElement(_Gapped.Gapped, { gap: 15 }, /*#__PURE__*/_react.default.createElement(_ComboBox.ComboBox, { getItems: _this2.getItems, value: selectedVariable, onValueChange: _this2.handleVariableChange, onUnexpectedInput: _this2.handleUnexpectedVariableInput, placeholder: 'поиск по названию переменной' }), !!selectedVariable && /*#__PURE__*/_react.default.createElement(_Link.Link, { onClick: _this2.resetVariable }, "\u0441\u0431\u0440\u043E\u0441\u0438\u0442\u044C")))), Object.keys(descriptionsToRender).sort().map(function (componentName) {return /*#__PURE__*/_react.default.createElement(ComponentShowcase, { key: componentName, name: componentName, description: descriptionsToRender[componentName], isDebugMode: isDebugMode, onVariableSelect: _this2.handleVariableChange });})), /*#__PURE__*/_react.default.createElement(ShowUnusedVariables, { diff: _this2.variablesDiff }));});});};_proto.componentWillUnmount = function componentWillUnmount() {this.isUnmounting = true;};_proto.getValues = function getValues(query) {var lowerCaseQuery = query && query.toLowerCase().trim();var allItems = _VariablesCollector.ALL_USED_VARIABLES;if (lowerCaseQuery) {allItems = _VariablesCollector.ALL_USED_VARIABLES.filter(function (usedVariable) {return usedVariable.toLowerCase().startsWith(lowerCaseQuery);});}return allItems.map(function (usedVariableName) {return { value: usedVariableName, label: usedVariableName };});};return ThemeShowcase;}(_react.default.Component);exports.ThemeShowcase = ThemeShowcase;
165
165
 
166
166
 
167
167