@skbkontur/react-ui 4.2.2 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (694) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +9 -17
  3. package/cjs/components/Autocomplete/Autocomplete.js +13 -7
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.d.ts +4 -5
  6. package/cjs/components/Button/Button.js +8 -3
  7. package/cjs/components/Button/Button.js.map +1 -1
  8. package/cjs/components/Button/Button.mixins.js +1 -1
  9. package/cjs/components/Button/Button.mixins.js.map +1 -1
  10. package/cjs/components/Button/Button.styles.js +18 -18
  11. package/cjs/components/Button/Button.styles.js.map +1 -1
  12. package/cjs/components/Center/Center.d.ts +4 -3
  13. package/cjs/components/Center/Center.js +9 -3
  14. package/cjs/components/Center/Center.js.map +1 -1
  15. package/cjs/components/Checkbox/Checkbox.js +4 -2
  16. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  17. package/cjs/components/Checkbox/Checkbox.styles.d.ts +1 -1
  18. package/cjs/components/Checkbox/Checkbox.styles.js +1 -1
  19. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  20. package/cjs/components/ComboBox/ComboBox.d.ts +8 -13
  21. package/cjs/components/ComboBox/ComboBox.js +12 -2
  22. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  23. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +6 -9
  24. package/cjs/components/CurrencyInput/CurrencyInput.js +25 -10
  25. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  26. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +3 -1
  27. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js +14 -2
  28. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js.map +1 -1
  29. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +3 -9
  30. package/cjs/components/CurrencyLabel/CurrencyLabel.js +15 -15
  31. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  32. package/cjs/components/DateInput/DateFragmentsView.d.ts +1 -1
  33. package/cjs/components/DateInput/DateFragmentsView.js +10 -1
  34. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  35. package/cjs/components/DateInput/DateInput.d.ts +9 -12
  36. package/cjs/components/DateInput/DateInput.js +11 -3
  37. package/cjs/components/DateInput/DateInput.js.map +1 -1
  38. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js +1 -2
  39. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
  40. package/cjs/components/DateInput/helpers/SelectionHelpers.js +2 -2
  41. package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
  42. package/cjs/components/DatePicker/DatePicker.d.ts +7 -9
  43. package/cjs/components/DatePicker/DatePicker.js +23 -9
  44. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  45. package/cjs/components/DatePicker/Picker.js +5 -1
  46. package/cjs/components/DatePicker/Picker.js.map +1 -1
  47. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +5 -5
  48. package/cjs/components/DropdownMenu/DropdownMenu.js +9 -3
  49. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  50. package/cjs/components/FileUploader/FileUploader.js +2 -2
  51. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  52. package/cjs/components/FileUploader/FileUploader.md +8 -1
  53. package/cjs/components/FxInput/FxInput.d.ts +6 -6
  54. package/cjs/components/FxInput/FxInput.js +16 -11
  55. package/cjs/components/FxInput/FxInput.js.map +1 -1
  56. package/cjs/components/Gapped/Gapped.d.ts +7 -8
  57. package/cjs/components/Gapped/Gapped.js +12 -6
  58. package/cjs/components/Gapped/Gapped.js.map +1 -1
  59. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +7 -14
  60. package/cjs/components/GlobalLoader/GlobalLoader.js +13 -9
  61. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  62. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +2 -2
  63. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  64. package/cjs/components/Hint/Hint.d.ts +8 -12
  65. package/cjs/components/Hint/Hint.js +15 -5
  66. package/cjs/components/Hint/Hint.js.map +1 -1
  67. package/cjs/components/Hint/Hint.md +14 -0
  68. package/cjs/components/Input/Input.d.ts +4 -3
  69. package/cjs/components/Input/Input.js +10 -5
  70. package/cjs/components/Input/Input.js.map +1 -1
  71. package/cjs/components/Input/Input.md +5 -1
  72. package/cjs/components/Kebab/Kebab.d.ts +8 -15
  73. package/cjs/components/Kebab/Kebab.js +14 -5
  74. package/cjs/components/Kebab/Kebab.js.map +1 -1
  75. package/cjs/components/Link/Link.d.ts +5 -7
  76. package/cjs/components/Link/Link.js +12 -5
  77. package/cjs/components/Link/Link.js.map +1 -1
  78. package/cjs/components/Loader/Loader.d.ts +9 -5
  79. package/cjs/components/Loader/Loader.js +15 -4
  80. package/cjs/components/Loader/Loader.js.map +1 -1
  81. package/cjs/components/Loader/__stories__/LoaderAndButton.js +6 -0
  82. package/cjs/components/Loader/__stories__/LoaderAndButton.js.map +1 -1
  83. package/cjs/components/MenuItem/MenuItem.js +3 -1
  84. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  85. package/cjs/components/Modal/Modal.d.ts +4 -3
  86. package/cjs/components/Modal/Modal.js +9 -4
  87. package/cjs/components/Modal/Modal.js.map +1 -1
  88. package/cjs/components/Modal/Modal.styles.d.ts +2 -2
  89. package/cjs/components/Modal/Modal.styles.js +2 -2
  90. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  91. package/cjs/components/Modal/ModalBody.js +2 -2
  92. package/cjs/components/Modal/ModalBody.js.map +1 -1
  93. package/cjs/components/Paging/Paging.d.ts +7 -10
  94. package/cjs/components/Paging/Paging.js +16 -6
  95. package/cjs/components/Paging/Paging.js.map +1 -1
  96. package/cjs/components/Paging/PagingDefaultComponent.d.ts +3 -3
  97. package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -1
  98. package/cjs/components/PasswordInput/PasswordInput.d.ts +4 -3
  99. package/cjs/components/PasswordInput/PasswordInput.js +14 -7
  100. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  101. package/cjs/components/Radio/Radio.d.ts +4 -3
  102. package/cjs/components/Radio/Radio.js +11 -4
  103. package/cjs/components/Radio/Radio.js.map +1 -1
  104. package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -4
  105. package/cjs/components/RadioGroup/RadioGroup.js +4 -2
  106. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  107. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +2 -2
  108. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  109. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +7 -8
  110. package/cjs/components/ScrollContainer/ScrollContainer.helpers.js +4 -4
  111. package/cjs/components/ScrollContainer/ScrollContainer.helpers.js.map +1 -1
  112. package/cjs/components/ScrollContainer/ScrollContainer.js +12 -6
  113. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  114. package/cjs/components/Select/Item.d.ts +4 -2
  115. package/cjs/components/Select/Item.js +3 -0
  116. package/cjs/components/Select/Item.js.map +1 -1
  117. package/cjs/components/Select/Select.d.ts +3 -12
  118. package/cjs/components/Select/Select.js +8 -1
  119. package/cjs/components/Select/Select.js.map +1 -1
  120. package/cjs/components/Select/Select.styles.js +4 -4
  121. package/cjs/components/Select/Select.styles.js.map +1 -1
  122. package/cjs/components/SidePage/SidePage.d.ts +5 -6
  123. package/cjs/components/SidePage/SidePage.js +8 -1
  124. package/cjs/components/SidePage/SidePage.js.map +1 -1
  125. package/cjs/components/SidePage/SidePageFooter.d.ts +6 -4
  126. package/cjs/components/SidePage/SidePageFooter.js +4 -0
  127. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  128. package/cjs/components/Spinner/Spinner.d.ts +4 -2
  129. package/cjs/components/Spinner/Spinner.js +10 -4
  130. package/cjs/components/Spinner/Spinner.js.map +1 -1
  131. package/cjs/components/Spinner/Spinner.styles.d.ts +1 -1
  132. package/cjs/components/Spinner/Spinner.styles.js +7 -7
  133. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  134. package/cjs/components/Sticky/Sticky.d.ts +5 -4
  135. package/cjs/components/Sticky/Sticky.js +9 -2
  136. package/cjs/components/Sticky/Sticky.js.map +1 -1
  137. package/cjs/components/Tabs/Indicator.d.ts +1 -1
  138. package/cjs/components/Tabs/Indicator.js +1 -1
  139. package/cjs/components/Tabs/Indicator.js.map +1 -1
  140. package/cjs/components/Tabs/Tab.d.ts +4 -4
  141. package/cjs/components/Tabs/Tab.js +11 -13
  142. package/cjs/components/Tabs/Tab.js.map +1 -1
  143. package/cjs/components/Tabs/Tabs.d.ts +4 -4
  144. package/cjs/components/Tabs/Tabs.js +12 -3
  145. package/cjs/components/Tabs/Tabs.js.map +1 -1
  146. package/cjs/components/Textarea/Textarea.d.ts +8 -10
  147. package/cjs/components/Textarea/Textarea.js +13 -7
  148. package/cjs/components/Textarea/Textarea.js.map +1 -1
  149. package/cjs/components/Textarea/TextareaCounter.d.ts +2 -2
  150. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  151. package/cjs/components/Toast/Toast.js +1 -1
  152. package/cjs/components/Toast/Toast.js.map +1 -1
  153. package/cjs/components/Toggle/Toggle.d.ts +5 -6
  154. package/cjs/components/Toggle/Toggle.js +10 -4
  155. package/cjs/components/Toggle/Toggle.js.map +1 -1
  156. package/cjs/components/TokenInput/TokenInput.d.ts +19 -16
  157. package/cjs/components/TokenInput/TokenInput.js +76 -59
  158. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  159. package/cjs/components/TokenInput/TokenInputMenu.d.ts +2 -1
  160. package/cjs/components/TokenInput/TokenInputMenu.js +1 -1
  161. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  162. package/cjs/components/Tooltip/Tooltip.d.ts +12 -16
  163. package/cjs/components/Tooltip/Tooltip.js +25 -14
  164. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  165. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +6 -5
  166. package/cjs/components/TooltipMenu/TooltipMenu.js +11 -5
  167. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  168. package/cjs/hooks/useEffectWithoutInitCall.d.ts +2 -2
  169. package/cjs/hooks/useEffectWithoutInitCall.js +2 -2
  170. package/cjs/hooks/useEffectWithoutInitCall.js.map +1 -1
  171. package/cjs/hooks/useMemoObject.d.ts +2 -1
  172. package/cjs/hooks/useMemoObject.js +2 -0
  173. package/cjs/hooks/useMemoObject.js.map +1 -1
  174. package/cjs/internal/BGRuler.d.ts +13 -15
  175. package/cjs/internal/BGRuler.js +16 -8
  176. package/cjs/internal/BGRuler.js.map +1 -1
  177. package/cjs/internal/Calendar/Calendar.d.ts +4 -13
  178. package/cjs/internal/Calendar/Calendar.js +10 -5
  179. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  180. package/cjs/internal/Calendar/DayCellView.styles.js +1 -1
  181. package/cjs/internal/Calendar/DayCellView.styles.js.map +1 -1
  182. package/cjs/internal/Calendar/Month.js +16 -11
  183. package/cjs/internal/Calendar/Month.js.map +1 -1
  184. package/cjs/internal/Calendar/MonthViewModel.d.ts +1 -1
  185. package/cjs/internal/Calendar/config.d.ts +1 -8
  186. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +1 -1
  187. package/cjs/internal/CommonWrapper/CommonWrapper.js +5 -4
  188. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  189. package/cjs/internal/ComponentCombinator.d.ts +6 -8
  190. package/cjs/internal/ComponentCombinator.js +6 -2
  191. package/cjs/internal/ComponentCombinator.js.map +1 -1
  192. package/cjs/internal/ComponentTable.d.ts +7 -8
  193. package/cjs/internal/ComponentTable.js +14 -3
  194. package/cjs/internal/ComponentTable.js.map +1 -1
  195. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +6 -6
  196. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +14 -8
  197. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  198. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +4 -12
  199. package/cjs/internal/CustomComboBox/ComboBoxView.js +18 -10
  200. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  201. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +4 -5
  202. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  203. package/cjs/internal/DataTids/DataTids.d.ts +5 -5
  204. package/cjs/internal/DataTids/DataTids.js +4 -0
  205. package/cjs/internal/DataTids/DataTids.js.map +1 -1
  206. package/cjs/internal/DateSelect/DateSelect.d.ts +4 -6
  207. package/cjs/internal/DateSelect/DateSelect.js +16 -10
  208. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  209. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +4 -7
  210. package/cjs/internal/DropdownContainer/DropdownContainer.js +8 -5
  211. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  212. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +1 -1
  213. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -1
  214. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +2 -1
  215. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  216. package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -3
  217. package/cjs/internal/InputLikeText/InputLikeText.js +11 -4
  218. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  219. package/cjs/internal/InternalMenu/InternalMenu.d.ts +3 -9
  220. package/cjs/internal/InternalMenu/InternalMenu.js +36 -14
  221. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  222. package/cjs/internal/MaskedInput/MaskedInput.d.ts +5 -2
  223. package/cjs/internal/MaskedInput/MaskedInput.js +20 -7
  224. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  225. package/cjs/internal/Menu/Menu.d.ts +4 -7
  226. package/cjs/internal/Menu/Menu.js +14 -4
  227. package/cjs/internal/Menu/Menu.js.map +1 -1
  228. package/cjs/internal/MobilePopup/MobilePopup.js +1 -1
  229. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  230. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +1 -1
  231. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  232. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  233. package/cjs/internal/Popup/Popup.d.ts +11 -17
  234. package/cjs/internal/Popup/Popup.js +38 -19
  235. package/cjs/internal/Popup/Popup.js.map +1 -1
  236. package/cjs/internal/Popup/PopupHelper.d.ts +1 -1
  237. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  238. package/cjs/internal/Popup/PopupPin.d.ts +1 -1
  239. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  240. package/cjs/internal/PopupMenu/PopupMenu.d.ts +8 -11
  241. package/cjs/internal/PopupMenu/PopupMenu.js +8 -1
  242. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  243. package/cjs/internal/RenderLayer/RenderLayer.d.ts +5 -4
  244. package/cjs/internal/RenderLayer/RenderLayer.js +8 -2
  245. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  246. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +11 -6
  247. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js +7 -0
  248. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js.map +1 -1
  249. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +7 -6
  250. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js +2 -3
  251. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js.map +1 -1
  252. package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +6 -4
  253. package/cjs/internal/ThemePlayground/FxInputPlayground.js +5 -5
  254. package/cjs/internal/ThemePlayground/FxInputPlayground.js.map +1 -1
  255. package/cjs/internal/ThemePlayground/HintPlayground.d.ts +1 -1
  256. package/cjs/internal/ThemePlayground/HintPlayground.js.map +1 -1
  257. package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +6 -6
  258. package/cjs/internal/ThemePlayground/PagingPlayground.js +5 -2
  259. package/cjs/internal/ThemePlayground/PagingPlayground.js.map +1 -1
  260. package/cjs/internal/ThemePlayground/Playground.d.ts +1 -1
  261. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  262. package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +9 -6
  263. package/cjs/internal/ThemePlayground/SelectPlayground.js +6 -0
  264. package/cjs/internal/ThemePlayground/SelectPlayground.js.map +1 -1
  265. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +2 -2
  266. package/cjs/internal/ThemePlayground/SizesGroup.js +2 -0
  267. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  268. package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +9 -8
  269. package/cjs/internal/ThemePlayground/SwitcherPlayground.js +6 -1
  270. package/cjs/internal/ThemePlayground/SwitcherPlayground.js.map +1 -1
  271. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +14 -4
  272. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  273. package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +1 -4
  274. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  275. package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +2 -7
  276. package/cjs/internal/ThemePlayground/TogglePlayground.js +4 -10
  277. package/cjs/internal/ThemePlayground/TogglePlayground.js.map +1 -1
  278. package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +6 -4
  279. package/cjs/internal/ThemePlayground/TokenInputPlayground.js +3 -0
  280. package/cjs/internal/ThemePlayground/TokenInputPlayground.js.map +1 -1
  281. package/cjs/internal/ThemePlayground/VariableValue.d.ts +6 -8
  282. package/cjs/internal/ThemePlayground/VariableValue.js +6 -1
  283. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  284. package/cjs/internal/ThemePlayground/helpers.d.ts +1 -1
  285. package/cjs/internal/ThemePlayground/helpers.js +4 -2
  286. package/cjs/internal/ThemePlayground/helpers.js.map +1 -1
  287. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  288. package/cjs/internal/ZIndex/ZIndex.d.ts +7 -11
  289. package/cjs/internal/ZIndex/ZIndex.js +7 -7
  290. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  291. package/cjs/internal/themes/DefaultTheme.js +1 -1
  292. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  293. package/cjs/lib/ConditionalHandler.js.map +1 -1
  294. package/cjs/lib/InstanceWithAnchorElement.d.ts +1 -1
  295. package/cjs/lib/InstanceWithAnchorElement.js.map +1 -1
  296. package/cjs/lib/ModalStack.js +2 -2
  297. package/cjs/lib/ModalStack.js.map +1 -1
  298. package/cjs/lib/SSRSafe.d.ts +2 -1
  299. package/cjs/lib/SSRSafe.js +9 -1
  300. package/cjs/lib/SSRSafe.js.map +1 -1
  301. package/cjs/lib/animation/index.js +1 -0
  302. package/cjs/lib/animation/index.js.map +1 -1
  303. package/cjs/lib/callChildRef/callChildRef.js +1 -1
  304. package/cjs/lib/callChildRef/callChildRef.js.map +1 -1
  305. package/cjs/lib/createPropsGetter.d.ts +2 -1
  306. package/cjs/lib/createPropsGetter.js +3 -0
  307. package/cjs/lib/createPropsGetter.js.map +1 -1
  308. package/cjs/lib/date/InternalDateCalculator.d.ts +1 -1
  309. package/cjs/lib/date/InternalDateCalculator.js +1 -1
  310. package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
  311. package/cjs/lib/date/InternalDateValidator.d.ts +1 -1
  312. package/cjs/lib/date/InternalDateValidator.js +9 -2
  313. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  314. package/cjs/lib/extractKeyboardAction.d.ts +1 -1
  315. package/cjs/lib/extractKeyboardAction.js.map +1 -1
  316. package/cjs/lib/filterProps.js +0 -1
  317. package/cjs/lib/filterProps.js.map +1 -1
  318. package/cjs/lib/listenFocusOutside.d.ts +1 -1
  319. package/cjs/lib/listenFocusOutside.js.map +1 -1
  320. package/cjs/lib/locale/useLocaleForControl.d.ts +1 -1
  321. package/cjs/lib/locale/useLocaleForControl.js.map +1 -1
  322. package/cjs/lib/memo.d.ts +3 -1
  323. package/cjs/lib/memo.js +3 -3
  324. package/cjs/lib/memo.js.map +1 -1
  325. package/cjs/lib/net/fetch.js +2 -2
  326. package/cjs/lib/net/fetch.js.map +1 -1
  327. package/cjs/lib/reactGetTextContent.js +0 -1
  328. package/cjs/lib/reactGetTextContent.js.map +1 -1
  329. package/cjs/lib/rootNode/getRootNode.d.ts +3 -3
  330. package/cjs/lib/rootNode/getRootNode.js +7 -7
  331. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  332. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +9 -9
  333. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  334. package/cjs/lib/styles/ColorFactory.js +2 -2
  335. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  336. package/cjs/lib/styles/ColorFunctions.js.map +1 -1
  337. package/cjs/lib/theming/AnimationKeyframes.d.ts +3 -5
  338. package/cjs/lib/theming/AnimationKeyframes.js +8 -22
  339. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  340. package/cjs/lib/theming/Emotion.js +1 -0
  341. package/cjs/lib/theming/Emotion.js.map +1 -1
  342. package/cjs/lib/theming/ThemeFactory.d.ts +1 -1
  343. package/cjs/lib/theming/ThemeFactory.js +3 -1
  344. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  345. package/cjs/lib/theming/ThemeHelpers.d.ts +2 -2
  346. package/cjs/lib/theming/ThemeHelpers.js +1 -1
  347. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  348. package/cjs/lib/utils.d.ts +3 -1
  349. package/cjs/lib/utils.js +5 -2
  350. package/cjs/lib/utils.js.map +1 -1
  351. package/cjs/lib/withClassWrapper.js +1 -4
  352. package/cjs/lib/withClassWrapper.js.map +1 -1
  353. package/cjs/typings/event-types.d.ts +2 -2
  354. package/components/Autocomplete/Autocomplete/Autocomplete.js +26 -13
  355. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  356. package/components/Autocomplete/Autocomplete.d.ts +9 -17
  357. package/components/Button/Button/Button.js +11 -5
  358. package/components/Button/Button/Button.js.map +1 -1
  359. package/components/Button/Button.d.ts +4 -5
  360. package/components/Button/Button.mixins/Button.mixins.js +1 -1
  361. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  362. package/components/Button/Button.styles/Button.styles.js +18 -18
  363. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  364. package/components/Center/Center/Center.js +7 -5
  365. package/components/Center/Center/Center.js.map +1 -1
  366. package/components/Center/Center.d.ts +4 -3
  367. package/components/Checkbox/Checkbox/Checkbox.js +5 -2
  368. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  369. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +1 -1
  370. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  371. package/components/Checkbox/Checkbox.styles.d.ts +1 -1
  372. package/components/ComboBox/ComboBox/ComboBox.js +3 -1
  373. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  374. package/components/ComboBox/ComboBox.d.ts +8 -13
  375. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +36 -21
  376. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  377. package/components/CurrencyInput/CurrencyInput.d.ts +6 -9
  378. package/components/CurrencyInput/CurrencyInputKeyboardActions/CurrencyInputKeyboardActions.js +4 -2
  379. package/components/CurrencyInput/CurrencyInputKeyboardActions/CurrencyInputKeyboardActions.js.map +1 -1
  380. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +3 -1
  381. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +21 -15
  382. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  383. package/components/CurrencyLabel/CurrencyLabel.d.ts +3 -9
  384. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +11 -1
  385. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  386. package/components/DateInput/DateFragmentsView.d.ts +1 -1
  387. package/components/DateInput/DateInput/DateInput.js +18 -5
  388. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  389. package/components/DateInput/DateInput.d.ts +9 -12
  390. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js +0 -1
  391. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
  392. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +2 -2
  393. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
  394. package/components/DatePicker/DatePicker/DatePicker.js +25 -21
  395. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  396. package/components/DatePicker/DatePicker.d.ts +7 -9
  397. package/components/DatePicker/Picker/Picker.js +5 -1
  398. package/components/DatePicker/Picker/Picker.js.map +1 -1
  399. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +8 -2
  400. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  401. package/components/DropdownMenu/DropdownMenu.d.ts +5 -5
  402. package/components/FileUploader/FileUploader/FileUploader.js +2 -2
  403. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  404. package/components/FileUploader/FileUploader.md +8 -1
  405. package/components/FxInput/FxInput/FxInput.js +15 -10
  406. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  407. package/components/FxInput/FxInput.d.ts +6 -6
  408. package/components/Gapped/Gapped/Gapped.js +17 -8
  409. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  410. package/components/Gapped/Gapped.d.ts +7 -8
  411. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +35 -16
  412. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  413. package/components/GlobalLoader/GlobalLoader.d.ts +7 -14
  414. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  415. package/components/GlobalLoader/GlobalLoaderView.d.ts +2 -2
  416. package/components/Hint/Hint/Hint.js +30 -18
  417. package/components/Hint/Hint/Hint.js.map +1 -1
  418. package/components/Hint/Hint.d.ts +8 -12
  419. package/components/Hint/Hint.md +14 -0
  420. package/components/Input/Input/Input.js +13 -8
  421. package/components/Input/Input/Input.js.map +1 -1
  422. package/components/Input/Input.d.ts +4 -3
  423. package/components/Input/Input.md +5 -1
  424. package/components/Kebab/Kebab/Kebab.js +19 -8
  425. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  426. package/components/Kebab/Kebab.d.ts +8 -15
  427. package/components/Link/Link/Link.js +10 -7
  428. package/components/Link/Link/Link.js.map +1 -1
  429. package/components/Link/Link.d.ts +5 -7
  430. package/components/Loader/Loader/Loader.js +22 -17
  431. package/components/Loader/Loader/Loader.js.map +1 -1
  432. package/components/Loader/Loader.d.ts +9 -5
  433. package/components/Loader/__stories__/LoaderAndButton/LoaderAndButton.js.map +1 -1
  434. package/components/MenuItem/MenuItem/MenuItem.js +4 -1
  435. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  436. package/components/Modal/Modal/Modal.js +5 -3
  437. package/components/Modal/Modal/Modal.js.map +1 -1
  438. package/components/Modal/Modal.d.ts +4 -3
  439. package/components/Modal/Modal.styles/Modal.styles.js +2 -2
  440. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  441. package/components/Modal/Modal.styles.d.ts +2 -2
  442. package/components/Modal/ModalBody/ModalBody.js +2 -2
  443. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  444. package/components/Paging/Paging/Paging.js +25 -15
  445. package/components/Paging/Paging/Paging.js.map +1 -1
  446. package/components/Paging/Paging.d.ts +7 -10
  447. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -1
  448. package/components/Paging/PagingDefaultComponent.d.ts +3 -3
  449. package/components/PasswordInput/PasswordInput/PasswordInput.js +14 -13
  450. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  451. package/components/PasswordInput/PasswordInput.d.ts +4 -3
  452. package/components/Radio/Radio/Radio.js +11 -6
  453. package/components/Radio/Radio/Radio.js.map +1 -1
  454. package/components/Radio/Radio.d.ts +4 -3
  455. package/components/RadioGroup/RadioGroup/RadioGroup.js +10 -10
  456. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  457. package/components/RadioGroup/RadioGroup.d.ts +2 -4
  458. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +3 -1
  459. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  460. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +11 -7
  461. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  462. package/components/ScrollContainer/ScrollContainer.d.ts +7 -8
  463. package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js +4 -4
  464. package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js.map +1 -1
  465. package/components/Select/Item/Item.js.map +1 -1
  466. package/components/Select/Item.d.ts +4 -2
  467. package/components/Select/Select/Select.js +4 -3
  468. package/components/Select/Select/Select.js.map +1 -1
  469. package/components/Select/Select.d.ts +3 -12
  470. package/components/Select/Select.styles/Select.styles.js +4 -4
  471. package/components/Select/Select.styles/Select.styles.js.map +1 -1
  472. package/components/SidePage/SidePage/SidePage.js +14 -9
  473. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  474. package/components/SidePage/SidePage.d.ts +5 -6
  475. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  476. package/components/SidePage/SidePageFooter.d.ts +6 -4
  477. package/components/Spinner/Spinner/Spinner.js +8 -6
  478. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  479. package/components/Spinner/Spinner.d.ts +4 -2
  480. package/components/Spinner/Spinner.styles/Spinner.styles.js +3 -3
  481. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  482. package/components/Spinner/Spinner.styles.d.ts +1 -1
  483. package/components/Sticky/Sticky/Sticky.js +7 -4
  484. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  485. package/components/Sticky/Sticky.d.ts +5 -4
  486. package/components/Tabs/Indicator/Indicator.js +1 -1
  487. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  488. package/components/Tabs/Indicator.d.ts +1 -1
  489. package/components/Tabs/Tab/Tab.js +15 -7
  490. package/components/Tabs/Tab/Tab.js.map +1 -1
  491. package/components/Tabs/Tab.d.ts +4 -4
  492. package/components/Tabs/Tabs/Tabs.js +10 -8
  493. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  494. package/components/Tabs/Tabs.d.ts +4 -4
  495. package/components/Textarea/Textarea/Textarea.js +23 -15
  496. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  497. package/components/Textarea/Textarea.d.ts +8 -10
  498. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  499. package/components/Textarea/TextareaCounter.d.ts +2 -2
  500. package/components/Toast/Toast/Toast.js +1 -1
  501. package/components/Toast/Toast/Toast.js.map +1 -1
  502. package/components/Toggle/Toggle/Toggle.js +12 -7
  503. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  504. package/components/Toggle/Toggle.d.ts +5 -6
  505. package/components/TokenInput/TokenInput/TokenInput.js +107 -77
  506. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  507. package/components/TokenInput/TokenInput.d.ts +19 -16
  508. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +1 -1
  509. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  510. package/components/TokenInput/TokenInputMenu.d.ts +2 -1
  511. package/components/Tooltip/Tooltip/Tooltip.js +53 -32
  512. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  513. package/components/Tooltip/Tooltip.d.ts +12 -16
  514. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +15 -13
  515. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  516. package/components/TooltipMenu/TooltipMenu.d.ts +6 -5
  517. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js +2 -2
  518. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js.map +1 -1
  519. package/hooks/useEffectWithoutInitCall.d.ts +2 -2
  520. package/hooks/useMemoObject/useMemoObject.js.map +1 -1
  521. package/hooks/useMemoObject.d.ts +2 -1
  522. package/internal/BGRuler/BGRuler.js +11 -6
  523. package/internal/BGRuler/BGRuler.js.map +1 -1
  524. package/internal/BGRuler.d.ts +13 -15
  525. package/internal/Calendar/Calendar/Calendar.js +11 -5
  526. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  527. package/internal/Calendar/Calendar.d.ts +4 -13
  528. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js +1 -1
  529. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  530. package/internal/Calendar/Month/Month.js +20 -11
  531. package/internal/Calendar/Month/Month.js.map +1 -1
  532. package/internal/Calendar/MonthViewModel.d.ts +1 -1
  533. package/internal/Calendar/config.d.ts +1 -8
  534. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +3 -2
  535. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  536. package/internal/CommonWrapper/CommonWrapper.d.ts +1 -1
  537. package/internal/ComponentCombinator/ComponentCombinator.js +8 -5
  538. package/internal/ComponentCombinator/ComponentCombinator.js.map +1 -1
  539. package/internal/ComponentCombinator.d.ts +6 -8
  540. package/internal/ComponentTable/ComponentTable.js +16 -4
  541. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  542. package/internal/ComponentTable.d.ts +7 -8
  543. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +18 -19
  544. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  545. package/internal/CustomComboBox/ComboBoxMenu.d.ts +6 -6
  546. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +21 -10
  547. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  548. package/internal/CustomComboBox/ComboBoxView.d.ts +4 -12
  549. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +4 -5
  550. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  551. package/internal/DataTids/DataTids/DataTids.js.map +1 -1
  552. package/internal/DataTids/DataTids.d.ts +5 -5
  553. package/internal/DateSelect/DateSelect/DateSelect.js +15 -12
  554. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  555. package/internal/DateSelect/DateSelect.d.ts +4 -6
  556. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +6 -10
  557. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  558. package/internal/DropdownContainer/DropdownContainer.d.ts +4 -7
  559. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -1
  560. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +1 -1
  561. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +2 -1
  562. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  563. package/internal/InputLikeText/InputLikeText/InputLikeText.js +9 -4
  564. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  565. package/internal/InputLikeText/InputLikeText.d.ts +4 -3
  566. package/internal/InternalMenu/InternalMenu/InternalMenu.js +38 -17
  567. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  568. package/internal/InternalMenu/InternalMenu.d.ts +3 -9
  569. package/internal/MaskedInput/MaskedInput/MaskedInput.js +16 -7
  570. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  571. package/internal/MaskedInput/MaskedInput.d.ts +5 -2
  572. package/internal/Menu/Menu/Menu.js +16 -4
  573. package/internal/Menu/Menu/Menu.js.map +1 -1
  574. package/internal/Menu/Menu.d.ts +4 -7
  575. package/internal/MobilePopup/MobilePopup/MobilePopup.js +1 -1
  576. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  577. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +1 -1
  578. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  579. package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  580. package/internal/Popup/Popup/Popup.js +52 -35
  581. package/internal/Popup/Popup/Popup.js.map +1 -1
  582. package/internal/Popup/Popup.d.ts +11 -17
  583. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  584. package/internal/Popup/PopupHelper.d.ts +1 -1
  585. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  586. package/internal/Popup/PopupPin.d.ts +1 -1
  587. package/internal/PopupMenu/PopupMenu/PopupMenu.js +12 -4
  588. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  589. package/internal/PopupMenu/PopupMenu.d.ts +8 -11
  590. package/internal/RenderLayer/RenderLayer/RenderLayer.js +8 -4
  591. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  592. package/internal/RenderLayer/RenderLayer.d.ts +5 -4
  593. package/internal/ThemePlayground/AnotherInputsPlayground/AnotherInputsPlayground.js.map +1 -1
  594. package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +11 -6
  595. package/internal/ThemePlayground/CurrencyInputPlayground/CurrencyInputPlayground.js.map +1 -1
  596. package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +7 -6
  597. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js +10 -6
  598. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js.map +1 -1
  599. package/internal/ThemePlayground/FxInputPlayground.d.ts +6 -4
  600. package/internal/ThemePlayground/HintPlayground/HintPlayground.js.map +1 -1
  601. package/internal/ThemePlayground/HintPlayground.d.ts +1 -1
  602. package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js +2 -2
  603. package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js.map +1 -1
  604. package/internal/ThemePlayground/PagingPlayground.d.ts +6 -6
  605. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  606. package/internal/ThemePlayground/Playground.d.ts +1 -1
  607. package/internal/ThemePlayground/SelectPlayground/SelectPlayground.js.map +1 -1
  608. package/internal/ThemePlayground/SelectPlayground.d.ts +9 -6
  609. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  610. package/internal/ThemePlayground/SizesGroup.d.ts +2 -2
  611. package/internal/ThemePlayground/SwitcherPlayground/SwitcherPlayground.js.map +1 -1
  612. package/internal/ThemePlayground/SwitcherPlayground.d.ts +9 -8
  613. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +13 -3
  614. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  615. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  616. package/internal/ThemePlayground/ThemeEditor.d.ts +1 -4
  617. package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js +5 -17
  618. package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js.map +1 -1
  619. package/internal/ThemePlayground/TogglePlayground.d.ts +2 -7
  620. package/internal/ThemePlayground/TokenInputPlayground/TokenInputPlayground.js.map +1 -1
  621. package/internal/ThemePlayground/TokenInputPlayground.d.ts +6 -4
  622. package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -2
  623. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  624. package/internal/ThemePlayground/VariableValue.d.ts +6 -8
  625. package/internal/ThemePlayground/helpers/helpers.js +0 -1
  626. package/internal/ThemePlayground/helpers/helpers.js.map +1 -1
  627. package/internal/ThemePlayground/helpers.d.ts +1 -1
  628. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  629. package/internal/ZIndex/ZIndex/ZIndex.js +21 -16
  630. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  631. package/internal/ZIndex/ZIndex.d.ts +7 -11
  632. package/internal/themes/DefaultTheme/DefaultTheme.js +6 -6
  633. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  634. package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
  635. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js.map +1 -1
  636. package/lib/InstanceWithAnchorElement.d.ts +1 -1
  637. package/lib/ModalStack/ModalStack.js +2 -2
  638. package/lib/ModalStack/ModalStack.js.map +1 -1
  639. package/lib/SSRSafe/SSRSafe.js +7 -0
  640. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  641. package/lib/SSRSafe.d.ts +2 -1
  642. package/lib/animation/index/index.js +1 -1
  643. package/lib/animation/index/index.js.map +1 -1
  644. package/lib/callChildRef/callChildRef/callChildRef.js +1 -1
  645. package/lib/callChildRef/callChildRef/callChildRef.js.map +1 -1
  646. package/lib/createPropsGetter/createPropsGetter.js +1 -0
  647. package/lib/createPropsGetter/createPropsGetter.js.map +1 -1
  648. package/lib/createPropsGetter.d.ts +2 -1
  649. package/lib/date/InternalDateCalculator/InternalDateCalculator.js +1 -2
  650. package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
  651. package/lib/date/InternalDateCalculator.d.ts +1 -1
  652. package/lib/date/InternalDateValidator/InternalDateValidator.js +8 -2
  653. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  654. package/lib/date/InternalDateValidator.d.ts +1 -1
  655. package/lib/extractKeyboardAction/extractKeyboardAction.js.map +1 -1
  656. package/lib/extractKeyboardAction.d.ts +1 -1
  657. package/lib/filterProps/filterProps.js +0 -1
  658. package/lib/filterProps/filterProps.js.map +1 -1
  659. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  660. package/lib/listenFocusOutside.d.ts +1 -1
  661. package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +1 -1
  662. package/lib/locale/useLocaleForControl.d.ts +1 -1
  663. package/lib/memo/memo.js +2 -4
  664. package/lib/memo/memo.js.map +1 -1
  665. package/lib/memo.d.ts +3 -1
  666. package/lib/net/fetch/fetch.js +2 -2
  667. package/lib/net/fetch/fetch.js.map +1 -1
  668. package/lib/reactGetTextContent/reactGetTextContent.js +0 -1
  669. package/lib/reactGetTextContent/reactGetTextContent.js.map +1 -1
  670. package/lib/rootNode/getRootNode/getRootNode.js +8 -8
  671. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  672. package/lib/rootNode/getRootNode.d.ts +3 -3
  673. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  674. package/lib/rootNode/rootNodeDecorator.d.ts +9 -9
  675. package/lib/styles/ColorFactory/ColorFactory.js +3 -1
  676. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  677. package/lib/styles/ColorFunctions/ColorFunctions.js.map +1 -1
  678. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +8 -14
  679. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  680. package/lib/theming/AnimationKeyframes.d.ts +3 -5
  681. package/lib/theming/Emotion/Emotion.js.map +1 -1
  682. package/lib/theming/ThemeFactory/ThemeFactory.js +4 -1
  683. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  684. package/lib/theming/ThemeFactory.d.ts +1 -1
  685. package/lib/theming/ThemeHelpers/ThemeHelpers.js +1 -1
  686. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  687. package/lib/theming/ThemeHelpers.d.ts +2 -2
  688. package/lib/utils/utils.js +2 -2
  689. package/lib/utils/utils.js.map +1 -1
  690. package/lib/utils.d.ts +3 -1
  691. package/lib/withClassWrapper/withClassWrapper.js +1 -4
  692. package/lib/withClassWrapper/withClassWrapper.js.map +1 -1
  693. package/package.json +4 -4
  694. package/typings/event-types.d.ts +2 -2
@@ -20,7 +20,7 @@ var _Theme2022Dark = require("../../lib/theming/themes/Theme2022Dark");
20
20
  var _ThemeEditor = require("./ThemeEditor");
21
21
  var _Playground = require("./Playground.styles");
22
22
  var _Playground2 = require("./Playground");
23
- var _constants = require("./constants");function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}var
23
+ var _constants = require("./constants");function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}
24
24
 
25
25
 
26
26
 
@@ -55,6 +55,13 @@ var _constants = require("./constants");function _getRequireWildcardCache(nodeIn
55
55
 
56
56
 
57
57
 
58
+ var getEditingThemeType = function getEditingThemeType(editingThemeItem) {
59
+ if (editingThemeItem) {
60
+ return editingThemeItem.value;
61
+ }
62
+
63
+ return 'default';
64
+ };var
58
65
  ThemeContextPlayground = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(ThemeContextPlayground, _React$Component);
59
66
 
60
67
 
@@ -108,7 +115,10 @@ ThemeContextPlayground = /*#__PURE__*/function (_React$Component) {(0, _inherits
108
115
 
109
116
  renderSidePage = function () {
110
117
  var _this$state = _this.state,currentTheme = _this$state.currentTheme,themesErrors = _this$state.themesErrors,editingThemeItem = _this$state.editingThemeItem,themes = _this$state.themes;
111
- var themeErrors = themesErrors[editingThemeItem ? editingThemeItem.value : 'default'];
118
+
119
+ var editingThemeType = getEditingThemeType(editingThemeItem);
120
+ var themeErrors = themesErrors[editingThemeType];
121
+
112
122
  return /*#__PURE__*/(
113
123
  _react.default.createElement(_SidePage.SidePage, { disableAnimations: true, ignoreBackgroundClick: true, blockBackground: true, width: 600, onClose: _this.handleClose }, /*#__PURE__*/
114
124
  _react.default.createElement(_SidePage.SidePage.Header, null, /*#__PURE__*/
@@ -129,7 +139,7 @@ ThemeContextPlayground = /*#__PURE__*/function (_React$Component) {(0, _inherits
129
139
  _react.default.createElement(_SidePage.SidePage.Body, null, /*#__PURE__*/
130
140
  _react.default.createElement("div", { className: _Playground.styles.sidePageBody() }, /*#__PURE__*/
131
141
  _react.default.createElement(_ThemeEditor.ThemeEditor, {
132
- editingTheme: themes[editingThemeItem.value],
142
+ editingTheme: themes[editingThemeType],
133
143
  currentTheme: currentTheme,
134
144
  currentErrors: themeErrors,
135
145
  onValueChange: _this.handleThemeVariableChange })))));
@@ -176,7 +186,7 @@ ThemeContextPlayground = /*#__PURE__*/function (_React$Component) {(0, _inherits
176
186
 
177
187
  handleThemeVariableChange = function (variable, value) {
178
188
  var _this$state2 = _this.state,editingThemeItem = _this$state2.editingThemeItem,currentTheme = _this$state2.currentTheme,themes = _this$state2.themes,themesErrors = _this$state2.themesErrors;
179
- var editingThemeType = editingThemeItem.value;
189
+ var editingThemeType = getEditingThemeType(editingThemeItem);
180
190
 
181
191
  var theme = themes[editingThemeType];
182
192
  var currentValue = theme[variable];
@@ -1 +1 @@
1
- {"version":3,"sources":["ThemeContextPlayground.tsx"],"names":["ThemeContextPlayground","props","editableThemesItems","value","ThemeType","Default","label","Dark","DefaultOld","FlatOld","Theme2022","Theme2022Dark","renderSidePage","state","currentTheme","themesErrors","editingThemeItem","themes","themeErrors","handleClose","styles","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","editingThemeType","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';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\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';\n\nimport { ThemeEditor } from './ThemeEditor';\nimport { styles } 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\nexport class ThemeContextPlayground extends React.Component<PlaygroundProps, PlaygroundState> {\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 <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\n private renderSidePage = () => {\n const { currentTheme, themesErrors, editingThemeItem, themes } = this.state;\n const themeErrors = themesErrors[editingThemeItem ? editingThemeItem.value : 'default'];\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[editingThemeItem!.value]}\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 = editingThemeItem!.value;\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","handleClose","styles","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';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\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';\n\nimport { ThemeEditor } from './ThemeEditor';\nimport { styles } 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 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 <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\n private renderSidePage = () => {\n const { currentTheme, themesErrors, editingThemeItem, themes } = this.state;\n\n const editingThemeType = getEditingThemeType(editingThemeItem);\n const themeErrors = themesErrors[editingThemeType];\n\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"]}
@@ -17,10 +17,7 @@ interface Group {
17
17
  isCommon?: boolean;
18
18
  }
19
19
  export declare class ThemeEditor extends React.Component<ThemeEditorProps, ThemeEditorState> {
20
- state: {
21
- groups: never[];
22
- isLoading: boolean;
23
- };
20
+ state: ThemeEditorState;
24
21
  private updateTimeout?;
25
22
  render(): JSX.Element;
26
23
  componentDidMount(): void;
@@ -1 +1 @@
1
- {"version":3,"sources":["ThemeEditor.tsx"],"names":["ThemeEditor","state","groups","isLoading","renderGroups","props","editingTheme","currentTheme","currentErrors","onValueChange","keys","ThemeFactory","getKeys","filter","key","isDeprecatedVariable","map","i","title","isCommon","isCommonVariable","bind","reduce","prefixesReducer","isGroupVariable","prefix","DEPRECATED_VARIABLES","length","render","styles","loaderWrapper","loader","componentDidMount","updateTimeout","window","setTimeout","setState","VARIABLES_GROUPS","componentWillUnmount","clearTimeout","React","Component","Group","variables","editorGroupHeader","variable","value","isError","getBaseVariables","name","includes","splitPrefix","split","item","startsWith","trim","prefixes","acc","current","theme","Object","getPrototypeOf","prototype","hasOwnProperty","call","descriptor","getOwnPropertyDescriptor","get","getterBody","toString","variableNameMatchArray","match","v","replace"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Gapped } from '../../components/Gapped';\nimport { Loader } from '../../components/Loader';\nimport { isNonNullable } from '../../lib/utils';\n\nimport { VariableValue } from './VariableValue';\nimport { VARIABLES_GROUPS, DEPRECATED_VARIABLES } from './constants';\nimport { ThemeErrorsType } from './ThemeContextPlayground';\nimport { styles } from './Playground.styles';\n\ninterface ThemeEditorProps {\n editingTheme: Theme;\n currentTheme: Theme;\n currentErrors: ThemeErrorsType;\n onValueChange: (variable: keyof Theme, value: string) => void;\n}\ninterface ThemeEditorState {\n groups: Group[];\n isLoading: boolean;\n}\ninterface Group {\n title: string;\n prefix: string;\n isCommon?: boolean;\n}\nexport class ThemeEditor extends React.Component<ThemeEditorProps, ThemeEditorState> {\n public state = {\n groups: [],\n isLoading: true,\n };\n private updateTimeout?: number;\n\n public render() {\n return this.state.isLoading ? (\n <div className={styles.loaderWrapper()}>\n <Loader type=\"big\" active className={styles.loader()} />\n </div>\n ) : (\n this.renderGroups()\n );\n }\n\n public componentDidMount() {\n this.updateTimeout = window.setTimeout(() => {\n this.setState({ groups: VARIABLES_GROUPS, isLoading: false });\n }, 500);\n }\n\n public componentWillUnmount(): void {\n clearTimeout(this.updateTimeout);\n }\n\n private renderGroups = () => {\n const { editingTheme, currentTheme, currentErrors, onValueChange } = this.props;\n const keys = ThemeFactory.getKeys(editingTheme).filter((key) => !isDeprecatedVariable(key));\n\n return (\n <Gapped vertical>\n {this.state.groups.map((i: Group) => (\n <Group\n editingTheme={editingTheme}\n currentTheme={currentTheme}\n currentErrors={currentErrors}\n onValueChange={onValueChange}\n title={i.title}\n variables={keys.filter(\n i.isCommon\n ? isCommonVariable.bind(null, this.state.groups.reduce(prefixesReducer, []))\n : isGroupVariable.bind(null, i.prefix),\n )}\n key={i.title}\n />\n ))}\n {DEPRECATED_VARIABLES.length > 0 ? (\n <Group\n editingTheme={editingTheme}\n currentTheme={currentTheme}\n currentErrors={currentErrors}\n onValueChange={onValueChange}\n title={'Deprecated Variables'}\n variables={DEPRECATED_VARIABLES}\n />\n ) : null}\n </Gapped>\n );\n };\n}\n\ninterface GroupProps {\n editingTheme: Theme;\n currentTheme: Theme;\n currentErrors: ThemeErrorsType;\n title: string;\n variables: Array<keyof Theme>;\n onValueChange: (variable: keyof Theme, value: string) => void;\n}\nconst Group = (props: GroupProps) => {\n const { editingTheme, currentTheme, currentErrors, onValueChange, title, variables } = props;\n\n return variables.length > 0 ? (\n <React.Fragment>\n <h2 className={styles.editorGroupHeader(currentTheme)}>{title}</h2>\n {variables.map((variable) => {\n const value = editingTheme[variable] as string;\n const isError = currentErrors[variable];\n return (\n <VariableValue\n theme={currentTheme}\n onChange={onValueChange}\n value={value}\n isError={isError || false}\n variable={variable}\n key={variable}\n baseVariables={getBaseVariables(editingTheme, variable)}\n deprecated={isDeprecatedVariable(variable)}\n />\n );\n })}\n </React.Fragment>\n ) : null;\n};\n\nconst isDeprecatedVariable = (name: keyof Theme) => {\n return DEPRECATED_VARIABLES.includes(name);\n};\n\nconst isGroupVariable = (prefix: string, name: string) => {\n const splitPrefix = prefix.split(' ') || [];\n\n for (const item of splitPrefix) {\n if (name.startsWith(item.trim())) {\n return true;\n }\n }\n return false;\n};\nconst isCommonVariable = (prefixes: string[], name: string) => {\n for (const item of prefixes) {\n if (name.startsWith(item.trim())) {\n return false;\n }\n }\n return true;\n};\nconst prefixesReducer = (acc: string[], current: { title: string; prefix: string }): string[] => {\n const splitPrefix = current.prefix.split(' ');\n return [...acc, ...splitPrefix];\n};\n\ntype GetBaseVariablesReturnType = Array<keyof Theme>;\nconst getBaseVariables = (theme: Theme, variable: keyof Theme): GetBaseVariablesReturnType => {\n // TODO: Rewrite for loop.\n // TODO: Enable `no-param-reassign` rule.\n // eslint-disable-next-line no-param-reassign\n for (; isNonNullable(theme); theme = Object.getPrototypeOf(theme)) {\n if (Object.prototype.hasOwnProperty.call(theme, variable)) {\n const descriptor = Object.getOwnPropertyDescriptor(theme, variable);\n\n if (descriptor && typeof descriptor.get !== 'undefined') {\n const getterBody = descriptor.get.toString();\n const variableNameMatchArray = getterBody.match(/this\\.(\\w+)\\b/gm) || [];\n return (variableNameMatchArray || []).map((v) => v.replace(/this\\./g, '')) as GetBaseVariablesReturnType;\n }\n break;\n }\n }\n\n return [];\n};\n"]}
1
+ {"version":3,"sources":["ThemeEditor.tsx"],"names":["ThemeEditor","state","groups","isLoading","renderGroups","props","editingTheme","currentTheme","currentErrors","onValueChange","keys","ThemeFactory","getKeys","filter","key","isDeprecatedVariable","map","i","title","isCommon","isCommonVariable","bind","reduce","prefixesReducer","isGroupVariable","prefix","DEPRECATED_VARIABLES","length","render","styles","loaderWrapper","loader","componentDidMount","updateTimeout","window","setTimeout","setState","VARIABLES_GROUPS","componentWillUnmount","clearTimeout","React","Component","Group","variables","editorGroupHeader","variable","value","isError","getBaseVariables","name","includes","splitPrefix","split","item","startsWith","trim","prefixes","acc","current","theme","Object","getPrototypeOf","prototype","hasOwnProperty","call","descriptor","getOwnPropertyDescriptor","get","getterBody","toString","variableNameMatchArray","match","v","replace"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Gapped } from '../../components/Gapped';\nimport { Loader } from '../../components/Loader';\nimport { isNonNullable } from '../../lib/utils';\n\nimport { VariableValue } from './VariableValue';\nimport { VARIABLES_GROUPS, DEPRECATED_VARIABLES } from './constants';\nimport { ThemeErrorsType } from './ThemeContextPlayground';\nimport { styles } from './Playground.styles';\n\ninterface ThemeEditorProps {\n editingTheme: Theme;\n currentTheme: Theme;\n currentErrors: ThemeErrorsType;\n onValueChange: (variable: keyof Theme, value: string) => void;\n}\ninterface ThemeEditorState {\n groups: Group[];\n isLoading: boolean;\n}\ninterface Group {\n title: string;\n prefix: string;\n isCommon?: boolean;\n}\nexport class ThemeEditor extends React.Component<ThemeEditorProps, ThemeEditorState> {\n public state: ThemeEditorState = {\n groups: [],\n isLoading: true,\n };\n private updateTimeout?: number;\n\n public render() {\n return this.state.isLoading ? (\n <div className={styles.loaderWrapper()}>\n <Loader type=\"big\" active className={styles.loader()} />\n </div>\n ) : (\n this.renderGroups()\n );\n }\n\n public componentDidMount() {\n this.updateTimeout = window.setTimeout(() => {\n this.setState({ groups: VARIABLES_GROUPS, isLoading: false });\n }, 500);\n }\n\n public componentWillUnmount(): void {\n clearTimeout(this.updateTimeout);\n }\n\n private renderGroups = () => {\n const { editingTheme, currentTheme, currentErrors, onValueChange } = this.props;\n const keys = ThemeFactory.getKeys(editingTheme).filter((key) => !isDeprecatedVariable(key));\n\n return (\n <Gapped vertical>\n {this.state.groups.map((i: Group) => (\n <Group\n editingTheme={editingTheme}\n currentTheme={currentTheme}\n currentErrors={currentErrors}\n onValueChange={onValueChange}\n title={i.title}\n variables={keys.filter(\n i.isCommon\n ? isCommonVariable.bind(null, this.state.groups.reduce(prefixesReducer, []))\n : isGroupVariable.bind(null, i.prefix),\n )}\n key={i.title}\n />\n ))}\n {DEPRECATED_VARIABLES.length > 0 ? (\n <Group\n editingTheme={editingTheme}\n currentTheme={currentTheme}\n currentErrors={currentErrors}\n onValueChange={onValueChange}\n title={'Deprecated Variables'}\n variables={DEPRECATED_VARIABLES}\n />\n ) : null}\n </Gapped>\n );\n };\n}\n\ninterface GroupProps {\n editingTheme: Theme;\n currentTheme: Theme;\n currentErrors: ThemeErrorsType;\n title: string;\n variables: Array<keyof Theme>;\n onValueChange: (variable: keyof Theme, value: string) => void;\n}\nconst Group = (props: GroupProps) => {\n const { editingTheme, currentTheme, currentErrors, onValueChange, title, variables } = props;\n\n return variables.length > 0 ? (\n <React.Fragment>\n <h2 className={styles.editorGroupHeader(currentTheme)}>{title}</h2>\n {variables.map((variable) => {\n const value = editingTheme[variable] as string;\n const isError = currentErrors[variable];\n return (\n <VariableValue\n theme={currentTheme}\n onChange={onValueChange}\n value={value}\n isError={isError || false}\n variable={variable}\n key={variable}\n baseVariables={getBaseVariables(editingTheme, variable)}\n deprecated={isDeprecatedVariable(variable)}\n />\n );\n })}\n </React.Fragment>\n ) : null;\n};\n\nconst isDeprecatedVariable = (name: keyof Theme) => {\n return DEPRECATED_VARIABLES.includes(name);\n};\n\nconst isGroupVariable = (prefix: string, name: string) => {\n const splitPrefix = prefix.split(' ') || [];\n\n for (const item of splitPrefix) {\n if (name.startsWith(item.trim())) {\n return true;\n }\n }\n return false;\n};\nconst isCommonVariable = (prefixes: string[], name: string) => {\n for (const item of prefixes) {\n if (name.startsWith(item.trim())) {\n return false;\n }\n }\n return true;\n};\nconst prefixesReducer = (acc: string[], current: { title: string; prefix: string }): string[] => {\n const splitPrefix = current.prefix.split(' ');\n return [...acc, ...splitPrefix];\n};\n\ntype GetBaseVariablesReturnType = Array<keyof Theme>;\nconst getBaseVariables = (theme: Theme, variable: keyof Theme): GetBaseVariablesReturnType => {\n // TODO: Rewrite for loop.\n // TODO: Enable `no-param-reassign` rule.\n // eslint-disable-next-line no-param-reassign\n for (; isNonNullable(theme); theme = Object.getPrototypeOf(theme)) {\n if (Object.prototype.hasOwnProperty.call(theme, variable)) {\n const descriptor = Object.getOwnPropertyDescriptor(theme, variable);\n\n if (descriptor && typeof descriptor.get !== 'undefined') {\n const getterBody = descriptor.get.toString();\n const variableNameMatchArray = getterBody.match(/this\\.(\\w+)\\b/gm) || [];\n return (variableNameMatchArray || []).map((v) => v.replace(/this\\./g, '')) as GetBaseVariablesReturnType;\n }\n break;\n }\n }\n\n return [];\n};\n"]}
@@ -1,9 +1,4 @@
1
- import { Component } from 'react';
2
- export declare class TogglePlayground extends Component<{}, any> {
3
- state: {
4
- checked: boolean;
5
- loadingActive: boolean;
6
- loading: boolean;
7
- };
1
+ import React from 'react';
2
+ export declare class TogglePlayground extends React.Component {
8
3
  render(): JSX.Element;
9
4
  }
@@ -1,15 +1,9 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.TogglePlayground = void 0;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireWildcard(require("react"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.TogglePlayground = void 0;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
2
 
3
3
  var _Gapped = require("../../components/Gapped");
4
- var _Toggle = require("../../components/Toggle");function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}var
5
-
6
- TogglePlayground = /*#__PURE__*/function (_Component) {(0, _inheritsLoose2.default)(TogglePlayground, _Component);function TogglePlayground() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _Component.call.apply(_Component, [this].concat(args)) || this;_this.
7
- state = {
8
- checked: false,
9
- loadingActive: false,
10
- loading: false };return _this;}var _proto = TogglePlayground.prototype;_proto.
11
-
4
+ var _Toggle = require("../../components/Toggle");var
12
5
 
6
+ TogglePlayground = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(TogglePlayground, _React$Component);function TogglePlayground() {return _React$Component.apply(this, arguments) || this;}var _proto = TogglePlayground.prototype;_proto.
13
7
  render = function render() {
14
8
  return /*#__PURE__*/(
15
9
  _react.default.createElement(_Gapped.Gapped, { vertical: true }, /*#__PURE__*/
@@ -23,4 +17,4 @@ TogglePlayground = /*#__PURE__*/function (_Component) {(0, _inheritsLoose2.defau
23
17
 
24
18
 
25
19
 
26
- };return TogglePlayground;}(_react.Component);exports.TogglePlayground = TogglePlayground;
20
+ };return TogglePlayground;}(_react.default.Component);exports.TogglePlayground = TogglePlayground;
@@ -1 +1 @@
1
- {"version":3,"sources":["TogglePlayground.tsx"],"names":["TogglePlayground","state","checked","loadingActive","loading","render","Component"],"mappings":"4PAAA;;AAEA;AACA,iD;;AAEaA,gB;AACJC,IAAAA,K,GAAQ;AACbC,MAAAA,OAAO,EAAE,KADI;AAEbC,MAAAA,aAAa,EAAE,KAFF;AAGbC,MAAAA,OAAO,EAAE,KAHI,E;;;AAMRC,EAAAA,M,GAAP,kBAAgB;AACd;AACE,mCAAC,cAAD,IAAQ,QAAQ,MAAhB;AACE,mCAAC,cAAD,IAAQ,GAAG,EAAE,EAAb;AACE,mCAAC,cAAD,OADF;AAEE,yDAFF,CADF;;AAKE,mCAAC,cAAD,IAAQ,GAAG,EAAE,EAAb;AACE,mCAAC,cAAD,IAAQ,QAAQ,MAAhB,GADF;AAEE,kEAFF,CALF,CADF;;;;AAYD,G,2BApBmCC,gB","sourcesContent":["import React, { Component } from 'react';\n\nimport { Gapped } from '../../components/Gapped';\nimport { Toggle } from '../../components/Toggle';\n\nexport class TogglePlayground extends Component<{}, any> {\n public state = {\n checked: false,\n loadingActive: false,\n loading: false,\n };\n\n public render() {\n return (\n <Gapped vertical>\n <Gapped gap={10}>\n <Toggle />\n <div>Toggle</div>\n </Gapped>\n <Gapped gap={10}>\n <Toggle disabled />\n <div>Disabled toggle</div>\n </Gapped>\n </Gapped>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["TogglePlayground.tsx"],"names":["TogglePlayground","render","React","Component"],"mappings":"4PAAA;;AAEA;AACA,iD;;AAEaA,gB;AACJC,EAAAA,M,GAAP,kBAAgB;AACd;AACE,mCAAC,cAAD,IAAQ,QAAQ,MAAhB;AACE,mCAAC,cAAD,IAAQ,GAAG,EAAE,EAAb;AACE,mCAAC,cAAD,OADF;AAEE,yDAFF,CADF;;AAKE,mCAAC,cAAD,IAAQ,GAAG,EAAE,EAAb;AACE,mCAAC,cAAD,IAAQ,QAAQ,MAAhB,GADF;AAEE,kEAFF,CALF,CADF;;;;AAYD,G,2BAdmCC,eAAMC,S","sourcesContent":["import React from 'react';\n\nimport { Gapped } from '../../components/Gapped';\nimport { Toggle } from '../../components/Toggle';\n\nexport class TogglePlayground extends React.Component {\n public render() {\n return (\n <Gapped vertical>\n <Gapped gap={10}>\n <Toggle />\n <div>Toggle</div>\n </Gapped>\n <Gapped gap={10}>\n <Toggle disabled />\n <div>Disabled toggle</div>\n </Gapped>\n </Gapped>\n );\n }\n}\n"]}
@@ -1,7 +1,9 @@
1
1
  import React from 'react';
2
- export declare class TokenInputPlayground extends React.Component<any, any> {
3
- state: {
4
- selectedItems: string[];
5
- };
2
+ interface TokenInputPlaygroundState {
3
+ selectedItems: string[];
4
+ }
5
+ export declare class TokenInputPlayground extends React.Component {
6
+ state: TokenInputPlaygroundState;
6
7
  render(): JSX.Element;
7
8
  }
9
+ export {};
@@ -42,6 +42,9 @@ var tokenColors = {
42
42
 
43
43
 
44
44
 
45
+
46
+
47
+
45
48
  TokenInputPlayground = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(TokenInputPlayground, _React$Component);function TokenInputPlayground() {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.
46
49
  state = { selectedItems: ['First', 'Second'] };return _this;}var _proto = TokenInputPlayground.prototype;_proto.
47
50
 
@@ -1 +1 @@
1
- {"version":3,"sources":["TokenInputPlayground.tsx"],"names":["getItems","query","Promise","resolve","filter","x","toLowerCase","includes","toString","then","res","setTimeout","bind","tokenColors","First","idle","active","Second","Third","Fourth","Fifth","Sixth","default","TokenInputPlayground","state","selectedItems","render","item","isActive","onClick","onRemove","itemsNew","setState","React","Component"],"mappings":"qbAAA;;AAEA;AACA,+C;;AAEeA,Q,yJAAf,iBAAwBC,KAAxB;AACSC,YAAAA,OAAO,CAACC,OAAR;AACL,aAAC,OAAD,EAAU,QAAV,EAAoB,OAApB,EAA6B,QAA7B,EAAuC,OAAvC,EAAgD,OAAhD,EAAyDC,MAAzD;AACE,sBAACC,CAAD,UAAOA,CAAC,CAACC,WAAF,GAAgBC,QAAhB,CAAyBN,KAAK,CAACK,WAAN,EAAzB,KAAiDD,CAAC,CAACG,QAAF,OAAiBP,KAAzE,EADF,CADK;;AAILQ,YAAAA,IAJK,CAIA,UAACC,GAAD,UAAmB,IAAIR,OAAJ,CAAsB,UAACC,OAAD,UAAaQ,UAAU,CAACR,OAAO,CAACS,IAAR,CAAa,IAAb,EAAmBF,GAAnB,CAAD,EAA0B,GAA1B,CAAvB,EAAtB,CAAnB,EAJA,CADT,0D;;;AAQA,IAAMG,WAA2C,GAAG;AAClDC,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAE,UADD;AAELC,IAAAA,MAAM,EAAE,YAFH,EAD2C;;AAKlDC,EAAAA,MAAM,EAAE;AACNF,IAAAA,IAAI,EAAE,UADA;AAENC,IAAAA,MAAM,EAAE,YAFF,EAL0C;;AASlDE,EAAAA,KAAK,EAAE;AACLH,IAAAA,IAAI,EAAE,WADD;AAELC,IAAAA,MAAM,EAAE,aAFH,EAT2C;;AAalDG,EAAAA,MAAM,EAAE;AACNJ,IAAAA,IAAI,EAAE,YADA;AAENC,IAAAA,MAAM,EAAE,cAFF,EAb0C;;AAiBlDI,EAAAA,KAAK,EAAE;AACLL,IAAAA,IAAI,EAAE,SADD;AAELC,IAAAA,MAAM,EAAE,WAFH,EAjB2C;;AAqBlDK,EAAAA,KAAK,EAAE;AACLN,IAAAA,IAAI,EAAE,OADD;AAELC,IAAAA,MAAM,EAAE,OAFH,EArB2C;;AAyBlDM,EAAAA,OAAO,EAAE;AACPP,IAAAA,IAAI,EAAE,aADC;AAEPC,IAAAA,MAAM,EAAE,eAFD,EAzByC,EAApD,C;;;;AA+BaO,oB;AACJC,IAAAA,K,GAAQ,EAAEC,aAAa,EAAE,CAAC,OAAD,EAAU,QAAV,CAAjB,E;;AAERC,EAAAA,M,GAAP,kBAAgB;AACd;AACE,mCAAC,sBAAD;AACE,QAAA,QAAQ,EAAE1B,QADZ;AAEE,QAAA,aAAa,EAAE,KAAKwB,KAAL,CAAWC,aAF5B;AAGE,QAAA,WAAW,EAAE,qBAACE,IAAD,aAASC,QAAT,QAASA,QAAT,CAAmBC,OAAnB,QAAmBA,OAAnB,CAA4BC,QAA5B,QAA4BA,QAA5B;AACX,yCAAC,YAAD;AACE,cAAA,GAAG,EAAEH,IAAI,CAACnB,QAAL,EADP;AAEE,cAAA,MAAM,EAAEK,WAAW,CAACc,IAAD,CAAX,IAAqBd,WAAW,CAACS,OAF3C;AAGE,cAAA,QAAQ,EAAEM,QAHZ;AAIE,cAAA,OAAO,EAAEC,OAJX;AAKE,cAAA,QAAQ,EAAEC,QALZ;;AAOGH,YAAAA,IAPH,CADW,GAHf;;;AAcE,QAAA,aAAa,EAAE,uBAACI,QAAD,UAAc,MAAI,CAACC,QAAL,CAAc,EAAEP,aAAa,EAAEM,QAAjB,EAAd,CAAd,EAdjB,GADF;;;AAkBD,G,+BAtBuCE,eAAMC,S","sourcesContent":["import React from 'react';\n\nimport { TokenInput } from '../../components/TokenInput';\nimport { Token, TokenColors } from '../../components/Token';\n\nasync function getItems(query: string) {\n return Promise.resolve(\n ['First', 'Second', 'Third', 'Fourth', 'Fifth', 'Sixth'].filter(\n (x) => x.toLowerCase().includes(query.toLowerCase()) || x.toString() === query,\n ),\n ).then((res: string[]) => new Promise<string[]>((resolve) => setTimeout(resolve.bind(null, res), 500)));\n}\n\nconst tokenColors: { [key: string]: TokenColors } = {\n First: {\n idle: 'grayIdle',\n active: 'grayActive',\n },\n Second: {\n idle: 'blueIdle',\n active: 'blueActive',\n },\n Third: {\n idle: 'greenIdle',\n active: 'greenActive',\n },\n Fourth: {\n idle: 'yellowIdle',\n active: 'yellowActive',\n },\n Fifth: {\n idle: 'redIdle',\n active: 'redActive',\n },\n Sixth: {\n idle: 'white',\n active: 'black',\n },\n default: {\n idle: 'defaultIdle',\n active: 'defaultActive',\n },\n};\n\nexport class TokenInputPlayground extends React.Component<any, any> {\n public state = { selectedItems: ['First', 'Second'] };\n\n public render() {\n return (\n <TokenInput\n getItems={getItems}\n selectedItems={this.state.selectedItems}\n renderToken={(item, { isActive, onClick, onRemove }) => (\n <Token\n key={item.toString()}\n colors={tokenColors[item] || tokenColors.default}\n isActive={isActive}\n onClick={onClick}\n onRemove={onRemove}\n >\n {item}\n </Token>\n )}\n onValueChange={(itemsNew) => this.setState({ selectedItems: itemsNew })}\n />\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["TokenInputPlayground.tsx"],"names":["getItems","query","Promise","resolve","filter","x","toLowerCase","includes","toString","then","res","setTimeout","bind","tokenColors","First","idle","active","Second","Third","Fourth","Fifth","Sixth","default","TokenInputPlayground","state","selectedItems","render","item","isActive","onClick","onRemove","itemsNew","setState","React","Component"],"mappings":"qbAAA;;AAEA;AACA,+C;;AAEeA,Q,yJAAf,iBAAwBC,KAAxB;AACSC,YAAAA,OAAO,CAACC,OAAR;AACL,aAAC,OAAD,EAAU,QAAV,EAAoB,OAApB,EAA6B,QAA7B,EAAuC,OAAvC,EAAgD,OAAhD,EAAyDC,MAAzD;AACE,sBAACC,CAAD,UAAOA,CAAC,CAACC,WAAF,GAAgBC,QAAhB,CAAyBN,KAAK,CAACK,WAAN,EAAzB,KAAiDD,CAAC,CAACG,QAAF,OAAiBP,KAAzE,EADF,CADK;;AAILQ,YAAAA,IAJK,CAIA,UAACC,GAAD,UAAmB,IAAIR,OAAJ,CAAsB,UAACC,OAAD,UAAaQ,UAAU,CAACR,OAAO,CAACS,IAAR,CAAa,IAAb,EAAmBF,GAAnB,CAAD,EAA0B,GAA1B,CAAvB,EAAtB,CAAnB,EAJA,CADT,0D;;;AAQA,IAAMG,WAA2C,GAAG;AAClDC,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAE,UADD;AAELC,IAAAA,MAAM,EAAE,YAFH,EAD2C;;AAKlDC,EAAAA,MAAM,EAAE;AACNF,IAAAA,IAAI,EAAE,UADA;AAENC,IAAAA,MAAM,EAAE,YAFF,EAL0C;;AASlDE,EAAAA,KAAK,EAAE;AACLH,IAAAA,IAAI,EAAE,WADD;AAELC,IAAAA,MAAM,EAAE,aAFH,EAT2C;;AAalDG,EAAAA,MAAM,EAAE;AACNJ,IAAAA,IAAI,EAAE,YADA;AAENC,IAAAA,MAAM,EAAE,cAFF,EAb0C;;AAiBlDI,EAAAA,KAAK,EAAE;AACLL,IAAAA,IAAI,EAAE,SADD;AAELC,IAAAA,MAAM,EAAE,WAFH,EAjB2C;;AAqBlDK,EAAAA,KAAK,EAAE;AACLN,IAAAA,IAAI,EAAE,OADD;AAELC,IAAAA,MAAM,EAAE,OAFH,EArB2C;;AAyBlDM,EAAAA,OAAO,EAAE;AACPP,IAAAA,IAAI,EAAE,aADC;AAEPC,IAAAA,MAAM,EAAE,eAFD,EAzByC,EAApD,C;;;;;;;AAkCaO,oB;AACJC,IAAAA,K,GAAmC,EAAEC,aAAa,EAAE,CAAC,OAAD,EAAU,QAAV,CAAjB,E;;AAEnCC,EAAAA,M,GAAP,kBAAgB;AACd;AACE,mCAAC,sBAAD;AACE,QAAA,QAAQ,EAAE1B,QADZ;AAEE,QAAA,aAAa,EAAE,KAAKwB,KAAL,CAAWC,aAF5B;AAGE,QAAA,WAAW,EAAE,qBAACE,IAAD,aAASC,QAAT,QAASA,QAAT,CAAmBC,OAAnB,QAAmBA,OAAnB,CAA4BC,QAA5B,QAA4BA,QAA5B;AACX,yCAAC,YAAD;AACE,cAAA,GAAG,EAAEH,IAAI,CAACnB,QAAL,EADP;AAEE,cAAA,MAAM,EAAEK,WAAW,CAACc,IAAD,CAAX,IAAqBd,WAAW,CAACS,OAF3C;AAGE,cAAA,QAAQ,EAAEM,QAHZ;AAIE,cAAA,OAAO,EAAEC,OAJX;AAKE,cAAA,QAAQ,EAAEC,QALZ;;AAOGH,YAAAA,IAPH,CADW,GAHf;;;AAcE,QAAA,aAAa,EAAE,uBAACI,QAAD,UAAc,MAAI,CAACC,QAAL,CAAc,EAAEP,aAAa,EAAEM,QAAjB,EAAd,CAAd,EAdjB,GADF;;;AAkBD,G,+BAtBuCE,eAAMC,S","sourcesContent":["import React from 'react';\n\nimport { TokenInput } from '../../components/TokenInput';\nimport { Token, TokenColors } from '../../components/Token';\n\nasync function getItems(query: string) {\n return Promise.resolve(\n ['First', 'Second', 'Third', 'Fourth', 'Fifth', 'Sixth'].filter(\n (x) => x.toLowerCase().includes(query.toLowerCase()) || x.toString() === query,\n ),\n ).then((res: string[]) => new Promise<string[]>((resolve) => setTimeout(resolve.bind(null, res), 500)));\n}\n\nconst tokenColors: { [key: string]: TokenColors } = {\n First: {\n idle: 'grayIdle',\n active: 'grayActive',\n },\n Second: {\n idle: 'blueIdle',\n active: 'blueActive',\n },\n Third: {\n idle: 'greenIdle',\n active: 'greenActive',\n },\n Fourth: {\n idle: 'yellowIdle',\n active: 'yellowActive',\n },\n Fifth: {\n idle: 'redIdle',\n active: 'redActive',\n },\n Sixth: {\n idle: 'white',\n active: 'black',\n },\n default: {\n idle: 'defaultIdle',\n active: 'defaultActive',\n },\n};\n\ninterface TokenInputPlaygroundState {\n selectedItems: string[];\n}\nexport class TokenInputPlayground extends React.Component {\n public state: TokenInputPlaygroundState = { selectedItems: ['First', 'Second'] };\n\n public render() {\n return (\n <TokenInput\n getItems={getItems}\n selectedItems={this.state.selectedItems}\n renderToken={(item, { isActive, onClick, onRemove }) => (\n <Token\n key={item.toString()}\n colors={tokenColors[item] || tokenColors.default}\n isActive={isActive}\n onClick={onClick}\n onRemove={onRemove}\n >\n {item}\n </Token>\n )}\n onValueChange={(itemsNew) => this.setState({ selectedItems: itemsNew })}\n />\n );\n }\n}\n"]}
@@ -7,20 +7,17 @@ export interface VariableValueProps {
7
7
  variable: string;
8
8
  theme: Theme;
9
9
  baseVariables: Array<keyof Theme>;
10
- deprecated: boolean;
10
+ deprecated?: boolean;
11
11
  }
12
12
  export interface VariableValueState {
13
13
  value: string;
14
14
  editing: boolean;
15
15
  }
16
+ declare type DefaultProps = Required<Pick<VariableValueProps, 'deprecated'>>;
16
17
  export declare class VariableValue extends React.Component<VariableValueProps, VariableValueState> {
17
- static defaultProps: {
18
- deprecated: boolean;
19
- };
20
- state: {
21
- value: string;
22
- editing: boolean;
23
- };
18
+ static defaultProps: DefaultProps;
19
+ private getProps;
20
+ state: VariableValueState;
24
21
  private subscription;
25
22
  private rootElement;
26
23
  private readonly debounceTimeout;
@@ -43,3 +40,4 @@ export declare class VariableValue extends React.Component<VariableValueProps, V
43
40
  private handleBlur;
44
41
  private emitterEventHandler;
45
42
  }
43
+ export {};
@@ -11,6 +11,7 @@ var _Link = require("../../components/Link");
11
11
  var _Hint = require("../../components/Hint");
12
12
  var _utils = require("../../lib/utils");
13
13
  var _Emotion = require("../../lib/theming/Emotion");
14
+ var _createPropsGetter = require("../../lib/createPropsGetter");
14
15
 
15
16
  var _Playground = require("./Playground.styles");
16
17
 
@@ -31,10 +32,13 @@ var emitter = new _eventemitter.default();var
31
32
 
32
33
 
33
34
 
35
+
36
+
34
37
  VariableValue = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(VariableValue, _React$Component);function VariableValue() {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.
35
38
 
36
39
 
37
40
 
41
+ getProps = (0, _createPropsGetter.createPropsGetter)(VariableValue.defaultProps);_this.
38
42
  state = {
39
43
  value: _this.props.value,
40
44
  editing: false };_this.
@@ -81,6 +85,7 @@ VariableValue = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.de
81
85
 
82
86
 
83
87
 
88
+
84
89
 
85
90
 
86
91
  renderBaseVariableLink = function () {
@@ -194,7 +199,7 @@ VariableValue = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.de
194
199
  if (name === _this.props.variable && _this.rootElement) {
195
200
  _this.rootElement.focus();
196
201
  }
197
- };return _this;}var _proto = VariableValue.prototype;_proto.render = function render() {var _cx;var _this$props2 = this.props,variable = _this$props2.variable,theme = _this$props2.theme,baseVariables = _this$props2.baseVariables,deprecated = _this$props2.deprecated;return /*#__PURE__*/_react.default.createElement("div", { className: _Playground.styles.variable(theme), ref: this.rootRef, tabIndex: 0 }, /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_Playground.styles.variableName(theme), (_cx = {}, _cx[_Playground.styles.deprecated()] = deprecated, _cx)), title: variable }, variable + ": "), baseVariables.length > 0 && !this.state.editing ? this.renderBaseVariableLink() : this.renderInputWrapper());};_proto.componentDidMount = function componentDidMount() {var _this2 = this;if (!this.subscription) {emitter.addListener('clicked', this.emitterEventHandler);this.subscription = { remove: function remove() {emitter.removeListener('clicked', _this2.emitterEventHandler);} };}};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (prevProps.value !== this.props.value) {this.setState({ value: this.props.value });}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.subscription) {this.subscription.remove();}if (this.debounceInterval !== undefined) {clearInterval(this.debounceInterval);}};_proto.renderInput = function renderInput() {return /*#__PURE__*/_react.default.createElement(_Input.Input, { leftIcon: isColorExtended(this.state.value) && this.colorIcon(), value: this.state.value, onValueChange: this.handleChange, onBlur: this.handleBlur, align: 'right', width: this.state.editing ? 225 : 250, error: this.props.isError });};_proto.renderRollbackIcon = function renderRollbackIcon() {return /*#__PURE__*/_react.default.createElement(_Hint.Hint, { text: 'Вернуться к базовой переменной' }, /*#__PURE__*/_react.default.createElement("div", { className: _Playground.styles.linkRoot() }, /*#__PURE__*/_react.default.createElement(_Link.Link, { icon: /*#__PURE__*/_react.default.createElement(_Delete.default, null), onClick: this.rollbackToBaseVariable })));};return VariableValue;}(_react.default.Component);exports.VariableValue = VariableValue;VariableValue.defaultProps = { deprecated: false };var
202
+ };return _this;}var _proto = VariableValue.prototype;_proto.render = function render() {var _cx;var _this$props2 = this.props,variable = _this$props2.variable,theme = _this$props2.theme,baseVariables = _this$props2.baseVariables;var deprecated = this.getProps().deprecated;return /*#__PURE__*/_react.default.createElement("div", { className: _Playground.styles.variable(theme), ref: this.rootRef, tabIndex: 0 }, /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_Playground.styles.variableName(theme), (_cx = {}, _cx[_Playground.styles.deprecated()] = deprecated, _cx)), title: variable }, variable + ": "), baseVariables.length > 0 && !this.state.editing ? this.renderBaseVariableLink() : this.renderInputWrapper());};_proto.componentDidMount = function componentDidMount() {var _this2 = this;if (!this.subscription) {emitter.addListener('clicked', this.emitterEventHandler);this.subscription = { remove: function remove() {emitter.removeListener('clicked', _this2.emitterEventHandler);} };}};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (prevProps.value !== this.props.value) {this.setState({ value: this.props.value });}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.subscription) {this.subscription.remove();}if (this.debounceInterval !== undefined) {clearInterval(this.debounceInterval);}};_proto.renderInput = function renderInput() {return /*#__PURE__*/_react.default.createElement(_Input.Input, { leftIcon: isColorExtended(this.state.value) && this.colorIcon(), value: this.state.value, onValueChange: this.handleChange, onBlur: this.handleBlur, align: 'right', width: this.state.editing ? 225 : 250, error: this.props.isError });};_proto.renderRollbackIcon = function renderRollbackIcon() {return /*#__PURE__*/_react.default.createElement(_Hint.Hint, { text: 'Вернуться к базовой переменной' }, /*#__PURE__*/_react.default.createElement("div", { className: _Playground.styles.linkRoot() }, /*#__PURE__*/_react.default.createElement(_Link.Link, { icon: /*#__PURE__*/_react.default.createElement(_Delete.default, null), onClick: this.rollbackToBaseVariable })));};return VariableValue;}(_react.default.Component);exports.VariableValue = VariableValue;VariableValue.defaultProps = { deprecated: false };var
198
203
 
199
204
 
200
205
 
@@ -1 +1 @@
1
- {"version":3,"sources":["VariableValue.tsx"],"names":["emitter","EventEmitter","VariableValue","state","value","props","editing","subscription","rootElement","debounceTimeout","debounceInterval","undefined","renderBaseVariableLink","baseVariables","styles","baseVariableRoot","colorIcon","baseLinkWrapper","textAlign","map","v","emitClickEvent","handleEditLinkClick","renderInputWrapper","renderInput","renderRollbackIcon","rootRef","instance","background","setState","rollbackToBaseVariable","variable","emit","handleChange","window","setInterval","debounceHandler","onChange","clearInterval","handleBlur","emitterEventHandler","name","focus","render","theme","deprecated","variableName","length","componentDidMount","addListener","remove","removeListener","componentDidUpdate","prevProps","componentWillUnmount","isColorExtended","isError","linkRoot","React","Component","defaultProps","BaseVariableLink","baseVariable","getColorValue","color","colorValue","style","Option"],"mappings":"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","sourcesContent":["import React from 'react';\nimport EditIcon from '@skbkontur/react-icons/Edit';\nimport DeleteIcon from '@skbkontur/react-icons/Delete';\nimport EventEmitter from 'eventemitter3';\n\nimport { isColor } from '../../lib/styles/ColorHelpers';\nimport { Input } from '../../components/Input';\nimport { Gapped } from '../../components/Gapped';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Link } from '../../components/Link';\nimport { Hint } from '../../components/Hint';\nimport { isFunction } from '../../lib/utils';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Playground.styles';\n\nconst emitter = new EventEmitter();\n\nexport interface VariableValueProps {\n onChange: (variable: keyof Theme, value: string) => void;\n value: string;\n isError: boolean;\n variable: string;\n theme: Theme;\n baseVariables: Array<keyof Theme>;\n deprecated: boolean;\n}\n\nexport interface VariableValueState {\n value: string;\n editing: boolean;\n}\n\nexport class VariableValue extends React.Component<VariableValueProps, VariableValueState> {\n public static defaultProps = {\n deprecated: false,\n };\n public state = {\n value: this.props.value,\n editing: false,\n };\n private subscription: { remove: () => void } | null = null;\n private rootElement: HTMLElement | null = null;\n private readonly debounceTimeout = 500;\n private debounceInterval: number | undefined = undefined;\n\n public render() {\n const { variable, theme, baseVariables, deprecated } = this.props;\n return (\n <div className={styles.variable(theme)} ref={this.rootRef} tabIndex={0}>\n <div\n className={cx(styles.variableName(theme), { [styles.deprecated()]: deprecated })}\n title={variable}\n >{`${variable}: `}</div>\n {baseVariables.length > 0 && !this.state.editing ? this.renderBaseVariableLink() : this.renderInputWrapper()}\n </div>\n );\n }\n\n public componentDidMount(): void {\n if (!this.subscription) {\n emitter.addListener('clicked', this.emitterEventHandler);\n this.subscription = {\n remove: () => {\n emitter.removeListener('clicked', this.emitterEventHandler);\n },\n };\n }\n }\n\n public componentDidUpdate(prevProps: VariableValueProps) {\n if (prevProps.value !== this.props.value) {\n this.setState({ value: this.props.value });\n }\n }\n\n public componentWillUnmount(): void {\n if (this.subscription) {\n this.subscription.remove();\n }\n if (this.debounceInterval !== undefined) {\n clearInterval(this.debounceInterval);\n }\n }\n\n private renderBaseVariableLink = () => {\n const baseVariables = this.props.baseVariables;\n return (\n <div className={styles.baseVariableRoot()}>\n {this.colorIcon()}\n <div className={styles.baseLinkWrapper()}>\n <Gapped>\n <div style={{ textAlign: 'right' }}>\n <Gapped vertical>\n {baseVariables.map((v) => (\n <BaseVariableLink key={v} baseVariable={v} emitClickEvent={this.emitClickEvent} />\n ))}\n </Gapped>\n </div>\n <Hint text={'Изменить значение'}>\n <Link icon={<EditIcon />} onClick={this.handleEditLinkClick} />\n </Hint>\n </Gapped>\n </div>\n </div>\n );\n };\n\n private renderInputWrapper = () => {\n return this.state.editing ? (\n <Gapped>\n {this.renderInput()}\n {this.renderRollbackIcon()}\n </Gapped>\n ) : (\n this.renderInput()\n );\n };\n\n private renderInput() {\n return (\n <Input\n leftIcon={isColorExtended(this.state.value) && this.colorIcon()}\n value={this.state.value}\n onValueChange={this.handleChange}\n onBlur={this.handleBlur}\n align={'right'}\n width={this.state.editing ? 225 : 250}\n error={this.props.isError}\n />\n );\n }\n\n private renderRollbackIcon() {\n return (\n <Hint text={'Вернуться к базовой переменной'}>\n <div className={styles.linkRoot()}>\n <Link icon={<DeleteIcon />} onClick={this.rollbackToBaseVariable} />\n </div>\n </Hint>\n );\n }\n\n private rootRef = (instance: HTMLElement | null) => {\n this.rootElement = instance;\n };\n\n private colorIcon = () => {\n return <div className={styles.colorIcon()} style={{ background: this.state.value }} />;\n };\n\n private handleEditLinkClick = () => {\n this.setState({\n editing: true,\n });\n };\n\n private rollbackToBaseVariable = () => {\n this.setState({\n editing: false,\n value: this.props.value,\n });\n };\n\n private emitClickEvent = (variable: string | number) => {\n emitter.emit('clicked', variable);\n };\n\n private handleChange = (value: string) => {\n this.setState({\n value,\n });\n\n if (this.debounceInterval === undefined) {\n this.debounceInterval = window.setInterval(this.debounceHandler, this.debounceTimeout);\n }\n };\n\n private debounceHandler = () => {\n const { variable, onChange } = this.props;\n\n onChange(variable as keyof Theme, this.state.value);\n clearInterval(this.debounceInterval);\n this.debounceInterval = undefined;\n };\n\n private handleBlur = () => {\n this.setState({\n editing: false,\n });\n };\n\n private emitterEventHandler = (name: keyof Theme) => {\n if (name === this.props.variable && this.rootElement) {\n this.rootElement.focus();\n }\n };\n}\n\ninterface BaseVariableLinkProps {\n baseVariable: string | number;\n emitClickEvent: (baseVariable: string | number) => void;\n}\nclass BaseVariableLink extends React.Component<BaseVariableLinkProps> {\n public render() {\n return <Link onClick={this.emitClickEvent}>{this.props.baseVariable}</Link>;\n }\n private emitClickEvent = () => {\n this.props.emitClickEvent(this.props.baseVariable);\n };\n}\n\ntype Color = string | (() => string);\n\nconst getColorValue = (color: Color) => {\n if (isFunction(color)) {\n return color();\n }\n\n return color;\n};\n\nfunction isColorExtended(color: Color) {\n const colorValue = getColorValue(color);\n\n const style = new Option().style;\n style.color = colorValue;\n\n if (colorValue) {\n return isColor(colorValue) || style.color === colorValue;\n }\n\n return false;\n}\n"]}
1
+ {"version":3,"sources":["VariableValue.tsx"],"names":["emitter","EventEmitter","VariableValue","getProps","defaultProps","state","value","props","editing","subscription","rootElement","debounceTimeout","debounceInterval","undefined","renderBaseVariableLink","baseVariables","styles","baseVariableRoot","colorIcon","baseLinkWrapper","textAlign","map","v","emitClickEvent","handleEditLinkClick","renderInputWrapper","renderInput","renderRollbackIcon","rootRef","instance","background","setState","rollbackToBaseVariable","variable","emit","handleChange","window","setInterval","debounceHandler","onChange","clearInterval","handleBlur","emitterEventHandler","name","focus","render","theme","deprecated","variableName","length","componentDidMount","addListener","remove","removeListener","componentDidUpdate","prevProps","componentWillUnmount","isColorExtended","isError","linkRoot","React","Component","BaseVariableLink","baseVariable","getColorValue","color","colorValue","style","Option"],"mappings":"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","sourcesContent":["import React from 'react';\nimport EditIcon from '@skbkontur/react-icons/Edit';\nimport DeleteIcon from '@skbkontur/react-icons/Delete';\nimport EventEmitter from 'eventemitter3';\n\nimport { isColor } from '../../lib/styles/ColorHelpers';\nimport { Input } from '../../components/Input';\nimport { Gapped } from '../../components/Gapped';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Link } from '../../components/Link';\nimport { Hint } from '../../components/Hint';\nimport { isFunction } from '../../lib/utils';\nimport { cx } from '../../lib/theming/Emotion';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Playground.styles';\n\nconst emitter = new EventEmitter();\n\nexport interface VariableValueProps {\n onChange: (variable: keyof Theme, value: string) => void;\n value: string;\n isError: boolean;\n variable: string;\n theme: Theme;\n baseVariables: Array<keyof Theme>;\n deprecated?: boolean;\n}\n\nexport interface VariableValueState {\n value: string;\n editing: boolean;\n}\n\ntype DefaultProps = Required<Pick<VariableValueProps, 'deprecated'>>;\n\nexport class VariableValue extends React.Component<VariableValueProps, VariableValueState> {\n public static defaultProps: DefaultProps = {\n deprecated: false,\n };\n private getProps = createPropsGetter(VariableValue.defaultProps);\n public state: VariableValueState = {\n value: this.props.value,\n editing: false,\n };\n private subscription: { remove: () => void } | null = null;\n private rootElement: HTMLElement | null = null;\n private readonly debounceTimeout = 500;\n private debounceInterval: number | undefined = undefined;\n\n public render() {\n const { variable, theme, baseVariables } = this.props;\n const deprecated = this.getProps().deprecated;\n return (\n <div className={styles.variable(theme)} ref={this.rootRef} tabIndex={0}>\n <div\n className={cx(styles.variableName(theme), { [styles.deprecated()]: deprecated })}\n title={variable}\n >{`${variable}: `}</div>\n {baseVariables.length > 0 && !this.state.editing ? this.renderBaseVariableLink() : this.renderInputWrapper()}\n </div>\n );\n }\n\n public componentDidMount(): void {\n if (!this.subscription) {\n emitter.addListener('clicked', this.emitterEventHandler);\n this.subscription = {\n remove: () => {\n emitter.removeListener('clicked', this.emitterEventHandler);\n },\n };\n }\n }\n\n public componentDidUpdate(prevProps: VariableValueProps) {\n if (prevProps.value !== this.props.value) {\n this.setState({ value: this.props.value });\n }\n }\n\n public componentWillUnmount(): void {\n if (this.subscription) {\n this.subscription.remove();\n }\n if (this.debounceInterval !== undefined) {\n clearInterval(this.debounceInterval);\n }\n }\n\n private renderBaseVariableLink = () => {\n const baseVariables = this.props.baseVariables;\n return (\n <div className={styles.baseVariableRoot()}>\n {this.colorIcon()}\n <div className={styles.baseLinkWrapper()}>\n <Gapped>\n <div style={{ textAlign: 'right' }}>\n <Gapped vertical>\n {baseVariables.map((v) => (\n <BaseVariableLink key={v} baseVariable={v} emitClickEvent={this.emitClickEvent} />\n ))}\n </Gapped>\n </div>\n <Hint text={'Изменить значение'}>\n <Link icon={<EditIcon />} onClick={this.handleEditLinkClick} />\n </Hint>\n </Gapped>\n </div>\n </div>\n );\n };\n\n private renderInputWrapper = () => {\n return this.state.editing ? (\n <Gapped>\n {this.renderInput()}\n {this.renderRollbackIcon()}\n </Gapped>\n ) : (\n this.renderInput()\n );\n };\n\n private renderInput() {\n return (\n <Input\n leftIcon={isColorExtended(this.state.value) && this.colorIcon()}\n value={this.state.value}\n onValueChange={this.handleChange}\n onBlur={this.handleBlur}\n align={'right'}\n width={this.state.editing ? 225 : 250}\n error={this.props.isError}\n />\n );\n }\n\n private renderRollbackIcon() {\n return (\n <Hint text={'Вернуться к базовой переменной'}>\n <div className={styles.linkRoot()}>\n <Link icon={<DeleteIcon />} onClick={this.rollbackToBaseVariable} />\n </div>\n </Hint>\n );\n }\n\n private rootRef = (instance: HTMLElement | null) => {\n this.rootElement = instance;\n };\n\n private colorIcon = () => {\n return <div className={styles.colorIcon()} style={{ background: this.state.value }} />;\n };\n\n private handleEditLinkClick = () => {\n this.setState({\n editing: true,\n });\n };\n\n private rollbackToBaseVariable = () => {\n this.setState({\n editing: false,\n value: this.props.value,\n });\n };\n\n private emitClickEvent = (variable: string | number) => {\n emitter.emit('clicked', variable);\n };\n\n private handleChange = (value: string) => {\n this.setState({\n value,\n });\n\n if (this.debounceInterval === undefined) {\n this.debounceInterval = window.setInterval(this.debounceHandler, this.debounceTimeout);\n }\n };\n\n private debounceHandler = () => {\n const { variable, onChange } = this.props;\n\n onChange(variable as keyof Theme, this.state.value);\n clearInterval(this.debounceInterval);\n this.debounceInterval = undefined;\n };\n\n private handleBlur = () => {\n this.setState({\n editing: false,\n });\n };\n\n private emitterEventHandler = (name: keyof Theme) => {\n if (name === this.props.variable && this.rootElement) {\n this.rootElement.focus();\n }\n };\n}\n\ninterface BaseVariableLinkProps {\n baseVariable: string | number;\n emitClickEvent: (baseVariable: string | number) => void;\n}\nclass BaseVariableLink extends React.Component<BaseVariableLinkProps> {\n public render() {\n return <Link onClick={this.emitClickEvent}>{this.props.baseVariable}</Link>;\n }\n private emitClickEvent = () => {\n this.props.emitClickEvent(this.props.baseVariable);\n };\n}\n\ntype Color = string | (() => string);\n\nconst getColorValue = (color: Color) => {\n if (isFunction(color)) {\n return color();\n }\n\n return color;\n};\n\nfunction isColorExtended(color: Color) {\n const colorValue = getColorValue(color);\n\n const style = new Option().style;\n style.color = colorValue;\n\n if (colorValue) {\n return isColor(colorValue) || style.color === colorValue;\n }\n\n return false;\n}\n"]}
@@ -1,2 +1,2 @@
1
1
  import React from 'react';
2
- export declare const getComponentsFromPropsList: <P extends {}>(component: React.ReactElement<P, string | React.JSXElementConstructor<any>>, propsList: P[]) => React.ReactElement<P, string | React.JSXElementConstructor<any>>[];
2
+ export declare const getComponentsFromPropsList: <P extends Record<string, string>>(component: React.ReactElement<P, string | React.JSXElementConstructor<any>>, propsList: P[]) => React.ReactElement<P, string | React.JSXElementConstructor<any>>[];
@@ -2,10 +2,12 @@
2
2
 
3
3
  var _Checkbox = require("../../components/Checkbox");
4
4
 
5
- var getComponentsFromPropsList = function getComponentsFromPropsList(component, propsList) {
5
+ var getComponentsFromPropsList = function getComponentsFromPropsList(
6
+ component,
7
+ propsList)
8
+ {
6
9
  return propsList.reduce(function (result, props, index) {
7
10
  // NOTE: все это ради чекбокса с фокусом, т.к. нет ни focused, ни autofocus; а ref+focus() снаружи нестабилен
8
- // @ts-ignore
9
11
  var isCheckbox = component.type === _Checkbox.Checkbox;
10
12
  if (isCheckbox) {
11
13
  var checkboxProps = props;
@@ -1 +1 @@
1
- {"version":3,"sources":["helpers.tsx"],"names":["getComponentsFromPropsList","component","propsList","reduce","result","props","index","isCheckbox","type","Checkbox","checkboxProps","focused","ref","el","setState","focusedByTab","elementWithProps","React","cloneElement","key"],"mappings":"0PAAA;;AAEA;;AAEO,IAAMA,0BAA0B,GAAG,SAA7BA,0BAA6B,CAAeC,SAAf,EAAiDC,SAAjD,EAAoE;AAC5G,SAAOA,SAAS,CAACC,MAAV,CAAiB,UAACC,MAAD,EAAuCC,KAAvC,EAA8CC,KAA9C,EAAwD;AAC9E;AACA;AACA,QAAMC,UAAU,GAAGN,SAAS,CAACO,IAAV,KAAmBC,kBAAtC;AACA,QAAIF,UAAJ,EAAgB;AACd,UAAMG,aAAa,GAAGL,KAAtB;AACA,UAAIK,aAAa,CAACC,OAAlB,EAA2B;AACzBD,QAAAA,aAAa,CAACE,GAAd,GAAoB,UAACC,EAAD,EAAQ;AAC1B,cAAIA,EAAJ,EAAQ;AACNA,YAAAA,EAAE,CAACC,QAAH,CAAY,EAAEC,YAAY,EAAE,IAAhB,EAAZ;AACD;AACF,SAJD;AAKA,eAAOL,aAAa,CAACC,OAArB;AACD;AACF;;AAED,QAAMK,gBAAgB,gBAAGC,eAAMC,YAAN,CAAmBjB,SAAnB,6BAAmCI,KAAnC,IAA0Cc,GAAG,EAAEb,KAA/C,IAAzB;;AAEA,qBAAWF,MAAX,GAAmBY,gBAAnB;AACD,GAnBM,EAmBJ,EAnBI,CAAP;AAoBD,CArBM,C","sourcesContent":["import React from 'react';\n\nimport { Checkbox } from '../../components/Checkbox';\n\nexport const getComponentsFromPropsList = <P extends {}>(component: React.ReactElement<P>, propsList: P[]) => {\n return propsList.reduce((result: Array<React.ReactElement<P>>, props, index) => {\n // NOTE: все это ради чекбокса с фокусом, т.к. нет ни focused, ни autofocus; а ref+focus() снаружи нестабилен\n // @ts-ignore\n const isCheckbox = component.type === Checkbox;\n if (isCheckbox) {\n const checkboxProps = props as unknown as { ref: (el: Checkbox) => void; focused?: boolean };\n if (checkboxProps.focused) {\n checkboxProps.ref = (el) => {\n if (el) {\n el.setState({ focusedByTab: true });\n }\n };\n delete checkboxProps.focused;\n }\n }\n\n const elementWithProps = React.cloneElement(component, { ...props, key: index });\n\n return [...result, elementWithProps];\n }, []);\n};\n"]}
1
+ {"version":3,"sources":["helpers.tsx"],"names":["getComponentsFromPropsList","component","propsList","reduce","result","props","index","isCheckbox","type","Checkbox","checkboxProps","focused","ref","el","setState","focusedByTab","elementWithProps","React","cloneElement","key"],"mappings":"0PAAA;;AAEA;;AAEO,IAAMA,0BAA0B,GAAG,SAA7BA,0BAA6B;AACxCC,SADwC;AAExCC,SAFwC;AAGrC;AACH,SAAOA,SAAS,CAACC,MAAV,CAAiB,UAACC,MAAD,EAAuCC,KAAvC,EAA8CC,KAA9C,EAAwD;AAC9E;AACA,QAAMC,UAAU,GAAGN,SAAS,CAACO,IAAV,KAAmBC,kBAAtC;AACA,QAAIF,UAAJ,EAAgB;AACd,UAAMG,aAAa,GAAGL,KAAtB;AACA,UAAIK,aAAa,CAACC,OAAlB,EAA2B;AACzBD,QAAAA,aAAa,CAACE,GAAd,GAAoB,UAACC,EAAD,EAAQ;AAC1B,cAAIA,EAAJ,EAAQ;AACNA,YAAAA,EAAE,CAACC,QAAH,CAAY,EAAEC,YAAY,EAAE,IAAhB,EAAZ;AACD;AACF,SAJD;AAKA,eAAOL,aAAa,CAACC,OAArB;AACD;AACF;;AAED,QAAMK,gBAAgB,gBAAGC,eAAMC,YAAN,CAAmBjB,SAAnB,6BAAmCI,KAAnC,IAA0Cc,GAAG,EAAEb,KAA/C,IAAzB;;AAEA,qBAAWF,MAAX,GAAmBY,gBAAnB;AACD,GAlBM,EAkBJ,EAlBI,CAAP;AAmBD,CAvBM,C","sourcesContent":["import React from 'react';\n\nimport { Checkbox } from '../../components/Checkbox';\n\nexport const getComponentsFromPropsList = <P extends Record<string, string>>(\n component: React.ReactElement<P>,\n propsList: P[],\n) => {\n return propsList.reduce((result: Array<React.ReactElement<P>>, props, index) => {\n // NOTE: все это ради чекбокса с фокусом, т.к. нет ни focused, ни autofocus; а ref+focus() снаружи нестабилен\n const isCheckbox = component.type === Checkbox;\n if (isCheckbox) {\n const checkboxProps = props as unknown as { ref: (el: Checkbox) => void; focused?: boolean };\n if (checkboxProps.focused) {\n checkboxProps.ref = (el) => {\n if (el) {\n el.setState({ focusedByTab: true });\n }\n };\n delete checkboxProps.focused;\n }\n }\n\n const elementWithProps = React.cloneElement(component, { ...props, key: index });\n\n return [...result, elementWithProps];\n }, []);\n};\n"]}