@skbkontur/react-ui 4.3.1 → 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 (434) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/cjs/components/Autocomplete/Autocomplete.js +3 -1
  3. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  4. package/cjs/components/Checkbox/Checkbox.js +4 -2
  5. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  6. package/cjs/components/Checkbox/Checkbox.styles.d.ts +1 -1
  7. package/cjs/components/Checkbox/Checkbox.styles.js +1 -1
  8. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  9. package/cjs/components/CurrencyInput/CurrencyInput.js +6 -4
  10. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  11. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +1 -1
  12. package/cjs/components/DateInput/DateFragmentsView.d.ts +1 -1
  13. package/cjs/components/DateInput/DateFragmentsView.js +10 -1
  14. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  15. package/cjs/components/DateInput/DateInput.d.ts +1 -1
  16. package/cjs/components/DateInput/DateInput.js +1 -1
  17. package/cjs/components/DateInput/DateInput.js.map +1 -1
  18. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js +1 -2
  19. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
  20. package/cjs/components/DateInput/helpers/SelectionHelpers.js +2 -2
  21. package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
  22. package/cjs/components/DatePicker/DatePicker.js +11 -3
  23. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  24. package/cjs/components/DatePicker/Picker.js +5 -1
  25. package/cjs/components/DatePicker/Picker.js.map +1 -1
  26. package/cjs/components/FileUploader/FileUploader.js +2 -2
  27. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  28. package/cjs/components/FxInput/FxInput.js +3 -1
  29. package/cjs/components/FxInput/FxInput.js.map +1 -1
  30. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +2 -2
  31. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  32. package/cjs/components/Input/Input.js +3 -1
  33. package/cjs/components/Input/Input.js.map +1 -1
  34. package/cjs/components/Input/Input.md +5 -1
  35. package/cjs/components/Kebab/Kebab.d.ts +1 -4
  36. package/cjs/components/Kebab/Kebab.js.map +1 -1
  37. package/cjs/components/Link/Link.d.ts +1 -3
  38. package/cjs/components/Link/Link.js +1 -1
  39. package/cjs/components/Link/Link.js.map +1 -1
  40. package/cjs/components/Loader/Loader.d.ts +2 -1
  41. package/cjs/components/Loader/Loader.js +1 -0
  42. package/cjs/components/Loader/Loader.js.map +1 -1
  43. package/cjs/components/Loader/__stories__/LoaderAndButton.js +6 -0
  44. package/cjs/components/Loader/__stories__/LoaderAndButton.js.map +1 -1
  45. package/cjs/components/MenuItem/MenuItem.js +3 -1
  46. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  47. package/cjs/components/Modal/Modal.js +2 -2
  48. package/cjs/components/Modal/Modal.js.map +1 -1
  49. package/cjs/components/Modal/Modal.styles.d.ts +2 -2
  50. package/cjs/components/Modal/Modal.styles.js +2 -2
  51. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  52. package/cjs/components/Modal/ModalBody.js +2 -2
  53. package/cjs/components/Modal/ModalBody.js.map +1 -1
  54. package/cjs/components/Paging/Paging.d.ts +1 -1
  55. package/cjs/components/Paging/Paging.js +1 -1
  56. package/cjs/components/Paging/Paging.js.map +1 -1
  57. package/cjs/components/Paging/PagingDefaultComponent.d.ts +2 -2
  58. package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -1
  59. package/cjs/components/PasswordInput/PasswordInput.js +7 -5
  60. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  61. package/cjs/components/Radio/Radio.js +3 -1
  62. package/cjs/components/Radio/Radio.js.map +1 -1
  63. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +2 -2
  64. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  65. package/cjs/components/Select/Item.d.ts +4 -2
  66. package/cjs/components/Select/Item.js +3 -0
  67. package/cjs/components/Select/Item.js.map +1 -1
  68. package/cjs/components/Select/Select.js +2 -0
  69. package/cjs/components/Select/Select.js.map +1 -1
  70. package/cjs/components/SidePage/SidePageFooter.d.ts +6 -4
  71. package/cjs/components/SidePage/SidePageFooter.js +4 -0
  72. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  73. package/cjs/components/Spinner/Spinner.js +1 -1
  74. package/cjs/components/Spinner/Spinner.js.map +1 -1
  75. package/cjs/components/Spinner/Spinner.styles.d.ts +1 -1
  76. package/cjs/components/Spinner/Spinner.styles.js +7 -7
  77. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  78. package/cjs/components/Tabs/Indicator.d.ts +1 -1
  79. package/cjs/components/Tabs/Indicator.js +1 -1
  80. package/cjs/components/Tabs/Indicator.js.map +1 -1
  81. package/cjs/components/Tabs/Tabs.js.map +1 -1
  82. package/cjs/components/Textarea/Textarea.js +3 -1
  83. package/cjs/components/Textarea/Textarea.js.map +1 -1
  84. package/cjs/components/Textarea/TextareaCounter.d.ts +2 -2
  85. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  86. package/cjs/components/Toast/Toast.js +1 -1
  87. package/cjs/components/Toast/Toast.js.map +1 -1
  88. package/cjs/components/TokenInput/TokenInput.js +1 -2
  89. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  90. package/cjs/components/TokenInput/TokenInputMenu.d.ts +2 -1
  91. package/cjs/components/TokenInput/TokenInputMenu.js +1 -1
  92. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  93. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +1 -1
  94. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  95. package/cjs/hooks/useEffectWithoutInitCall.d.ts +2 -2
  96. package/cjs/hooks/useEffectWithoutInitCall.js +2 -2
  97. package/cjs/hooks/useEffectWithoutInitCall.js.map +1 -1
  98. package/cjs/hooks/useMemoObject.d.ts +2 -1
  99. package/cjs/hooks/useMemoObject.js +2 -0
  100. package/cjs/hooks/useMemoObject.js.map +1 -1
  101. package/cjs/internal/BGRuler.d.ts +1 -1
  102. package/cjs/internal/BGRuler.js.map +1 -1
  103. package/cjs/internal/Calendar/MonthViewModel.d.ts +1 -1
  104. package/cjs/internal/Calendar/config.d.ts +1 -8
  105. package/cjs/internal/CommonWrapper/CommonWrapper.js +5 -4
  106. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  107. package/cjs/internal/ComponentTable.d.ts +2 -2
  108. package/cjs/internal/ComponentTable.js +3 -1
  109. package/cjs/internal/ComponentTable.js.map +1 -1
  110. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +2 -2
  111. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +8 -8
  112. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  113. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +4 -5
  114. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  115. package/cjs/internal/DataTids/DataTids.d.ts +5 -5
  116. package/cjs/internal/DataTids/DataTids.js +4 -0
  117. package/cjs/internal/DataTids/DataTids.js.map +1 -1
  118. package/cjs/internal/DateSelect/DateSelect.js +1 -1
  119. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  120. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +1 -1
  121. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -1
  122. package/cjs/internal/InputLikeText/InputLikeText.js +4 -2
  123. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  124. package/cjs/internal/InternalMenu/InternalMenu.js +1 -1
  125. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  126. package/cjs/internal/MaskedInput/MaskedInput.js +3 -1
  127. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  128. package/cjs/internal/MobilePopup/MobilePopup.js +1 -1
  129. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  130. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +1 -1
  131. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  132. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  133. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +11 -6
  134. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js +7 -0
  135. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js.map +1 -1
  136. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +7 -6
  137. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js +2 -3
  138. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js.map +1 -1
  139. package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +6 -4
  140. package/cjs/internal/ThemePlayground/FxInputPlayground.js +5 -5
  141. package/cjs/internal/ThemePlayground/FxInputPlayground.js.map +1 -1
  142. package/cjs/internal/ThemePlayground/HintPlayground.d.ts +1 -1
  143. package/cjs/internal/ThemePlayground/HintPlayground.js.map +1 -1
  144. package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +6 -6
  145. package/cjs/internal/ThemePlayground/PagingPlayground.js +5 -2
  146. package/cjs/internal/ThemePlayground/PagingPlayground.js.map +1 -1
  147. package/cjs/internal/ThemePlayground/Playground.d.ts +1 -1
  148. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  149. package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +9 -6
  150. package/cjs/internal/ThemePlayground/SelectPlayground.js +6 -0
  151. package/cjs/internal/ThemePlayground/SelectPlayground.js.map +1 -1
  152. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +2 -2
  153. package/cjs/internal/ThemePlayground/SizesGroup.js +2 -0
  154. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  155. package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +9 -8
  156. package/cjs/internal/ThemePlayground/SwitcherPlayground.js +6 -1
  157. package/cjs/internal/ThemePlayground/SwitcherPlayground.js.map +1 -1
  158. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +14 -4
  159. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  160. package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +1 -4
  161. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  162. package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +2 -7
  163. package/cjs/internal/ThemePlayground/TogglePlayground.js +4 -10
  164. package/cjs/internal/ThemePlayground/TogglePlayground.js.map +1 -1
  165. package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +6 -4
  166. package/cjs/internal/ThemePlayground/TokenInputPlayground.js +3 -0
  167. package/cjs/internal/ThemePlayground/TokenInputPlayground.js.map +1 -1
  168. package/cjs/internal/ThemePlayground/VariableValue.d.ts +1 -4
  169. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  170. package/cjs/internal/ThemePlayground/helpers.d.ts +1 -1
  171. package/cjs/internal/ThemePlayground/helpers.js +4 -2
  172. package/cjs/internal/ThemePlayground/helpers.js.map +1 -1
  173. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  174. package/cjs/internal/ZIndex/ZIndex.js +2 -9
  175. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  176. package/cjs/lib/ConditionalHandler.js.map +1 -1
  177. package/cjs/lib/ModalStack.js +2 -2
  178. package/cjs/lib/ModalStack.js.map +1 -1
  179. package/cjs/lib/animation/index.js +1 -0
  180. package/cjs/lib/animation/index.js.map +1 -1
  181. package/cjs/lib/callChildRef/callChildRef.js +1 -1
  182. package/cjs/lib/callChildRef/callChildRef.js.map +1 -1
  183. package/cjs/lib/createPropsGetter.d.ts +1 -1
  184. package/cjs/lib/createPropsGetter.js +1 -0
  185. package/cjs/lib/createPropsGetter.js.map +1 -1
  186. package/cjs/lib/date/InternalDateCalculator.d.ts +1 -1
  187. package/cjs/lib/date/InternalDateCalculator.js +1 -1
  188. package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
  189. package/cjs/lib/date/InternalDateValidator.d.ts +1 -1
  190. package/cjs/lib/date/InternalDateValidator.js +9 -2
  191. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  192. package/cjs/lib/extractKeyboardAction.d.ts +1 -1
  193. package/cjs/lib/extractKeyboardAction.js.map +1 -1
  194. package/cjs/lib/filterProps.js +0 -1
  195. package/cjs/lib/filterProps.js.map +1 -1
  196. package/cjs/lib/locale/useLocaleForControl.d.ts +1 -1
  197. package/cjs/lib/locale/useLocaleForControl.js.map +1 -1
  198. package/cjs/lib/memo.d.ts +3 -1
  199. package/cjs/lib/memo.js +3 -3
  200. package/cjs/lib/memo.js.map +1 -1
  201. package/cjs/lib/net/fetch.js +2 -2
  202. package/cjs/lib/net/fetch.js.map +1 -1
  203. package/cjs/lib/reactGetTextContent.js +0 -1
  204. package/cjs/lib/reactGetTextContent.js.map +1 -1
  205. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -2
  206. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  207. package/cjs/lib/styles/ColorFactory.js +2 -2
  208. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  209. package/cjs/lib/styles/ColorFunctions.js.map +1 -1
  210. package/cjs/lib/theming/AnimationKeyframes.d.ts +3 -5
  211. package/cjs/lib/theming/AnimationKeyframes.js +8 -22
  212. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  213. package/cjs/lib/theming/Emotion.js +1 -0
  214. package/cjs/lib/theming/Emotion.js.map +1 -1
  215. package/cjs/lib/theming/ThemeFactory.d.ts +1 -1
  216. package/cjs/lib/theming/ThemeFactory.js +3 -1
  217. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  218. package/cjs/lib/theming/ThemeHelpers.d.ts +2 -2
  219. package/cjs/lib/theming/ThemeHelpers.js +1 -1
  220. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  221. package/cjs/lib/utils.d.ts +3 -1
  222. package/cjs/lib/utils.js +5 -2
  223. package/cjs/lib/utils.js.map +1 -1
  224. package/cjs/lib/withClassWrapper.js +1 -4
  225. package/cjs/lib/withClassWrapper.js.map +1 -1
  226. package/components/Autocomplete/Autocomplete/Autocomplete.js +4 -1
  227. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  228. package/components/Checkbox/Checkbox/Checkbox.js +5 -2
  229. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  230. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +1 -1
  231. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  232. package/components/Checkbox/Checkbox.styles.d.ts +1 -1
  233. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +8 -3
  234. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  235. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +1 -1
  236. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +10 -1
  237. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  238. package/components/DateInput/DateFragmentsView.d.ts +1 -1
  239. package/components/DateInput/DateInput/DateInput.js +1 -1
  240. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  241. package/components/DateInput/DateInput.d.ts +1 -1
  242. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js +0 -1
  243. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
  244. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +2 -2
  245. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
  246. package/components/DatePicker/DatePicker/DatePicker.js +13 -12
  247. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  248. package/components/DatePicker/Picker/Picker.js +5 -1
  249. package/components/DatePicker/Picker/Picker.js.map +1 -1
  250. package/components/FileUploader/FileUploader/FileUploader.js +2 -2
  251. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  252. package/components/FxInput/FxInput/FxInput.js +4 -1
  253. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  254. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  255. package/components/GlobalLoader/GlobalLoaderView.d.ts +2 -2
  256. package/components/Input/Input/Input.js +4 -1
  257. package/components/Input/Input/Input.js.map +1 -1
  258. package/components/Input/Input.md +5 -1
  259. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  260. package/components/Kebab/Kebab.d.ts +1 -4
  261. package/components/Link/Link/Link.js +1 -1
  262. package/components/Link/Link/Link.js.map +1 -1
  263. package/components/Link/Link.d.ts +1 -3
  264. package/components/Loader/Loader/Loader.js.map +1 -1
  265. package/components/Loader/Loader.d.ts +2 -1
  266. package/components/Loader/__stories__/LoaderAndButton/LoaderAndButton.js.map +1 -1
  267. package/components/MenuItem/MenuItem/MenuItem.js +4 -1
  268. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  269. package/components/Modal/Modal/Modal.js +2 -2
  270. package/components/Modal/Modal/Modal.js.map +1 -1
  271. package/components/Modal/Modal.styles/Modal.styles.js +2 -2
  272. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  273. package/components/Modal/Modal.styles.d.ts +2 -2
  274. package/components/Modal/ModalBody/ModalBody.js +2 -2
  275. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  276. package/components/Paging/Paging/Paging.js +1 -1
  277. package/components/Paging/Paging/Paging.js.map +1 -1
  278. package/components/Paging/Paging.d.ts +1 -1
  279. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -1
  280. package/components/Paging/PagingDefaultComponent.d.ts +2 -2
  281. package/components/PasswordInput/PasswordInput/PasswordInput.js +7 -8
  282. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  283. package/components/Radio/Radio/Radio.js +4 -1
  284. package/components/Radio/Radio/Radio.js.map +1 -1
  285. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +3 -1
  286. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  287. package/components/Select/Item/Item.js.map +1 -1
  288. package/components/Select/Item.d.ts +4 -2
  289. package/components/Select/Select/Select.js.map +1 -1
  290. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  291. package/components/SidePage/SidePageFooter.d.ts +6 -4
  292. package/components/Spinner/Spinner/Spinner.js +1 -1
  293. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  294. package/components/Spinner/Spinner.styles/Spinner.styles.js +3 -3
  295. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  296. package/components/Spinner/Spinner.styles.d.ts +1 -1
  297. package/components/Tabs/Indicator/Indicator.js +1 -1
  298. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  299. package/components/Tabs/Indicator.d.ts +1 -1
  300. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  301. package/components/Textarea/Textarea/Textarea.js +4 -1
  302. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  303. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  304. package/components/Textarea/TextareaCounter.d.ts +2 -2
  305. package/components/Toast/Toast/Toast.js +1 -1
  306. package/components/Toast/Toast/Toast.js.map +1 -1
  307. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  308. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +1 -1
  309. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  310. package/components/TokenInput/TokenInputMenu.d.ts +2 -1
  311. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  312. package/components/TooltipMenu/TooltipMenu.d.ts +1 -1
  313. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js +2 -2
  314. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js.map +1 -1
  315. package/hooks/useEffectWithoutInitCall.d.ts +2 -2
  316. package/hooks/useMemoObject/useMemoObject.js.map +1 -1
  317. package/hooks/useMemoObject.d.ts +2 -1
  318. package/internal/BGRuler/BGRuler.js.map +1 -1
  319. package/internal/BGRuler.d.ts +1 -1
  320. package/internal/Calendar/MonthViewModel.d.ts +1 -1
  321. package/internal/Calendar/config.d.ts +1 -8
  322. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +3 -2
  323. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  324. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  325. package/internal/ComponentTable.d.ts +2 -2
  326. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +14 -17
  327. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  328. package/internal/CustomComboBox/ComboBoxMenu.d.ts +2 -2
  329. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +4 -5
  330. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  331. package/internal/DataTids/DataTids/DataTids.js.map +1 -1
  332. package/internal/DataTids/DataTids.d.ts +5 -5
  333. package/internal/DateSelect/DateSelect/DateSelect.js +1 -1
  334. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  335. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -1
  336. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +1 -1
  337. package/internal/InputLikeText/InputLikeText/InputLikeText.js +5 -2
  338. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  339. package/internal/InternalMenu/InternalMenu/InternalMenu.js +1 -1
  340. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  341. package/internal/MaskedInput/MaskedInput/MaskedInput.js +4 -1
  342. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  343. package/internal/MobilePopup/MobilePopup/MobilePopup.js +1 -1
  344. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  345. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +1 -1
  346. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  347. package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  348. package/internal/ThemePlayground/AnotherInputsPlayground/AnotherInputsPlayground.js.map +1 -1
  349. package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +11 -6
  350. package/internal/ThemePlayground/CurrencyInputPlayground/CurrencyInputPlayground.js.map +1 -1
  351. package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +7 -6
  352. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js +10 -6
  353. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js.map +1 -1
  354. package/internal/ThemePlayground/FxInputPlayground.d.ts +6 -4
  355. package/internal/ThemePlayground/HintPlayground/HintPlayground.js.map +1 -1
  356. package/internal/ThemePlayground/HintPlayground.d.ts +1 -1
  357. package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js +2 -2
  358. package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js.map +1 -1
  359. package/internal/ThemePlayground/PagingPlayground.d.ts +6 -6
  360. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  361. package/internal/ThemePlayground/Playground.d.ts +1 -1
  362. package/internal/ThemePlayground/SelectPlayground/SelectPlayground.js.map +1 -1
  363. package/internal/ThemePlayground/SelectPlayground.d.ts +9 -6
  364. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  365. package/internal/ThemePlayground/SizesGroup.d.ts +2 -2
  366. package/internal/ThemePlayground/SwitcherPlayground/SwitcherPlayground.js.map +1 -1
  367. package/internal/ThemePlayground/SwitcherPlayground.d.ts +9 -8
  368. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +13 -3
  369. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  370. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  371. package/internal/ThemePlayground/ThemeEditor.d.ts +1 -4
  372. package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js +5 -17
  373. package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js.map +1 -1
  374. package/internal/ThemePlayground/TogglePlayground.d.ts +2 -7
  375. package/internal/ThemePlayground/TokenInputPlayground/TokenInputPlayground.js.map +1 -1
  376. package/internal/ThemePlayground/TokenInputPlayground.d.ts +6 -4
  377. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  378. package/internal/ThemePlayground/VariableValue.d.ts +1 -4
  379. package/internal/ThemePlayground/helpers/helpers.js +0 -1
  380. package/internal/ThemePlayground/helpers/helpers.js.map +1 -1
  381. package/internal/ThemePlayground/helpers.d.ts +1 -1
  382. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  383. package/internal/ZIndex/ZIndex/ZIndex.js +6 -3
  384. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  385. package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
  386. package/lib/ModalStack/ModalStack.js +2 -2
  387. package/lib/ModalStack/ModalStack.js.map +1 -1
  388. package/lib/animation/index/index.js +1 -1
  389. package/lib/animation/index/index.js.map +1 -1
  390. package/lib/callChildRef/callChildRef/callChildRef.js +1 -1
  391. package/lib/callChildRef/callChildRef/callChildRef.js.map +1 -1
  392. package/lib/createPropsGetter/createPropsGetter.js +1 -0
  393. package/lib/createPropsGetter/createPropsGetter.js.map +1 -1
  394. package/lib/createPropsGetter.d.ts +1 -1
  395. package/lib/date/InternalDateCalculator/InternalDateCalculator.js +1 -2
  396. package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
  397. package/lib/date/InternalDateCalculator.d.ts +1 -1
  398. package/lib/date/InternalDateValidator/InternalDateValidator.js +8 -2
  399. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  400. package/lib/date/InternalDateValidator.d.ts +1 -1
  401. package/lib/extractKeyboardAction/extractKeyboardAction.js.map +1 -1
  402. package/lib/extractKeyboardAction.d.ts +1 -1
  403. package/lib/filterProps/filterProps.js +0 -1
  404. package/lib/filterProps/filterProps.js.map +1 -1
  405. package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +1 -1
  406. package/lib/locale/useLocaleForControl.d.ts +1 -1
  407. package/lib/memo/memo.js +2 -4
  408. package/lib/memo/memo.js.map +1 -1
  409. package/lib/memo.d.ts +3 -1
  410. package/lib/net/fetch/fetch.js +2 -2
  411. package/lib/net/fetch/fetch.js.map +1 -1
  412. package/lib/reactGetTextContent/reactGetTextContent.js +0 -1
  413. package/lib/reactGetTextContent/reactGetTextContent.js.map +1 -1
  414. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  415. package/lib/rootNode/rootNodeDecorator.d.ts +2 -2
  416. package/lib/styles/ColorFactory/ColorFactory.js +3 -1
  417. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  418. package/lib/styles/ColorFunctions/ColorFunctions.js.map +1 -1
  419. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +8 -14
  420. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  421. package/lib/theming/AnimationKeyframes.d.ts +3 -5
  422. package/lib/theming/Emotion/Emotion.js.map +1 -1
  423. package/lib/theming/ThemeFactory/ThemeFactory.js +4 -1
  424. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  425. package/lib/theming/ThemeFactory.d.ts +1 -1
  426. package/lib/theming/ThemeHelpers/ThemeHelpers.js +1 -1
  427. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  428. package/lib/theming/ThemeHelpers.d.ts +2 -2
  429. package/lib/utils/utils.js +2 -2
  430. package/lib/utils/utils.js.map +1 -1
  431. package/lib/utils.d.ts +3 -1
  432. package/lib/withClassWrapper/withClassWrapper.js +1 -4
  433. package/lib/withClassWrapper/withClassWrapper.js.map +1 -1
  434. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["ZIndex.tsx"],"names":["ZIndexContext","React","createContext","parentLayerZIndex","maxZIndex","Infinity","displayName","ZIndex","rootNode","props","getProps","defaultProps","zIndex","wrapperRef","element","setRootNode","priority","delta","componentWillUnmount","render","style","children","applyZIndex","coverChildren","createStackingContext","wrapperStyle","zIndexContexValue","newZIndex","calcZIndex","Number","isFinite","isBrowser","document","body","isolation","transform","allowedValuesIntervalLength","scale","upperBorder","Math","ceil","Component","__KONTUR_REACT_UI__","propTypes","Error","trunc"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isBrowser } from '../../lib/client';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { incrementZIndex, removeZIndex, upperBorder, LayerComponentName } from './ZIndexStorage';\n\nconst ZIndexContext = React.createContext({ parentLayerZIndex: 0, maxZIndex: Infinity });\n\nZIndexContext.displayName = 'ZIndexContext';\n\nexport interface ZIndexProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Приращение к z-index\n */\n delta?: number;\n priority?: number | LayerComponentName;\n style?: React.CSSProperties;\n createStackingContext?: boolean;\n coverChildren?: boolean;\n applyZIndex?: boolean;\n className?: string;\n wrapperRef?: React.Ref<HTMLDivElement> | undefined | null;\n}\n\ntype DefaultProps = Required<\n Pick<ZIndexProps, 'delta' | 'priority' | 'style' | 'applyZIndex' | 'coverChildren' | 'createStackingContext'>\n>;\n\n@rootNode\nexport class ZIndex extends React.Component<ZIndexProps> {\n public static __KONTUR_REACT_UI__ = 'ZIndex';\n\n public static defaultProps: DefaultProps = {\n delta: 10,\n priority: 0,\n style: {},\n applyZIndex: true,\n coverChildren: false,\n createStackingContext: false,\n };\n\n private getProps = createPropsGetter(ZIndex.defaultProps);\n\n public static propTypes = {\n delta(props: ZIndexProps) {\n if ((props.delta || ZIndex.defaultProps.delta) <= 0) {\n return new Error(`[ZIndex]: Prop 'delta' must be greater than 0, received ${props.delta}`);\n }\n if (Math.trunc(props.delta || ZIndex.defaultProps.delta) !== props.delta) {\n return new Error(`[ZIndex]: Prop 'delta' must be integer, received ${props.delta}`);\n }\n },\n };\n\n private zIndex = 0;\n\n private setRootNode!: TSetRootNode;\n\n constructor(props: ZIndexProps) {\n super(props);\n this.zIndex = incrementZIndex(this.getProps().priority, this.getProps().delta);\n }\n\n public componentWillUnmount() {\n removeZIndex(this.zIndex);\n }\n\n public render() {\n const {\n style,\n children,\n delta,\n priority,\n applyZIndex,\n coverChildren,\n createStackingContext,\n wrapperRef,\n ...props\n } = this.getProps();\n\n const wrapperStyle: React.CSSProperties = {};\n\n return (\n <ZIndexContext.Consumer>\n {({ parentLayerZIndex, maxZIndex }) => {\n let zIndexContexValue = { parentLayerZIndex, maxZIndex };\n\n if (applyZIndex) {\n const newZIndex = this.calcZIndex(parentLayerZIndex, maxZIndex);\n wrapperStyle.zIndex = newZIndex;\n\n zIndexContexValue = coverChildren\n ? { parentLayerZIndex, maxZIndex: newZIndex }\n : { parentLayerZIndex: newZIndex, maxZIndex: Number.isFinite(maxZIndex) ? newZIndex : Infinity };\n\n if (createStackingContext) {\n isBrowser && 'isolation' in document.body.style\n ? (wrapperStyle.isolation = 'isolate')\n : (wrapperStyle.transform = 'rotate(0)');\n }\n }\n\n return (\n <ZIndexContext.Provider value={zIndexContexValue}>\n <div style={{ ...style, ...wrapperStyle }} ref={this.wrapperRef} {...props}>\n {children}\n </div>\n </ZIndexContext.Provider>\n );\n }}\n </ZIndexContext.Consumer>\n );\n }\n\n private wrapperRef = (element: HTMLDivElement | null) => {\n const { wrapperRef } = this.props;\n this.setRootNode(element);\n wrapperRef && callChildRef(wrapperRef, element);\n };\n\n private calcZIndex(parentLayerZIndex: number, maxZIndex: number) {\n let newZIndex = this.zIndex;\n\n if (Number.isFinite(maxZIndex)) {\n const allowedValuesIntervalLength = maxZIndex - parentLayerZIndex;\n const scale = upperBorder / allowedValuesIntervalLength;\n newZIndex = Math.ceil(newZIndex / scale);\n }\n\n newZIndex += parentLayerZIndex;\n\n return newZIndex;\n }\n}\n"]}
1
+ {"version":3,"sources":["ZIndex.tsx"],"names":["ZIndexContext","React","createContext","parentLayerZIndex","maxZIndex","Infinity","displayName","ZIndex","rootNode","props","getProps","defaultProps","zIndex","wrapperRef","element","setRootNode","priority","delta","componentWillUnmount","render","style","children","applyZIndex","coverChildren","createStackingContext","rest","wrapperStyle","zIndexContexValue","newZIndex","calcZIndex","Number","isFinite","isBrowser","document","body","isolation","transform","allowedValuesIntervalLength","scale","upperBorder","Math","ceil","Component","__KONTUR_REACT_UI__","propTypes","Error","trunc"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isBrowser } from '../../lib/client';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { incrementZIndex, removeZIndex, upperBorder, LayerComponentName } from './ZIndexStorage';\n\nconst ZIndexContext = React.createContext({ parentLayerZIndex: 0, maxZIndex: Infinity });\n\nZIndexContext.displayName = 'ZIndexContext';\n\nexport interface ZIndexProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Приращение к z-index\n */\n delta?: number;\n priority?: number | LayerComponentName;\n style?: React.CSSProperties;\n createStackingContext?: boolean;\n coverChildren?: boolean;\n applyZIndex?: boolean;\n className?: string;\n wrapperRef?: React.Ref<HTMLDivElement> | undefined | null;\n}\n\ntype DefaultProps = Required<\n Pick<ZIndexProps, 'delta' | 'priority' | 'style' | 'applyZIndex' | 'coverChildren' | 'createStackingContext'>\n>;\n\n@rootNode\nexport class ZIndex extends React.Component<ZIndexProps> {\n public static __KONTUR_REACT_UI__ = 'ZIndex';\n\n public static defaultProps: DefaultProps = {\n delta: 10,\n priority: 0,\n style: {},\n applyZIndex: true,\n coverChildren: false,\n createStackingContext: false,\n };\n\n private getProps = createPropsGetter(ZIndex.defaultProps);\n\n public static propTypes = {\n delta(props: ZIndexProps) {\n if ((props.delta || ZIndex.defaultProps.delta) <= 0) {\n return new Error(`[ZIndex]: Prop 'delta' must be greater than 0, received ${props.delta}`);\n }\n if (Math.trunc(props.delta || ZIndex.defaultProps.delta) !== props.delta) {\n return new Error(`[ZIndex]: Prop 'delta' must be integer, received ${props.delta}`);\n }\n },\n };\n\n private zIndex = 0;\n\n private setRootNode!: TSetRootNode;\n\n constructor(props: ZIndexProps) {\n super(props);\n this.zIndex = incrementZIndex(this.getProps().priority, this.getProps().delta);\n }\n\n public componentWillUnmount() {\n removeZIndex(this.zIndex);\n }\n\n public render() {\n // TODO: Enable this rule in functional components.\n /* eslint-disable @typescript-eslint/no-unused-vars */\n const { style, children, delta, priority, applyZIndex, coverChildren, createStackingContext, wrapperRef, ...rest } =\n this.getProps();\n\n const wrapperStyle: React.CSSProperties = {};\n\n return (\n <ZIndexContext.Consumer>\n {({ parentLayerZIndex, maxZIndex }) => {\n let zIndexContexValue = { parentLayerZIndex, maxZIndex };\n\n if (applyZIndex) {\n const newZIndex = this.calcZIndex(parentLayerZIndex, maxZIndex);\n wrapperStyle.zIndex = newZIndex;\n\n zIndexContexValue = coverChildren\n ? { parentLayerZIndex, maxZIndex: newZIndex }\n : { parentLayerZIndex: newZIndex, maxZIndex: Number.isFinite(maxZIndex) ? newZIndex : Infinity };\n\n if (createStackingContext) {\n isBrowser && 'isolation' in document.body.style\n ? (wrapperStyle.isolation = 'isolate')\n : (wrapperStyle.transform = 'rotate(0)');\n }\n }\n\n return (\n <ZIndexContext.Provider value={zIndexContexValue}>\n <div style={{ ...style, ...wrapperStyle }} ref={this.wrapperRef} {...rest}>\n {children}\n </div>\n </ZIndexContext.Provider>\n );\n }}\n </ZIndexContext.Consumer>\n );\n }\n\n private wrapperRef = (element: HTMLDivElement | null) => {\n const { wrapperRef } = this.props;\n this.setRootNode(element);\n wrapperRef && callChildRef(wrapperRef, element);\n };\n\n private calcZIndex(parentLayerZIndex: number, maxZIndex: number) {\n let newZIndex = this.zIndex;\n\n if (Number.isFinite(maxZIndex)) {\n const allowedValuesIntervalLength = maxZIndex - parentLayerZIndex;\n const scale = upperBorder / allowedValuesIntervalLength;\n newZIndex = Math.ceil(newZIndex / scale);\n }\n\n newZIndex += parentLayerZIndex;\n\n return newZIndex;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["ConditionalHandler.ts"],"names":["ConditionalHandler","actions","add","condition","handler","push","build","reference","args","found","forEach"],"mappings":"2EAAA,gC;;;;;;;;;;AAUaA,kB;AACMC,IAAAA,O,GAAmC,E;;AAE7CC,EAAAA,G,GAAP,aAAWC,SAAX,EAAoCC,OAApC,EAAmF;AACjF,SAAKH,OAAL,CAAaI,IAAb,CAAkB,EAAEF,SAAS,EAATA,SAAF,EAAaC,OAAO,EAAPA,OAAb,EAAlB;AACA,WAAO,IAAP;AACD;;AAED;AACF;AACA,K;AACSE,EAAAA,K,GAAP,iBAAsD;AACpD,WAAO,UAACC,SAAD,EAAwB,mCAATC,IAAS,uEAATA,IAAS;AAC7B,UAAIC,KAAK,GAAG,KAAZ;AACA,MAAA,KAAI,CAACR,OAAL,CAAaS,OAAb,CAAqB,gBAA4B,KAAzBP,SAAyB,QAAzBA,SAAyB,CAAdC,OAAc,QAAdA,OAAc;AAC/C,YAAI,uBAAWD,SAAX,IAAwBA,SAAS,CAACI,SAAD,CAAjC,GAA+CJ,SAAS,KAAKI,SAAjE,EAA4E;AAC1EH,UAAAA,OAAO,MAAP,SAAWI,IAAX;AACAC,UAAAA,KAAK,GAAG,IAAR;AACD;AACF,OALD;;AAOA,aAAOA,KAAP;AACD,KAVD;AAWD,G","sourcesContent":["import { isFunction } from './utils';\n\ntype ArgsBaseType = any[];\ntype Handler<K extends ArgsBaseType> = (...args: K) => void;\ntype Condition<T> = T | ((reference: T) => boolean);\ntype ActionFunc<T, K extends ArgsBaseType> = {\n condition: Condition<T>;\n handler: Handler<K>;\n};\n\nexport class ConditionalHandler<T, K extends ArgsBaseType = any[]> {\n private readonly actions: Array<ActionFunc<T, K>> = [];\n\n public add(condition: Condition<T>, handler: Handler<K>): ConditionalHandler<T, K> {\n this.actions.push({ condition, handler });\n return this;\n }\n\n /**\n * @returns {Boolean} found - был ли найден и вызван хоть один обработчик\n */\n public build(): (reference: T, ...args: K) => boolean {\n return (reference, ...args) => {\n let found = false;\n this.actions.forEach(({ condition, handler }) => {\n if (isFunction(condition) ? condition(reference) : condition === reference) {\n handler(...args);\n found = true;\n }\n });\n\n return found;\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["ConditionalHandler.ts"],"names":["ConditionalHandler","actions","add","condition","handler","push","build","reference","args","found","forEach"],"mappings":"2EAAA,gC;;;;;;;;;;AAUaA,kB;AACMC,IAAAA,O,GAAmC,E;;AAE7CC,EAAAA,G,GAAP,aAAWC,SAAX,EAAoCC,OAApC,EAAmF;AACjF,SAAKH,OAAL,CAAaI,IAAb,CAAkB,EAAEF,SAAS,EAATA,SAAF,EAAaC,OAAO,EAAPA,OAAb,EAAlB;AACA,WAAO,IAAP;AACD;;AAED;AACF;AACA,K;AACSE,EAAAA,K,GAAP,iBAAsD;AACpD,WAAO,UAACC,SAAD,EAAwB,mCAATC,IAAS,uEAATA,IAAS;AAC7B,UAAIC,KAAK,GAAG,KAAZ;AACA,MAAA,KAAI,CAACR,OAAL,CAAaS,OAAb,CAAqB,gBAA4B,KAAzBP,SAAyB,QAAzBA,SAAyB,CAAdC,OAAc,QAAdA,OAAc;AAC/C,YAAI,uBAAWD,SAAX,IAAwBA,SAAS,CAACI,SAAD,CAAjC,GAA+CJ,SAAS,KAAKI,SAAjE,EAA4E;AAC1EH,UAAAA,OAAO,MAAP,SAAWI,IAAX;AACAC,UAAAA,KAAK,GAAG,IAAR;AACD;AACF,OALD;;AAOA,aAAOA,KAAP;AACD,KAVD;AAWD,G","sourcesContent":["import { isFunction } from './utils';\n\ntype ArgsBaseType = any[];\ntype Handler<K extends ArgsBaseType> = (...args: K) => void;\ntype Condition<T> = T | ((reference: T) => boolean);\ninterface ActionFunc<T, K extends ArgsBaseType> {\n condition: Condition<T>;\n handler: Handler<K>;\n}\n\nexport class ConditionalHandler<T, K extends ArgsBaseType = any[]> {\n private readonly actions: Array<ActionFunc<T, K>> = [];\n\n public add(condition: Condition<T>, handler: Handler<K>): ConditionalHandler<T, K> {\n this.actions.push({ condition, handler });\n return this;\n }\n\n /**\n * @returns {Boolean} found - был ли найден и вызван хоть один обработчик\n */\n public build(): (reference: T, ...args: K) => boolean {\n return (reference, ...args) => {\n let found = false;\n this.actions.forEach(({ condition, handler }) => {\n if (isFunction(condition) ? condition(reference) : condition === reference) {\n handler(...args);\n found = true;\n }\n });\n\n return found;\n };\n }\n}\n"]}
@@ -31,7 +31,7 @@ ModalStack = /*#__PURE__*/function () {function ModalStack() {}ModalStack.
31
31
  remove: function remove() {
32
32
  // Backwards compatible with versions 0.x and 1.w which using the fbemitter package
33
33
  if ('remove' in _token) {
34
- // @ts-ignore
34
+ // @ts-expect-error: `remove` is method of `ModalStack`.
35
35
  _token.remove();
36
36
  return;
37
37
  }
@@ -100,7 +100,7 @@ var isReactUIInstance = function isReactUIInstance(componentName) {
100
100
 
101
101
  return (
102
102
  Object.prototype.hasOwnProperty.call(constructor, '__KONTUR_REACT_UI__') &&
103
- // @ts-ignore
103
+ // @ts-expect-error: React doesn't know about existence of __KONTUR_REACT_UI__.
104
104
  constructor.__KONTUR_REACT_UI__ === componentName);
105
105
 
106
106
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["ModalStack.ts"],"names":["ModalStack","add","component","onChange","getStackInfo","emitter","mounted","unshift","changeHandler","_token","addListener","emit","remove","removeListener","index","indexOf","splice","isBlocking","length","wantsToBlock","globalWithStack","global","__ReactUIStackInfo","EventEmitter","isModal","isSidePage","deepestSidePages","filter","i","pop","props","blockBackground","isReactUIInstance","componentName","instance","constructor","Object","prototype","hasOwnProperty","call","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\nimport EventEmitter from 'eventemitter3';\n\nimport { SidePageProps } from '../components/SidePage';\nimport { ModalProps } from '../components/Modal';\n\ninterface StackInfo {\n emitter: EventEmitter;\n mounted: React.Component[];\n}\n\ninterface GlobalWithStackInfo {\n __ReactUIStackInfo?: StackInfo;\n}\n\nexport interface ModalStackSubscription {\n remove: () => void;\n}\n\nexport class ModalStack {\n public static add(\n component: React.Component,\n onChange: (stack: readonly React.Component[]) => void,\n ): ModalStackSubscription {\n const { emitter, mounted } = ModalStack.getStackInfo();\n mounted.unshift(component);\n const changeHandler = () => onChange([...mounted]);\n const _token = emitter.addListener('change', changeHandler);\n emitter.emit('change');\n return {\n remove: () => {\n // Backwards compatible with versions 0.x and 1.w which using the fbemitter package\n if ('remove' in _token) {\n // @ts-ignore\n _token.remove();\n return;\n }\n\n emitter.removeListener('change', changeHandler);\n },\n };\n }\n\n public static remove(component: React.Component) {\n const { emitter, mounted } = ModalStack.getStackInfo();\n const index = mounted.indexOf(component);\n if (index !== -1) {\n mounted.splice(index, 1);\n }\n emitter.emit('change');\n }\n\n /**\n * Determines if stack component is allowed to block background\n */\n public static isBlocking(component: React.Component): boolean {\n const { mounted } = ModalStack.getStackInfo();\n for (let index = 0; index < mounted.length; index++) {\n if (ModalStack.wantsToBlock(mounted[index])) {\n // only the highest component in stack\n // that wants to block is allowed to do it\n return component === mounted[index];\n }\n }\n return false;\n }\n\n private static getStackInfo(): StackInfo {\n const globalWithStack = global as GlobalWithStackInfo;\n return (\n globalWithStack.__ReactUIStackInfo ||\n (globalWithStack.__ReactUIStackInfo = {\n emitter: new EventEmitter(),\n mounted: [],\n })\n );\n }\n\n private static wantsToBlock(component: React.Component): boolean {\n if (isModal(component)) {\n return true;\n }\n\n if (isSidePage(component)) {\n const { mounted } = ModalStack.getStackInfo();\n const deepestSidePages = mounted.filter((i) => isSidePage(i)).pop();\n return !!component.props.blockBackground && component === deepestSidePages;\n }\n\n return false;\n }\n}\n\n/**\n * Specific check for component type by its instance\n */\nconst isReactUIInstance = <T>(componentName: string) => {\n return (instance: React.Component): instance is React.Component<T> => {\n const { constructor } = instance;\n\n return (\n Object.prototype.hasOwnProperty.call(constructor, '__KONTUR_REACT_UI__') &&\n // @ts-ignore\n constructor.__KONTUR_REACT_UI__ === componentName\n );\n };\n};\n\nconst isSidePage = isReactUIInstance<SidePageProps>('SidePage');\n\nconst isModal = isReactUIInstance<ModalProps>('Modal');\n"]}
1
+ {"version":3,"sources":["ModalStack.ts"],"names":["ModalStack","add","component","onChange","getStackInfo","emitter","mounted","unshift","changeHandler","_token","addListener","emit","remove","removeListener","index","indexOf","splice","isBlocking","length","wantsToBlock","globalWithStack","global","__ReactUIStackInfo","EventEmitter","isModal","isSidePage","deepestSidePages","filter","i","pop","props","blockBackground","isReactUIInstance","componentName","instance","constructor","Object","prototype","hasOwnProperty","call","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\nimport EventEmitter from 'eventemitter3';\n\nimport { SidePageProps } from '../components/SidePage';\nimport { ModalProps } from '../components/Modal';\n\ninterface StackInfo {\n emitter: EventEmitter;\n mounted: React.Component[];\n}\n\ninterface GlobalWithStackInfo {\n __ReactUIStackInfo?: StackInfo;\n}\n\nexport interface ModalStackSubscription {\n remove: () => void;\n}\n\nexport class ModalStack {\n public static add(\n component: React.Component,\n onChange: (stack: readonly React.Component[]) => void,\n ): ModalStackSubscription {\n const { emitter, mounted } = ModalStack.getStackInfo();\n mounted.unshift(component);\n const changeHandler = () => onChange([...mounted]);\n const _token = emitter.addListener('change', changeHandler);\n emitter.emit('change');\n return {\n remove: () => {\n // Backwards compatible with versions 0.x and 1.w which using the fbemitter package\n if ('remove' in _token) {\n // @ts-expect-error: `remove` is method of `ModalStack`.\n _token.remove();\n return;\n }\n\n emitter.removeListener('change', changeHandler);\n },\n };\n }\n\n public static remove(component: React.Component) {\n const { emitter, mounted } = ModalStack.getStackInfo();\n const index = mounted.indexOf(component);\n if (index !== -1) {\n mounted.splice(index, 1);\n }\n emitter.emit('change');\n }\n\n /**\n * Determines if stack component is allowed to block background\n */\n public static isBlocking(component: React.Component): boolean {\n const { mounted } = ModalStack.getStackInfo();\n for (let index = 0; index < mounted.length; index++) {\n if (ModalStack.wantsToBlock(mounted[index])) {\n // only the highest component in stack\n // that wants to block is allowed to do it\n return component === mounted[index];\n }\n }\n return false;\n }\n\n private static getStackInfo(): StackInfo {\n const globalWithStack = global as GlobalWithStackInfo;\n return (\n globalWithStack.__ReactUIStackInfo ||\n (globalWithStack.__ReactUIStackInfo = {\n emitter: new EventEmitter(),\n mounted: [],\n })\n );\n }\n\n private static wantsToBlock(component: React.Component): boolean {\n if (isModal(component)) {\n return true;\n }\n\n if (isSidePage(component)) {\n const { mounted } = ModalStack.getStackInfo();\n const deepestSidePages = mounted.filter((i) => isSidePage(i)).pop();\n return !!component.props.blockBackground && component === deepestSidePages;\n }\n\n return false;\n }\n}\n\n/**\n * Specific check for component type by its instance\n */\nconst isReactUIInstance = <T>(componentName: string) => {\n return (instance: React.Component): instance is React.Component<T> => {\n const { constructor } = instance;\n\n return (\n Object.prototype.hasOwnProperty.call(constructor, '__KONTUR_REACT_UI__') &&\n // @ts-expect-error: React doesn't know about existence of __KONTUR_REACT_UI__.\n constructor.__KONTUR_REACT_UI__ === componentName\n );\n };\n};\n\nconst isSidePage = isReactUIInstance<SidePageProps>('SidePage');\n\nconst isModal = isReactUIInstance<ModalProps>('Modal');\n"]}
@@ -2,6 +2,7 @@
2
2
 
3
3
  var _stepper2 = require("./stepper");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;}
4
4
 
5
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
6
  var noop = function noop() {
6
7
  /* do nothing */
7
8
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["noop","animation","animating","currentPosition","currentVelocity","rafId","target","deltaHandler","animationEndHandler","reset","inProgress","cancel","finish","animate","amount","onDelta","onEnd","animateInternal","nextPosition","nextVelocity","delta"],"mappings":"kEAAA;;AAEA,qC;;AAEA,IAAMA,IAAI,GAAG,SAAPA,IAAO,GAAoB;AAC/B;AACD,CAFD;;AAIO,IAAMC,SAAS,GAAG,SAAZA,SAAY,GAAM;AAC7B,MAAIC,SAAS,GAAG,KAAhB;AACA,MAAIC,eAAe,GAAG,CAAtB;AACA,MAAIC,eAAe,GAAG,CAAtB;AACA,MAAIC,KAAK,GAAG,CAAZ;AACA,MAAIC,MAAM,GAAG,CAAb;;AAEA,MAAIC,YAAY,GAAGP,IAAnB;AACA,MAAIQ,mBAAmB,GAAGR,IAA1B;;AAEA,WAASS,KAAT,GAAiB;AACfL,IAAAA,eAAe,GAAG,CAAlB;AACAD,IAAAA,eAAe,GAAG,CAAlB;AACAG,IAAAA,MAAM,GAAG,CAAT;AACAJ,IAAAA,SAAS,GAAG,KAAZ;AACAK,IAAAA,YAAY,GAAGP,IAAf;AACAQ,IAAAA,mBAAmB,GAAGR,IAAtB;AACD;;AAED,WAASU,UAAT,GAAsB;AACpB,WAAOR,SAAP;AACD;;AAED,WAASS,MAAT,GAAkB;AAChB,qBAAqBN,KAArB;AACAI,IAAAA,KAAK;AACN;;AAED,WAASG,MAAT,GAAkB;AAChBJ,IAAAA,mBAAmB;AACnBG,IAAAA,MAAM;AACP;;AAED,WAASE,OAAT,CAAiBC,MAAjB,EAAiCC,OAAjC,EAAgEC,KAAhE,EAA0F,KAA1BA,KAA0B,cAA1BA,KAA0B,GAANhB,IAAM;AACxFM,IAAAA,MAAM,IAAIQ,MAAV;AACAP,IAAAA,YAAY,GAAGQ,OAAf;AACAP,IAAAA,mBAAmB,GAAGQ,KAAtB;;AAEA,QAAMC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5Bf,MAAAA,SAAS,GAAG,IAAZ;AACA,qBAAqC,uBAAQC,eAAR,EAAyBC,eAAzB,EAA0CE,MAA1C,CAArC,CAAOY,YAAP,eAAqBC,YAArB;AACA,UAAMC,KAAK,GAAGF,YAAY,GAAGf,eAA7B;;AAEAI,MAAAA,YAAY,CAACa,KAAD,CAAZ;;AAEA,UAAIF,YAAY,KAAKZ,MAAjB,IAA2Ba,YAAY,KAAK,CAAhD,EAAmD;AACjDX,QAAAA,mBAAmB;AACnBC,QAAAA,KAAK;AACL;AACD;;AAEDN,MAAAA,eAAe,GAAGe,YAAlB;AACAd,MAAAA,eAAe,GAAGe,YAAlB;;AAEAd,MAAAA,KAAK,GAAG,kBAAsBY,eAAtB,CAAR;AACD,KAjBD;;AAmBA,QAAI,CAACP,UAAU,EAAf,EAAmB;AACjBO,MAAAA,eAAe;AAChB;AACF;;AAED,SAAO;AACLJ,IAAAA,OAAO,EAAPA,OADK;AAELH,IAAAA,UAAU,EAAVA,UAFK;AAGLC,IAAAA,MAAM,EAANA,MAHK;AAILC,IAAAA,MAAM,EAANA,MAJK,EAAP;;AAMD,CApEM,C","sourcesContent":["import requestAnimationFrame, { cancel as cancelAnimationFrame } from 'raf';\n\nimport { stepper } from './stepper';\n\nconst noop = (...args: any[]) => {\n /* do nothing */\n};\n\nexport const animation = () => {\n let animating = false;\n let currentPosition = 0;\n let currentVelocity = 0;\n let rafId = 0;\n let target = 0;\n\n let deltaHandler = noop;\n let animationEndHandler = noop;\n\n function reset() {\n currentVelocity = 0;\n currentPosition = 0;\n target = 0;\n animating = false;\n deltaHandler = noop;\n animationEndHandler = noop;\n }\n\n function inProgress() {\n return animating;\n }\n\n function cancel() {\n cancelAnimationFrame(rafId);\n reset();\n }\n\n function finish() {\n animationEndHandler();\n cancel();\n }\n\n function animate(amount: number, onDelta: (x0: number) => void, onEnd: () => void = noop) {\n target += amount;\n deltaHandler = onDelta;\n animationEndHandler = onEnd;\n\n const animateInternal = () => {\n animating = true;\n const [nextPosition, nextVelocity] = stepper(currentPosition, currentVelocity, target);\n const delta = nextPosition - currentPosition;\n\n deltaHandler(delta);\n\n if (nextPosition === target && nextVelocity === 0) {\n animationEndHandler();\n reset();\n return;\n }\n\n currentPosition = nextPosition;\n currentVelocity = nextVelocity;\n\n rafId = requestAnimationFrame(animateInternal);\n };\n\n if (!inProgress()) {\n animateInternal();\n }\n }\n\n return {\n animate,\n inProgress,\n cancel,\n finish,\n };\n};\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":["noop","animation","animating","currentPosition","currentVelocity","rafId","target","deltaHandler","animationEndHandler","reset","inProgress","cancel","finish","animate","amount","onDelta","onEnd","animateInternal","nextPosition","nextVelocity","delta"],"mappings":"kEAAA;;AAEA,qC;;AAEA;AACA,IAAMA,IAAI,GAAG,SAAPA,IAAO,GAAoB;AAC/B;AACD,CAFD;;AAIO,IAAMC,SAAS,GAAG,SAAZA,SAAY,GAAM;AAC7B,MAAIC,SAAS,GAAG,KAAhB;AACA,MAAIC,eAAe,GAAG,CAAtB;AACA,MAAIC,eAAe,GAAG,CAAtB;AACA,MAAIC,KAAK,GAAG,CAAZ;AACA,MAAIC,MAAM,GAAG,CAAb;;AAEA,MAAIC,YAAY,GAAGP,IAAnB;AACA,MAAIQ,mBAAmB,GAAGR,IAA1B;;AAEA,WAASS,KAAT,GAAiB;AACfL,IAAAA,eAAe,GAAG,CAAlB;AACAD,IAAAA,eAAe,GAAG,CAAlB;AACAG,IAAAA,MAAM,GAAG,CAAT;AACAJ,IAAAA,SAAS,GAAG,KAAZ;AACAK,IAAAA,YAAY,GAAGP,IAAf;AACAQ,IAAAA,mBAAmB,GAAGR,IAAtB;AACD;;AAED,WAASU,UAAT,GAAsB;AACpB,WAAOR,SAAP;AACD;;AAED,WAASS,MAAT,GAAkB;AAChB,qBAAqBN,KAArB;AACAI,IAAAA,KAAK;AACN;;AAED,WAASG,MAAT,GAAkB;AAChBJ,IAAAA,mBAAmB;AACnBG,IAAAA,MAAM;AACP;;AAED,WAASE,OAAT,CAAiBC,MAAjB,EAAiCC,OAAjC,EAAgEC,KAAhE,EAA0F,KAA1BA,KAA0B,cAA1BA,KAA0B,GAANhB,IAAM;AACxFM,IAAAA,MAAM,IAAIQ,MAAV;AACAP,IAAAA,YAAY,GAAGQ,OAAf;AACAP,IAAAA,mBAAmB,GAAGQ,KAAtB;;AAEA,QAAMC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5Bf,MAAAA,SAAS,GAAG,IAAZ;AACA,qBAAqC,uBAAQC,eAAR,EAAyBC,eAAzB,EAA0CE,MAA1C,CAArC,CAAOY,YAAP,eAAqBC,YAArB;AACA,UAAMC,KAAK,GAAGF,YAAY,GAAGf,eAA7B;;AAEAI,MAAAA,YAAY,CAACa,KAAD,CAAZ;;AAEA,UAAIF,YAAY,KAAKZ,MAAjB,IAA2Ba,YAAY,KAAK,CAAhD,EAAmD;AACjDX,QAAAA,mBAAmB;AACnBC,QAAAA,KAAK;AACL;AACD;;AAEDN,MAAAA,eAAe,GAAGe,YAAlB;AACAd,MAAAA,eAAe,GAAGe,YAAlB;;AAEAd,MAAAA,KAAK,GAAG,kBAAsBY,eAAtB,CAAR;AACD,KAjBD;;AAmBA,QAAI,CAACP,UAAU,EAAf,EAAmB;AACjBO,MAAAA,eAAe;AAChB;AACF;;AAED,SAAO;AACLJ,IAAAA,OAAO,EAAPA,OADK;AAELH,IAAAA,UAAU,EAAVA,UAFK;AAGLC,IAAAA,MAAM,EAANA,MAHK;AAILC,IAAAA,MAAM,EAANA,MAJK,EAAP;;AAMD,CApEM,C","sourcesContent":["import requestAnimationFrame, { cancel as cancelAnimationFrame } from 'raf';\n\nimport { stepper } from './stepper';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst noop = (...args: any[]) => {\n /* do nothing */\n};\n\nexport const animation = () => {\n let animating = false;\n let currentPosition = 0;\n let currentVelocity = 0;\n let rafId = 0;\n let target = 0;\n\n let deltaHandler = noop;\n let animationEndHandler = noop;\n\n function reset() {\n currentVelocity = 0;\n currentPosition = 0;\n target = 0;\n animating = false;\n deltaHandler = noop;\n animationEndHandler = noop;\n }\n\n function inProgress() {\n return animating;\n }\n\n function cancel() {\n cancelAnimationFrame(rafId);\n reset();\n }\n\n function finish() {\n animationEndHandler();\n cancel();\n }\n\n function animate(amount: number, onDelta: (x0: number) => void, onEnd: () => void = noop) {\n target += amount;\n deltaHandler = onDelta;\n animationEndHandler = onEnd;\n\n const animateInternal = () => {\n animating = true;\n const [nextPosition, nextVelocity] = stepper(currentPosition, currentVelocity, target);\n const delta = nextPosition - currentPosition;\n\n deltaHandler(delta);\n\n if (nextPosition === target && nextVelocity === 0) {\n animationEndHandler();\n reset();\n return;\n }\n\n currentPosition = nextPosition;\n currentVelocity = nextVelocity;\n\n rafId = requestAnimationFrame(animateInternal);\n };\n\n if (!inProgress()) {\n animateInternal();\n }\n }\n\n return {\n animate,\n inProgress,\n cancel,\n finish,\n };\n};\n"]}
@@ -13,7 +13,7 @@ instance)
13
13
  componentRef(instance);
14
14
  }
15
15
  if (Object.prototype.hasOwnProperty.call(componentRef, 'current')) {
16
- // @ts-ignore
16
+ // @ts-expect-error: will be fixed in #2807
17
17
  componentRef.current = instance;
18
18
  }
19
19
  };exports.callChildRef = callChildRef;
@@ -1 +1 @@
1
- {"version":3,"sources":["callChildRef.ts"],"names":["callChildRef","componentRef","instance","Object","prototype","hasOwnProperty","call","current"],"mappings":";;;;AAIO,IAAMA,YAAY,GAAG,SAAfA,YAAe;AAC1BC,YAD0B;AAE1BC,QAF0B;AAGvB;AACH,MAAI,CAACD,YAAL,EAAmB;AACjB;AACD;AACD,MAAI,OAAOA,YAAP,KAAwB,UAA5B,EAAwC;AACtCA,IAAAA,YAAY,CAACC,QAAD,CAAZ;AACD;AACD,MAAIC,MAAM,CAACC,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCL,YAArC,EAAmD,SAAnD,CAAJ,EAAmE;AACjE;AACAA,IAAAA,YAAY,CAACM,OAAb,GAAuBL,QAAvB;AACD;AACF,CAdM,C","sourcesContent":["import React from 'react';\n\nimport { Nullable } from '../../typings/utility-types';\n\nexport const callChildRef = (\n componentRef: React.RefCallback<any> | React.RefObject<any>,\n instance: Nullable<React.ReactInstance>,\n) => {\n if (!componentRef) {\n return;\n }\n if (typeof componentRef === 'function') {\n componentRef(instance);\n }\n if (Object.prototype.hasOwnProperty.call(componentRef, 'current')) {\n // @ts-ignore\n componentRef.current = instance;\n }\n};\n"]}
1
+ {"version":3,"sources":["callChildRef.ts"],"names":["callChildRef","componentRef","instance","Object","prototype","hasOwnProperty","call","current"],"mappings":";;;;AAIO,IAAMA,YAAY,GAAG,SAAfA,YAAe;AAC1BC,YAD0B;AAE1BC,QAF0B;AAGvB;AACH,MAAI,CAACD,YAAL,EAAmB;AACjB;AACD;AACD,MAAI,OAAOA,YAAP,KAAwB,UAA5B,EAAwC;AACtCA,IAAAA,YAAY,CAACC,QAAD,CAAZ;AACD;AACD,MAAIC,MAAM,CAACC,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCL,YAArC,EAAmD,SAAnD,CAAJ,EAAmE;AACjE;AACAA,IAAAA,YAAY,CAACM,OAAb,GAAuBL,QAAvB;AACD;AACF,CAdM,C","sourcesContent":["import React from 'react';\n\nimport { Nullable } from '../../typings/utility-types';\n\nexport const callChildRef = (\n componentRef: React.RefCallback<any> | React.RefObject<any>,\n instance: Nullable<React.ReactInstance>,\n) => {\n if (!componentRef) {\n return;\n }\n if (typeof componentRef === 'function') {\n componentRef(instance);\n }\n if (Object.prototype.hasOwnProperty.call(componentRef, 'current')) {\n // @ts-expect-error: will be fixed in #2807\n componentRef.current = instance;\n }\n};\n"]}
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
2
  export declare type DefaultizedProps<P, DP> = P & DP;
3
- export declare function createPropsGetter<DP extends {}>(defaultProps: DP): <P, T extends React.Component<P, {}, any>>(this: T) => DefaultizedProps<T["props"], DP>;
3
+ export declare function createPropsGetter<DP extends unknown>(defaultProps: DP): <P, T extends React.Component<P, {}, any>>(this: T) => DefaultizedProps<T["props"], DP>;
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
 
5
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
6
  function createPropsGetter(defaultProps) {
6
7
  return function () {
7
8
  return this.props;
@@ -1 +1 @@
1
- {"version":3,"sources":["createPropsGetter.ts"],"names":["createPropsGetter","defaultProps","props"],"mappings":";;;;AAIO,SAASA,iBAAT,CAA0CC,YAA1C,EAA4D;AACjE,SAAO,YAAoD;AACzD,WAAO,KAAKC,KAAZ;AACD,GAFD;AAGD","sourcesContent":["import React from 'react';\n\nexport type DefaultizedProps<P, DP> = P & DP;\n\nexport function createPropsGetter<DP extends {}>(defaultProps: DP) {\n return function <P, T extends React.Component<P>>(this: T) {\n return this.props as DefaultizedProps<T['props'], DP>;\n };\n}\n"]}
1
+ {"version":3,"sources":["createPropsGetter.ts"],"names":["createPropsGetter","defaultProps","props"],"mappings":";;;;AAIA;AACO,SAASA,iBAAT,CAA+CC,YAA/C,EAAiE;AACtE,SAAO,YAAoD;AACzD,WAAO,KAAKC,KAAZ;AACD,GAFD;AAGD","sourcesContent":["import React from 'react';\n\nexport type DefaultizedProps<P, DP> = P & DP;\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function createPropsGetter<DP extends unknown>(defaultProps: DP) {\n return function <P, T extends React.Component<P>>(this: T) {\n return this.props as DefaultizedProps<T['props'], DP>;\n };\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { InternalDateComponent, InternalDateComponentRaw, InternalDateComponents, InternalDateComponentType } from './types';
2
2
  export declare class InternalDateCalculator {
3
- static calcRangeStartDateComponent(type: InternalDateComponentType, { year, month, date }: InternalDateComponents, { year: startYear, month: startMonth, date: startDate }: InternalDateComponents): InternalDateComponent;
3
+ static calcRangeStartDateComponent(type: InternalDateComponentType, { year, month }: InternalDateComponents, { year: startYear, month: startMonth, date: startDate }: InternalDateComponents): InternalDateComponent;
4
4
  static calcRangeEndDateComponent(type: InternalDateComponentType, { year, month, date }: InternalDateComponents, { year: endYear, month: endMonth, date: endDate }: InternalDateComponents): InternalDateComponent;
5
5
  static calcShiftValueDateComponent(step: number, prevValue: InternalDateComponentRaw, start: number, end: number, isLoop?: boolean): InternalDateComponent;
6
6
  }
@@ -11,7 +11,7 @@ InternalDateCalculator = /*#__PURE__*/function () {function InternalDateCalculat
11
11
  type, _ref, _ref2)
12
12
 
13
13
 
14
- {var year = _ref.year,month = _ref.month,date = _ref.date;var startYear = _ref2.year,startMonth = _ref2.month,startDate = _ref2.date;
14
+ {var year = _ref.year,month = _ref.month;var startYear = _ref2.year,startMonth = _ref2.month,startDate = _ref2.date;
15
15
  if (type === _types.InternalDateComponentType.Year) {
16
16
  return startYear;
17
17
  } else if (type === _types.InternalDateComponentType.Month) {
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalDateCalculator.ts"],"names":["InternalDateCalculator","calcRangeStartDateComponent","type","year","month","date","startYear","startMonth","startDate","InternalDateComponentType","Year","Month","InternalDateGetter","getDefaultMin","calcRangeEndDateComponent","endYear","endMonth","endDate","getDefaultMax","calcShiftValueDateComponent","step","prevValue","start","end","isLoop","value","Number","Math","abs"],"mappings":"+EAAA;AACA,gC;;;;;;;AAOaA,sB;AACGC,EAAAA,2B,GAAd;AACEC,EAAAA,IADF;;;AAIyB,OAFrBC,IAEqB,QAFrBA,IAEqB,CAFfC,KAEe,QAFfA,KAEe,CAFRC,IAEQ,QAFRA,IAEQ,KADfC,SACe,SADrBH,IACqB,CADGI,UACH,SADJH,KACI,CADqBI,SACrB,SADeH,IACf;AACvB,QAAIH,IAAI,KAAKO,iCAA0BC,IAAvC,EAA6C;AAC3C,aAAOJ,SAAP;AACD,KAFD,MAEO,IAAIJ,IAAI,KAAKO,iCAA0BE,KAAvC,EAA8C;AACnD,aAAOR,IAAI,KAAKG,SAAT,GAAqBC,UAArB,GAAkCK,uCAAmBC,aAAnB,CAAiCX,IAAjC,CAAzC;AACD;AACD,WAAOC,IAAI,KAAKG,SAAT,IAAsBF,KAAK,KAAKG,UAAhC,GAA6CC,SAA7C,GAAyDI,uCAAmBC,aAAnB,CAAiCX,IAAjC,CAAhE;AACD,G;;AAEaY,EAAAA,yB,GAAd;AACEZ,EAAAA,IADF;;;AAIyB,OAFrBC,IAEqB,SAFrBA,IAEqB,CAFfC,KAEe,SAFfA,KAEe,CAFRC,IAEQ,SAFRA,IAEQ,KADfU,OACe,SADrBZ,IACqB,CADCa,QACD,SADNZ,KACM,CADiBa,OACjB,SADWZ,IACX;AACvB,QAAIH,IAAI,KAAKO,iCAA0BC,IAAvC,EAA6C;AAC3C,aAAOK,OAAP;AACD,KAFD,MAEO,IAAIb,IAAI,KAAKO,iCAA0BE,KAAvC,EAA8C;AACnD,aAAOR,IAAI,KAAKY,OAAT,GAAmBC,QAAnB,GAA8BJ,uCAAmBM,aAAnB,CAAiChB,IAAjC,CAArC;AACD;AACD,WAAOC,IAAI,KAAKY,OAAT,IAAoBX,KAAK,KAAKY,QAA9B;AACHC,IAAAA,OADG;AAEHL,2CAAmBM,aAAnB,CAAiChB,IAAjC,EAAuC,EAAEC,IAAI,EAAJA,IAAF,EAAQC,KAAK,EAALA,KAAR,EAAeC,IAAI,EAAJA,IAAf,EAAvC,CAFJ;AAGD,G;;AAEac,EAAAA,2B,GAAd;AACEC,EAAAA,IADF;AAEEC,EAAAA,SAFF;AAGEC,EAAAA,KAHF;AAIEC,EAAAA,GAJF;AAKEC,EAAAA,MALF;AAMyB,OADvBA,MACuB,cADvBA,MACuB,GADd,IACc;AACvB,QAAMC,KAAK,GAAGL,IAAI,GAAGM,MAAM,CAACL,SAAD,CAA3B;AACA,QAAID,IAAI,KAAK,CAAT,KAAeE,KAAK,GAAGG,KAAR,GAAgBE,IAAI,CAACC,GAAL,CAASR,IAAT,CAAhB,IAAkCK,KAAK,GAAGF,GAAR,GAAcI,IAAI,CAACC,GAAL,CAASR,IAAT,CAA/D,CAAJ,EAAoF;AAClF,aAAOA,IAAI,GAAG,CAAP,GAAWG,GAAX,GAAiBD,KAAxB;AACD;;AAED,QAAIE,MAAJ,EAAY;AACV,UAAIC,KAAK,GAAGH,KAAZ,EAAmB;AACjB,eAAOC,GAAP;AACD,OAFD,MAEO,IAAIE,KAAK,GAAGF,GAAZ,EAAiB;AACtB,eAAOD,KAAP;AACD;;AAED,aAAOG,KAAP;AACD;;AAED,QAAIA,KAAK,GAAGH,KAAZ,EAAmB;AACjB,aAAOA,KAAP;AACD,KAFD,MAEO,IAAIG,KAAK,GAAGF,GAAZ,EAAiB;AACtB,aAAOA,GAAP;AACD;;AAED,WAAOE,KAAP;AACD,G","sourcesContent":["import { InternalDateGetter } from './InternalDateGetter';\nimport {\n InternalDateComponent,\n InternalDateComponentRaw,\n InternalDateComponents,\n InternalDateComponentType,\n} from './types';\n\nexport class InternalDateCalculator {\n public static calcRangeStartDateComponent(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponents,\n { year: startYear, month: startMonth, date: startDate }: InternalDateComponents,\n ): InternalDateComponent {\n if (type === InternalDateComponentType.Year) {\n return startYear;\n } else if (type === InternalDateComponentType.Month) {\n return year === startYear ? startMonth : InternalDateGetter.getDefaultMin(type);\n }\n return year === startYear && month === startMonth ? startDate : InternalDateGetter.getDefaultMin(type);\n }\n\n public static calcRangeEndDateComponent(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponents,\n { year: endYear, month: endMonth, date: endDate }: InternalDateComponents,\n ): InternalDateComponent {\n if (type === InternalDateComponentType.Year) {\n return endYear;\n } else if (type === InternalDateComponentType.Month) {\n return year === endYear ? endMonth : InternalDateGetter.getDefaultMax(type);\n }\n return year === endYear && month === endMonth\n ? endDate\n : InternalDateGetter.getDefaultMax(type, { year, month, date });\n }\n\n public static calcShiftValueDateComponent(\n step: number,\n prevValue: InternalDateComponentRaw,\n start: number,\n end: number,\n isLoop = true,\n ): InternalDateComponent {\n const value = step + Number(prevValue);\n if (step !== 0 && (start - value > Math.abs(step) || value - end > Math.abs(step))) {\n return step < 0 ? end : start;\n }\n\n if (isLoop) {\n if (value < start) {\n return end;\n } else if (value > end) {\n return start;\n }\n\n return value;\n }\n\n if (value < start) {\n return start;\n } else if (value > end) {\n return end;\n }\n\n return value;\n }\n}\n"]}
1
+ {"version":3,"sources":["InternalDateCalculator.ts"],"names":["InternalDateCalculator","calcRangeStartDateComponent","type","year","month","startYear","startMonth","startDate","date","InternalDateComponentType","Year","Month","InternalDateGetter","getDefaultMin","calcRangeEndDateComponent","endYear","endMonth","endDate","getDefaultMax","calcShiftValueDateComponent","step","prevValue","start","end","isLoop","value","Number","Math","abs"],"mappings":"+EAAA;AACA,gC;;;;;;;AAOaA,sB;AACGC,EAAAA,2B,GAAd;AACEC,EAAAA,IADF;;;AAIyB,OAFrBC,IAEqB,QAFrBA,IAEqB,CAFfC,KAEe,QAFfA,KAEe,KADfC,SACe,SADrBF,IACqB,CADGG,UACH,SADJF,KACI,CADqBG,SACrB,SADeC,IACf;AACvB,QAAIN,IAAI,KAAKO,iCAA0BC,IAAvC,EAA6C;AAC3C,aAAOL,SAAP;AACD,KAFD,MAEO,IAAIH,IAAI,KAAKO,iCAA0BE,KAAvC,EAA8C;AACnD,aAAOR,IAAI,KAAKE,SAAT,GAAqBC,UAArB,GAAkCM,uCAAmBC,aAAnB,CAAiCX,IAAjC,CAAzC;AACD;AACD,WAAOC,IAAI,KAAKE,SAAT,IAAsBD,KAAK,KAAKE,UAAhC,GAA6CC,SAA7C,GAAyDK,uCAAmBC,aAAnB,CAAiCX,IAAjC,CAAhE;AACD,G;;AAEaY,EAAAA,yB,GAAd;AACEZ,EAAAA,IADF;;;AAIyB,OAFrBC,IAEqB,SAFrBA,IAEqB,CAFfC,KAEe,SAFfA,KAEe,CAFRI,IAEQ,SAFRA,IAEQ,KADfO,OACe,SADrBZ,IACqB,CADCa,QACD,SADNZ,KACM,CADiBa,OACjB,SADWT,IACX;AACvB,QAAIN,IAAI,KAAKO,iCAA0BC,IAAvC,EAA6C;AAC3C,aAAOK,OAAP;AACD,KAFD,MAEO,IAAIb,IAAI,KAAKO,iCAA0BE,KAAvC,EAA8C;AACnD,aAAOR,IAAI,KAAKY,OAAT,GAAmBC,QAAnB,GAA8BJ,uCAAmBM,aAAnB,CAAiChB,IAAjC,CAArC;AACD;AACD,WAAOC,IAAI,KAAKY,OAAT,IAAoBX,KAAK,KAAKY,QAA9B;AACHC,IAAAA,OADG;AAEHL,2CAAmBM,aAAnB,CAAiChB,IAAjC,EAAuC,EAAEC,IAAI,EAAJA,IAAF,EAAQC,KAAK,EAALA,KAAR,EAAeI,IAAI,EAAJA,IAAf,EAAvC,CAFJ;AAGD,G;;AAEaW,EAAAA,2B,GAAd;AACEC,EAAAA,IADF;AAEEC,EAAAA,SAFF;AAGEC,EAAAA,KAHF;AAIEC,EAAAA,GAJF;AAKEC,EAAAA,MALF;AAMyB,OADvBA,MACuB,cADvBA,MACuB,GADd,IACc;AACvB,QAAMC,KAAK,GAAGL,IAAI,GAAGM,MAAM,CAACL,SAAD,CAA3B;AACA,QAAID,IAAI,KAAK,CAAT,KAAeE,KAAK,GAAGG,KAAR,GAAgBE,IAAI,CAACC,GAAL,CAASR,IAAT,CAAhB,IAAkCK,KAAK,GAAGF,GAAR,GAAcI,IAAI,CAACC,GAAL,CAASR,IAAT,CAA/D,CAAJ,EAAoF;AAClF,aAAOA,IAAI,GAAG,CAAP,GAAWG,GAAX,GAAiBD,KAAxB;AACD;;AAED,QAAIE,MAAJ,EAAY;AACV,UAAIC,KAAK,GAAGH,KAAZ,EAAmB;AACjB,eAAOC,GAAP;AACD,OAFD,MAEO,IAAIE,KAAK,GAAGF,GAAZ,EAAiB;AACtB,eAAOD,KAAP;AACD;;AAED,aAAOG,KAAP;AACD;;AAED,QAAIA,KAAK,GAAGH,KAAZ,EAAmB;AACjB,aAAOA,KAAP;AACD,KAFD,MAEO,IAAIG,KAAK,GAAGF,GAAZ,EAAiB;AACtB,aAAOA,GAAP;AACD;;AAED,WAAOE,KAAP;AACD,G","sourcesContent":["import { InternalDateGetter } from './InternalDateGetter';\nimport {\n InternalDateComponent,\n InternalDateComponentRaw,\n InternalDateComponents,\n InternalDateComponentType,\n} from './types';\n\nexport class InternalDateCalculator {\n public static calcRangeStartDateComponent(\n type: InternalDateComponentType,\n { year, month }: InternalDateComponents,\n { year: startYear, month: startMonth, date: startDate }: InternalDateComponents,\n ): InternalDateComponent {\n if (type === InternalDateComponentType.Year) {\n return startYear;\n } else if (type === InternalDateComponentType.Month) {\n return year === startYear ? startMonth : InternalDateGetter.getDefaultMin(type);\n }\n return year === startYear && month === startMonth ? startDate : InternalDateGetter.getDefaultMin(type);\n }\n\n public static calcRangeEndDateComponent(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponents,\n { year: endYear, month: endMonth, date: endDate }: InternalDateComponents,\n ): InternalDateComponent {\n if (type === InternalDateComponentType.Year) {\n return endYear;\n } else if (type === InternalDateComponentType.Month) {\n return year === endYear ? endMonth : InternalDateGetter.getDefaultMax(type);\n }\n return year === endYear && month === endMonth\n ? endDate\n : InternalDateGetter.getDefaultMax(type, { year, month, date });\n }\n\n public static calcShiftValueDateComponent(\n step: number,\n prevValue: InternalDateComponentRaw,\n start: number,\n end: number,\n isLoop = true,\n ): InternalDateComponent {\n const value = step + Number(prevValue);\n if (step !== 0 && (start - value > Math.abs(step) || value - end > Math.abs(step))) {\n return step < 0 ? end : start;\n }\n\n if (isLoop) {\n if (value < start) {\n return end;\n } else if (value > end) {\n return start;\n }\n\n return value;\n }\n\n if (value < start) {\n return start;\n } else if (value > end) {\n return end;\n }\n\n return value;\n }\n}\n"]}
@@ -6,7 +6,7 @@ export declare class InternalDateValidator {
6
6
  static compareWithNativeDate({ year, month, date }: InternalDateComponentsNumber): boolean;
7
7
  static checkRangeFully(date: number, startDate: number | null, endDate: number | null): boolean;
8
8
  static checkRangePiecemeal(type: InternalDateComponentType, { year, month, date }: InternalDateComponentsNumber, startComponents: InternalDateComponentsNumber | null, endComponents: InternalDateComponentsNumber | null): boolean;
9
- static testParseToNumber(value: InternalDateComponentRaw): boolean;
9
+ static testParseToNumber(value: InternalDateComponentRaw): value is NonNullable<typeof value>;
10
10
  static isEqualDateValues(a: InternalDate, b: InternalDate): boolean;
11
11
  static isEqualDateFormats(a: InternalDate, b: InternalDate): boolean;
12
12
  }
@@ -123,7 +123,11 @@ InternalDateValidator = /*#__PURE__*/function () {function InternalDateValidator
123
123
  };InternalDateValidator.
124
124
 
125
125
  testParseToNumber = function testParseToNumber(value) {
126
- return value !== null && (typeof value === 'number' || !Number.isNaN(parseInt(value, 10)));
126
+ if (value !== null) {
127
+ return typeof value === 'number' || !Number.isNaN(parseInt(value, 10));
128
+ }
129
+
130
+ return false;
127
131
  };InternalDateValidator.
128
132
 
129
133
  isEqualDateValues = function isEqualDateValues(a, b) {
@@ -131,5 +135,8 @@ InternalDateValidator = /*#__PURE__*/function () {function InternalDateValidator
131
135
  };InternalDateValidator.
132
136
 
133
137
  isEqualDateFormats = function isEqualDateFormats(a, b) {
134
- return a.getOrder() === b.getOrder() && a.getSeparator() === b.getSeparator();
138
+ var areOrdersEqual = a.getOrder() === b.getOrder();
139
+ var areSeparatorsEqual = a.getSeparator() === b.getSeparator();
140
+
141
+ return areOrdersEqual && areSeparatorsEqual;
135
142
  };return InternalDateValidator;}();exports.InternalDateValidator = InternalDateValidator;
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalDateValidator.ts"],"names":["calculateStartDate","startDate","Infinity","calculateEndDate","endDate","getValue","type","year","month","date","InternalDateComponentType","Year","Month","InternalDateValidator","checkForNull","undefined","All","checkLimits","value","InternalDateGetter","getDefaultMin","getDefaultMax","Date","compareWithNativeDate","nativeDate","UTC","getUTCFullYear","getUTCMonth","getUTCDate","checkRangeFully","calculatedEndDate","calculatedStartDate","checkRangePiecemeal","startComponents","endComponents","startYear","startMonth","endYear","endMonth","testParseToNumber","Number","isNaN","parseInt","isEqualDateValues","a","b","toInternalString","isEqualDateFormats","getOrder","getSeparator"],"mappings":"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","sourcesContent":["import { InternalDate } from './InternalDate';\nimport { InternalDateGetter } from './InternalDateGetter';\nimport {\n InternalDateComponentRaw,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n} from './types';\n\nconst calculateStartDate = (startDate: number | null) => {\n if (startDate) {\n return startDate;\n }\n\n return -Infinity;\n};\n\nconst calculateEndDate = (endDate: number | null) => {\n if (endDate) {\n return endDate;\n }\n\n return Infinity;\n};\n\nconst getValue = (type: InternalDateComponentType, { year, month, date }: InternalDateComponentsNumber) => {\n if (type === InternalDateComponentType.Year) {\n return year;\n }\n\n if (type === InternalDateComponentType.Month) {\n return month;\n }\n\n return date;\n};\n\nexport class InternalDateValidator {\n public static checkForNull({ year, month, date }: InternalDateComponentsRaw, type?: InternalDateComponentType) {\n if (type !== undefined) {\n if (type === InternalDateComponentType.Year) {\n return year !== null;\n }\n\n if (type === InternalDateComponentType.Month) {\n return month !== null;\n }\n\n if (type === InternalDateComponentType.All) {\n return year !== null && month !== null && date !== null;\n }\n\n return date !== null;\n }\n\n return !(year === null || month === null || date === null);\n }\n\n public static checkLimits(\n { year, month, date }: InternalDateComponentsNumber,\n type?: InternalDateComponentType,\n ): boolean {\n if (type !== undefined) {\n const value = getValue(type, { date, month, year });\n\n return value >= InternalDateGetter.getDefaultMin(type) && value <= InternalDateGetter.getDefaultMax(type);\n }\n\n return (\n year >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Year) &&\n year <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Year) &&\n month >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Month) &&\n month <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Month) &&\n date >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Date) &&\n date <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Date)\n );\n }\n\n public static compareWithNativeDate({ year, month, date }: InternalDateComponentsNumber): boolean {\n const nativeDate: Date = new Date(Date.UTC(year, month - 1, date));\n return (\n nativeDate.getUTCFullYear() === year && nativeDate.getUTCMonth() + 1 === month && nativeDate.getUTCDate() === date\n );\n }\n\n public static checkRangeFully(date: number, startDate: number | null, endDate: number | null): boolean {\n if (startDate === null && endDate === null) {\n return true;\n }\n\n const calculatedEndDate = calculateEndDate(endDate);\n const calculatedStartDate = calculateStartDate(startDate);\n return date >= calculatedStartDate && date <= calculatedEndDate;\n }\n\n public static checkRangePiecemeal(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponentsNumber,\n startComponents: InternalDateComponentsNumber | null,\n endComponents: InternalDateComponentsNumber | null,\n ): boolean {\n if (startComponents === null && endComponents === null) {\n return true;\n }\n const {\n year: startYear = -Infinity,\n month: startMonth = -Infinity,\n date: startDate = -Infinity,\n } = startComponents || {};\n const { year: endYear = Infinity, month: endMonth = Infinity, date: endDate = Infinity } = endComponents || {};\n\n if (type === InternalDateComponentType.Year) {\n return !(year < startYear || year > endYear);\n } else if (type === InternalDateComponentType.Month) {\n return !((year === startYear && month < startMonth) || (year === endYear && month > endMonth));\n } else if (type === InternalDateComponentType.Date) {\n return !(\n (year === startYear && month === startMonth && date < startDate) ||\n (year === endYear && month === endMonth && date > endDate)\n );\n }\n return true;\n }\n\n public static testParseToNumber(value: InternalDateComponentRaw): boolean {\n return value !== null && (typeof value === 'number' || !Number.isNaN(parseInt(value, 10)));\n }\n\n public static isEqualDateValues(a: InternalDate, b: InternalDate): boolean {\n return a.toInternalString() === b.toInternalString();\n }\n\n public static isEqualDateFormats(a: InternalDate, b: InternalDate): boolean {\n return a.getOrder() === b.getOrder() && a.getSeparator() === b.getSeparator();\n }\n}\n"]}
1
+ {"version":3,"sources":["InternalDateValidator.ts"],"names":["calculateStartDate","startDate","Infinity","calculateEndDate","endDate","getValue","type","year","month","date","InternalDateComponentType","Year","Month","InternalDateValidator","checkForNull","undefined","All","checkLimits","value","InternalDateGetter","getDefaultMin","getDefaultMax","Date","compareWithNativeDate","nativeDate","UTC","getUTCFullYear","getUTCMonth","getUTCDate","checkRangeFully","calculatedEndDate","calculatedStartDate","checkRangePiecemeal","startComponents","endComponents","startYear","startMonth","endYear","endMonth","testParseToNumber","Number","isNaN","parseInt","isEqualDateValues","a","b","toInternalString","isEqualDateFormats","areOrdersEqual","getOrder","areSeparatorsEqual","getSeparator"],"mappings":"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","sourcesContent":["import { InternalDate } from './InternalDate';\nimport { InternalDateGetter } from './InternalDateGetter';\nimport {\n InternalDateComponentRaw,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n} from './types';\n\nconst calculateStartDate = (startDate: number | null) => {\n if (startDate) {\n return startDate;\n }\n\n return -Infinity;\n};\n\nconst calculateEndDate = (endDate: number | null) => {\n if (endDate) {\n return endDate;\n }\n\n return Infinity;\n};\n\nconst getValue = (type: InternalDateComponentType, { year, month, date }: InternalDateComponentsNumber) => {\n if (type === InternalDateComponentType.Year) {\n return year;\n }\n\n if (type === InternalDateComponentType.Month) {\n return month;\n }\n\n return date;\n};\n\nexport class InternalDateValidator {\n public static checkForNull({ year, month, date }: InternalDateComponentsRaw, type?: InternalDateComponentType) {\n if (type !== undefined) {\n if (type === InternalDateComponentType.Year) {\n return year !== null;\n }\n\n if (type === InternalDateComponentType.Month) {\n return month !== null;\n }\n\n if (type === InternalDateComponentType.All) {\n return year !== null && month !== null && date !== null;\n }\n\n return date !== null;\n }\n\n return !(year === null || month === null || date === null);\n }\n\n public static checkLimits(\n { year, month, date }: InternalDateComponentsNumber,\n type?: InternalDateComponentType,\n ): boolean {\n if (type !== undefined) {\n const value = getValue(type, { date, month, year });\n\n return value >= InternalDateGetter.getDefaultMin(type) && value <= InternalDateGetter.getDefaultMax(type);\n }\n\n return (\n year >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Year) &&\n year <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Year) &&\n month >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Month) &&\n month <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Month) &&\n date >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Date) &&\n date <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Date)\n );\n }\n\n public static compareWithNativeDate({ year, month, date }: InternalDateComponentsNumber): boolean {\n const nativeDate: Date = new Date(Date.UTC(year, month - 1, date));\n return (\n nativeDate.getUTCFullYear() === year && nativeDate.getUTCMonth() + 1 === month && nativeDate.getUTCDate() === date\n );\n }\n\n public static checkRangeFully(date: number, startDate: number | null, endDate: number | null): boolean {\n if (startDate === null && endDate === null) {\n return true;\n }\n\n const calculatedEndDate = calculateEndDate(endDate);\n const calculatedStartDate = calculateStartDate(startDate);\n return date >= calculatedStartDate && date <= calculatedEndDate;\n }\n\n public static checkRangePiecemeal(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponentsNumber,\n startComponents: InternalDateComponentsNumber | null,\n endComponents: InternalDateComponentsNumber | null,\n ): boolean {\n if (startComponents === null && endComponents === null) {\n return true;\n }\n const {\n year: startYear = -Infinity,\n month: startMonth = -Infinity,\n date: startDate = -Infinity,\n } = startComponents || {};\n const { year: endYear = Infinity, month: endMonth = Infinity, date: endDate = Infinity } = endComponents || {};\n\n if (type === InternalDateComponentType.Year) {\n return !(year < startYear || year > endYear);\n } else if (type === InternalDateComponentType.Month) {\n return !((year === startYear && month < startMonth) || (year === endYear && month > endMonth));\n } else if (type === InternalDateComponentType.Date) {\n return !(\n (year === startYear && month === startMonth && date < startDate) ||\n (year === endYear && month === endMonth && date > endDate)\n );\n }\n return true;\n }\n\n public static testParseToNumber(value: InternalDateComponentRaw): value is NonNullable<typeof value> {\n if (value !== null) {\n return typeof value === 'number' || !Number.isNaN(parseInt(value, 10));\n }\n\n return false;\n }\n\n public static isEqualDateValues(a: InternalDate, b: InternalDate): boolean {\n return a.toInternalString() === b.toInternalString();\n }\n\n public static isEqualDateFormats(a: InternalDate, b: InternalDate): boolean {\n const areOrdersEqual = a.getOrder() === b.getOrder();\n const areSeparatorsEqual = a.getSeparator() === b.getSeparator();\n\n return areOrdersEqual && areSeparatorsEqual;\n }\n}\n"]}
@@ -7,7 +7,7 @@ interface KeyboardActionMatcher<Actions> {
7
7
  export declare class KeyboardActionExctracterBuilder<T> {
8
8
  private _actionMatchers;
9
9
  constructor(actionMatchers?: Array<KeyboardActionMatcher<T>>);
10
- add<P = T>(type: T, check: ActionCheck): KeyboardActionExctracterBuilder<T>;
10
+ add<T>(type: T, check: ActionCheck): KeyboardActionExctracterBuilder<T>;
11
11
  build<P = T>(defaultAction: P): (x0: React.KeyboardEvent<HTMLElement>) => T;
12
12
  }
13
13
  export {};
@@ -1 +1 @@
1
- {"version":3,"sources":["extractKeyboardAction.ts"],"names":["KeyboardActionExctracterBuilder","actionMatchers","_actionMatchers","add","type","check","concat","build","defaultAction","event","action","find","x"],"mappings":";;;;;;;;;AASaA,+B;;;AAGX,2CAAYC,cAAZ,EAAkE,KAAtDA,cAAsD,cAAtDA,cAAsD,GAAJ,EAAI;AAChE,SAAKC,eAAL,GAAuBD,cAAvB;AACD,G;;AAEME,EAAAA,G,GAAP,aAAkBC,IAAlB,EAA2BC,KAA3B,EAAmF;AACjF,WAAO,IAAIL,+BAAJ,CAAoC,KAAKE,eAAL,CAAqBI,MAArB,CAA4B,EAAEF,IAAI,EAAJA,IAAF,EAAQC,KAAK,EAALA,KAAR,EAA5B,CAApC,CAAP;AACD,G;;AAEME,EAAAA,K,GAAP,eAAoBC,aAApB,EAAmF;AACjF,WAAO,UAACC,KAAD,EAAW;AAChB,UAAMC,MAAM,GAAG,KAAI,CAACR,eAAL,CAAqBS,IAArB,CAA0B,UAACC,CAAD,UAAOA,CAAC,CAACP,KAAF,CAAQI,KAAR,CAAP,EAA1B,CAAf;AACA,aAAQC,MAAM,IAAIA,MAAM,CAACN,IAAlB,IAA2BI,aAAlC;AACD,KAHD;AAID,G","sourcesContent":["import React from 'react';\n\ntype ActionCheck = (x0: React.KeyboardEvent<HTMLElement>) => boolean;\n\ninterface KeyboardActionMatcher<Actions> {\n type: Actions;\n check: (x0: React.KeyboardEvent<HTMLElement>) => boolean;\n}\n\nexport class KeyboardActionExctracterBuilder<T> {\n private _actionMatchers: Array<KeyboardActionMatcher<any>>;\n\n constructor(actionMatchers: Array<KeyboardActionMatcher<T>> = []) {\n this._actionMatchers = actionMatchers;\n }\n\n public add<P = T>(type: T, check: ActionCheck): KeyboardActionExctracterBuilder<T> {\n return new KeyboardActionExctracterBuilder(this._actionMatchers.concat({ type, check }));\n }\n\n public build<P = T>(defaultAction: P): (x0: React.KeyboardEvent<HTMLElement>) => T {\n return (event) => {\n const action = this._actionMatchers.find((x) => x.check(event));\n return (action && action.type) || defaultAction;\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["extractKeyboardAction.ts"],"names":["KeyboardActionExctracterBuilder","actionMatchers","_actionMatchers","add","type","check","concat","build","defaultAction","event","action","find","x"],"mappings":";;;;;;;;;AASaA,+B;;;AAGX,2CAAYC,cAAZ,EAAkE,KAAtDA,cAAsD,cAAtDA,cAAsD,GAAJ,EAAI;AAChE,SAAKC,eAAL,GAAuBD,cAAvB;AACD,G;;AAEME,EAAAA,G,GAAP,aAAcC,IAAd,EAAuBC,KAAvB,EAA+E;AAC7E,WAAO,IAAIL,+BAAJ,CAAoC,KAAKE,eAAL,CAAqBI,MAArB,CAA4B,EAAEF,IAAI,EAAJA,IAAF,EAAQC,KAAK,EAALA,KAAR,EAA5B,CAApC,CAAP;AACD,G;;AAEME,EAAAA,K,GAAP,eAAoBC,aAApB,EAAmF;AACjF,WAAO,UAACC,KAAD,EAAW;AAChB,UAAMC,MAAM,GAAG,KAAI,CAACR,eAAL,CAAqBS,IAArB,CAA0B,UAACC,CAAD,UAAOA,CAAC,CAACP,KAAF,CAAQI,KAAR,CAAP,EAA1B,CAAf;AACA,aAAQC,MAAM,IAAIA,MAAM,CAACN,IAAlB,IAA2BI,aAAlC;AACD,KAHD;AAID,G","sourcesContent":["import React from 'react';\n\ntype ActionCheck = (x0: React.KeyboardEvent<HTMLElement>) => boolean;\n\ninterface KeyboardActionMatcher<Actions> {\n type: Actions;\n check: (x0: React.KeyboardEvent<HTMLElement>) => boolean;\n}\n\nexport class KeyboardActionExctracterBuilder<T> {\n private _actionMatchers: Array<KeyboardActionMatcher<any>>;\n\n constructor(actionMatchers: Array<KeyboardActionMatcher<T>> = []) {\n this._actionMatchers = actionMatchers;\n }\n\n public add<T>(type: T, check: ActionCheck): KeyboardActionExctracterBuilder<T> {\n return new KeyboardActionExctracterBuilder(this._actionMatchers.concat({ type, check }));\n }\n\n public build<P = T>(defaultAction: P): (x0: React.KeyboardEvent<HTMLElement>) => T {\n return (event) => {\n const action = this._actionMatchers.find((x) => x.check(event));\n return (action && action.type) || defaultAction;\n };\n }\n}\n"]}
@@ -15,7 +15,6 @@ props, allowed) {
15
15
  var ret = {};
16
16
  for (var key in props) {
17
17
  if (allowed[key]) {
18
- // @ts-ignore
19
18
  ret[key] = props[key];
20
19
  }
21
20
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["filterProps.ts"],"names":["filterProps","props","allowed","ret","key"],"mappings":";;;;;;AAMO,SAASA,WAAT;;;;;;;AAOLC,KAPK,EAOSC,OAPT,EAOmC;AACxC,MAAMC,GAAG,GAAG,EAAZ;AACA,OAAK,IAAMC,GAAX,IAAkBH,KAAlB,EAAyB;AACvB,QAAIC,OAAO,CAACE,GAAD,CAAX,EAAkB;AAChB;AACAD,MAAAA,GAAG,CAACC,GAAD,CAAH,GAAWH,KAAK,CAACG,GAAD,CAAhB;AACD;AACF;AACD,SAAOD,GAAP;AACD","sourcesContent":["export type Filter<T, U> = T extends U ? T : never;\n\nexport type True<T> = { [K in keyof T]: T[K] extends true ? K : never }[keyof T];\n\nexport type AmbiguousBool<T> = { [K in keyof T]: T[K] extends false ? never : T[K] extends true ? never : K }[keyof T];\n\nexport function filterProps<\n Props extends Record<string, any>,\n Allowed extends Record<string, boolean>,\n Specific extends Filter<keyof Props, True<Allowed>>,\n // If value neither true nor false, it should be optional\n Optional extends Filter<keyof Props, AmbiguousBool<Allowed>>,\n Result extends { [P in Specific]: Props[P] } & { [Q in Optional]?: Props[Q] },\n>(props: Props, allowed: Allowed): Result {\n const ret = {} as any;\n for (const key in props) {\n if (allowed[key]) {\n // @ts-ignore\n ret[key] = props[key];\n }\n }\n return ret;\n}\n"]}
1
+ {"version":3,"sources":["filterProps.ts"],"names":["filterProps","props","allowed","ret","key"],"mappings":";;;;;;AAMO,SAASA,WAAT;;;;;;;AAOLC,KAPK,EAOSC,OAPT,EAOmC;AACxC,MAAMC,GAAG,GAAG,EAAZ;AACA,OAAK,IAAMC,GAAX,IAAkBH,KAAlB,EAAyB;AACvB,QAAIC,OAAO,CAACE,GAAD,CAAX,EAAkB;AAChBD,MAAAA,GAAG,CAACC,GAAD,CAAH,GAAWH,KAAK,CAACG,GAAD,CAAhB;AACD;AACF;AACD,SAAOD,GAAP;AACD","sourcesContent":["export type Filter<T, U> = T extends U ? T : never;\n\nexport type True<T> = { [K in keyof T]: T[K] extends true ? K : never }[keyof T];\n\nexport type AmbiguousBool<T> = { [K in keyof T]: T[K] extends false ? never : T[K] extends true ? never : K }[keyof T];\n\nexport function filterProps<\n Props extends Record<string, any>,\n Allowed extends Record<string, boolean>,\n Specific extends Filter<keyof Props, True<Allowed>>,\n // If value neither true nor false, it should be optional\n Optional extends Filter<keyof Props, AmbiguousBool<Allowed>>,\n Result extends { [P in Specific]: Props[P] } & { [Q in Optional]?: Props[Q] },\n>(props: Props, allowed: Allowed): Result {\n const ret = {} as any;\n for (const key in props) {\n if (allowed[key]) {\n ret[key] = props[key];\n }\n }\n return ret;\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  import { LocaleControls } from './types';
2
2
  import { LocaleHelper } from './LocaleHelper';
3
- export declare const useLocaleForControl: <TTranslationByLangCode extends object>(controlName: keyof LocaleControls, localeHelper: LocaleHelper<TTranslationByLangCode>) => TTranslationByLangCode;
3
+ export declare const useLocaleForControl: <TTranslationByLangCode extends Record<string, any>>(controlName: keyof LocaleControls, localeHelper: LocaleHelper<TTranslationByLangCode>) => TTranslationByLangCode;
@@ -1 +1 @@
1
- {"version":3,"sources":["useLocaleForControl.ts"],"names":["useLocaleForControl","controlName","localeHelper","LocaleContext","locale","langCode","localeFromContext","Object","assign","get"],"mappings":"4EAAA;;;;AAIA;;AAEO,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB;AACjCC,WADiC;AAEjCC,YAFiC;AAGN;AAC3B,oBAA6B,uBAAWC,4BAAX,CAA7B,CAAQC,MAAR,eAAQA,MAAR,CAAgBC,QAAhB,eAAgBA,QAAhB;AACA,MAAMC,iBAAiB,GAAGF,MAAH,oBAAGA,MAAM,CAAGH,WAAH,CAAhC;AACA,SAAO,oBAAQ,oBAAMM,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBN,YAAY,CAACO,GAAb,CAAiBJ,QAAjB,CAAlB,EAA8CC,iBAA9C,CAAN,EAAR,EAAgF,CAACD,QAAD,EAAWC,iBAAX,CAAhF,CAAP;AACD,CAPM,C","sourcesContent":["import { useContext, useMemo } from 'react';\n\nimport { LocaleControls } from './types';\nimport { LocaleHelper } from './LocaleHelper';\nimport { LocaleContext } from './LocaleContext';\n\nexport const useLocaleForControl = <TTranslationByLangCode extends object>(\n controlName: keyof LocaleControls,\n localeHelper: LocaleHelper<TTranslationByLangCode>,\n): TTranslationByLangCode => {\n const { locale, langCode } = useContext(LocaleContext);\n const localeFromContext = locale?.[controlName];\n return useMemo(() => Object.assign({}, localeHelper.get(langCode), localeFromContext), [langCode, localeFromContext]);\n};\n"]}
1
+ {"version":3,"sources":["useLocaleForControl.ts"],"names":["useLocaleForControl","controlName","localeHelper","LocaleContext","locale","langCode","localeFromContext","Object","assign","get"],"mappings":"4EAAA;;;;AAIA;;AAEO,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB;AACjCC,WADiC;AAEjCC,YAFiC;AAGN;AAC3B,oBAA6B,uBAAWC,4BAAX,CAA7B,CAAQC,MAAR,eAAQA,MAAR,CAAgBC,QAAhB,eAAgBA,QAAhB;AACA,MAAMC,iBAAiB,GAAGF,MAAH,oBAAGA,MAAM,CAAGH,WAAH,CAAhC;AACA,SAAO,oBAAQ,oBAAMM,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBN,YAAY,CAACO,GAAb,CAAiBJ,QAAjB,CAAlB,EAA8CC,iBAA9C,CAAN,EAAR,EAAgF,CAACD,QAAD,EAAWC,iBAAX,CAAhF,CAAP;AACD,CAPM,C","sourcesContent":["import { useContext, useMemo } from 'react';\n\nimport { LocaleControls } from './types';\nimport { LocaleHelper } from './LocaleHelper';\nimport { LocaleContext } from './LocaleContext';\n\nexport const useLocaleForControl = <TTranslationByLangCode extends Record<string, any>>(\n controlName: keyof LocaleControls,\n localeHelper: LocaleHelper<TTranslationByLangCode>,\n): TTranslationByLangCode => {\n const { locale, langCode } = useContext(LocaleContext);\n const localeFromContext = locale?.[controlName];\n return useMemo(() => Object.assign({}, localeHelper.get(langCode), localeFromContext), [langCode, localeFromContext]);\n};\n"]}
package/cjs/lib/memo.d.ts CHANGED
@@ -1 +1,3 @@
1
- export declare function memo<T>(fn: T): T;
1
+ declare type MemoFunction<T> = (...args: T[]) => any;
2
+ export declare function memo<T>(fn: MemoFunction<T>): (...args: Parameters<MemoFunction<T>>) => any;
3
+ export {};
package/cjs/lib/memo.js CHANGED
@@ -1,10 +1,11 @@
1
- "use strict";exports.__esModule = true;exports.memo = memo;function memo(fn) {
1
+ "use strict";exports.__esModule = true;exports.memo = memo;
2
+
3
+ function memo(fn) {
2
4
  var cache = {};
3
5
  var getHash = function getHash(args) {return args.reduce(function (acc, x) {return acc + x;}, '');};
4
6
  var keysCount = 0;
5
7
  var limit = 1e4;
6
8
 
7
- // @ts-ignore
8
9
  return function () {
9
10
  try {for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}
10
11
  var hash = getHash(args);
@@ -12,7 +13,6 @@
12
13
  if (fromCache) {
13
14
  return fromCache;
14
15
  }
15
- // @ts-ignore
16
16
  var result = fn.apply(void 0, args);
17
17
  cache[hash] = result;
18
18
  keysCount++;
@@ -1 +1 @@
1
- {"version":3,"sources":["memo.ts"],"names":["memo","fn","cache","getHash","args","reduce","acc","x","keysCount","limit","hash","fromCache","result"],"mappings":"2DAAO,SAASA,IAAT,CAAiBC,EAAjB,EAA2B;AAChC,MAAIC,KAA6B,GAAG,EAApC;AACA,MAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,IAAD,UAAiBA,IAAI,CAACC,MAAL,CAAY,UAACC,GAAD,EAAMC,CAAN,UAAYD,GAAG,GAAGC,CAAlB,EAAZ,EAAiC,EAAjC,CAAjB,EAAhB;AACA,MAAIC,SAAS,GAAG,CAAhB;AACA,MAAMC,KAAK,GAAG,GAAd;;AAEA;AACA,SAAO,YAAa;AAClB,QAAI,mCADKL,IACL,oDADKA,IACL;AACF,UAAMM,IAAI,GAAGP,OAAO,CAACC,IAAD,CAApB;AACA,UAAMO,SAAS,GAAGT,KAAK,CAACQ,IAAD,CAAvB;AACA,UAAIC,SAAJ,EAAe;AACb,eAAOA,SAAP;AACD;AACD;AACA,UAAMC,MAAM,GAAGX,EAAE,MAAF,SAAMG,IAAN,CAAf;AACAF,MAAAA,KAAK,CAACQ,IAAD,CAAL,GAAcE,MAAd;AACAJ,MAAAA,SAAS;AACT,aAAOI,MAAP;AACD,KAXD,SAWU;AACR,UAAIJ,SAAS,GAAGC,KAAhB,EAAuB;AACrBP,QAAAA,KAAK,GAAG,EAAR;AACAM,QAAAA,SAAS,GAAG,CAAZ;AACD;AACF;AACF,GAlBD;AAmBD","sourcesContent":["export function memo<T>(fn: T): T {\n let cache: { [key: string]: any } = {};\n const getHash = (args: any[]) => args.reduce((acc, x) => acc + x, '');\n let keysCount = 0;\n const limit = 1e4;\n\n // @ts-ignore\n return (...args) => {\n try {\n const hash = getHash(args);\n const fromCache = cache[hash];\n if (fromCache) {\n return fromCache;\n }\n // @ts-ignore\n const result = fn(...args);\n cache[hash] = result;\n keysCount++;\n return result;\n } finally {\n if (keysCount > limit) {\n cache = {};\n keysCount = 0;\n }\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["memo.ts"],"names":["memo","fn","cache","getHash","args","reduce","acc","x","keysCount","limit","hash","fromCache","result"],"mappings":";;AAEO,SAASA,IAAT,CAAiBC,EAAjB,EAAsC;AAC3C,MAAIC,KAA6B,GAAG,EAApC;AACA,MAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,IAAD,UAAiBA,IAAI,CAACC,MAAL,CAAY,UAACC,GAAD,EAAMC,CAAN,UAAYD,GAAG,GAAGC,CAAlB,EAAZ,EAAiC,EAAjC,CAAjB,EAAhB;AACA,MAAIC,SAAS,GAAG,CAAhB;AACA,MAAMC,KAAK,GAAG,GAAd;;AAEA,SAAO,YAA0C;AAC/C,QAAI,mCADKL,IACL,oDADKA,IACL;AACF,UAAMM,IAAI,GAAGP,OAAO,CAACC,IAAD,CAApB;AACA,UAAMO,SAAS,GAAGT,KAAK,CAACQ,IAAD,CAAvB;AACA,UAAIC,SAAJ,EAAe;AACb,eAAOA,SAAP;AACD;AACD,UAAMC,MAAM,GAAGX,EAAE,MAAF,SAAMG,IAAN,CAAf;AACAF,MAAAA,KAAK,CAACQ,IAAD,CAAL,GAAcE,MAAd;AACAJ,MAAAA,SAAS;AACT,aAAOI,MAAP;AACD,KAVD,SAUU;AACR,UAAIJ,SAAS,GAAGC,KAAhB,EAAuB;AACrBP,QAAAA,KAAK,GAAG,EAAR;AACAM,QAAAA,SAAS,GAAG,CAAZ;AACD;AACF;AACF,GAjBD;AAkBD","sourcesContent":["type MemoFunction<T> = (...args: T[]) => any;\n\nexport function memo<T>(fn: MemoFunction<T>) {\n let cache: { [key: string]: any } = {};\n const getHash = (args: any[]) => args.reduce((acc, x) => acc + x, '');\n let keysCount = 0;\n const limit = 1e4;\n\n return (...args: Parameters<MemoFunction<T>>) => {\n try {\n const hash = getHash(args);\n const fromCache = cache[hash];\n if (fromCache) {\n return fromCache;\n }\n const result = fn(...args);\n cache[hash] = result;\n keysCount++;\n return result;\n } finally {\n if (keysCount > limit) {\n cache = {};\n keysCount = 0;\n }\n }\n };\n}\n"]}
@@ -34,9 +34,9 @@ function fetch(uri, options) {if (options === void 0) {options = {};}
34
34
  }
35
35
 
36
36
  function createXHR() {
37
- // @ts-ignore
37
+ // @ts-expect-error: XDomainRequest is IE-specific API, therefore it was removed from `lib.d.ts`. See: https://github.com/Microsoft/TypeScript/issues/2927.
38
38
  if (global.XDomainRequest) {
39
- // @ts-ignore
39
+ // @ts-expect-error: Read the comment above.
40
40
  return new XDomainRequest();
41
41
  }
42
42
  return new XMLHttpRequest();
@@ -1 +1 @@
1
- {"version":3,"sources":["fetch.ts"],"names":["fetch","uri","options","method","xhr","createXHR","promise","Promise","resolve","reject","onerror","ontimeout","onload","ok","status","statusText","text","responseText","json","JSON","parse","open","send","body","global","XDomainRequest","XMLHttpRequest"],"mappings":";;;;;;;;;;AAUO,SAASA,KAAT,CAAeC,GAAf,EAA4BC,OAA5B,EAA8F,KAAlEA,OAAkE,cAAlEA,OAAkE,GAAZ,EAAY;AACnG,MAAMC,MAAM,GAAGD,OAAO,CAACC,MAAR,IAAkB,KAAjC;AACA,MAAMC,GAAG,GAAGC,SAAS,EAArB;;AAEA,MAAMC,OAAO,GAAG,IAAIC,OAAJ,CAA6B,UAACC,OAAD,EAAUC,MAAV,EAAqB;AAChEL,IAAAA,GAAG,CAACM,OAAJ,GAAcD,MAAd;AACAL,IAAAA,GAAG,CAACO,SAAJ,GAAgBF,MAAhB;;AAEAL,IAAAA,GAAG,CAACQ,MAAJ,GAAa,YAAM;AACjBJ,MAAAA,OAAO,CAAC;AACNK,QAAAA,EAAE,EAAET,GAAG,CAACU,MAAJ,IAAc,GAAd,IAAqBV,GAAG,CAACU,MAAJ,GAAa,GADhC;AAENA,QAAAA,MAAM,EAAEV,GAAG,CAACU,MAFN;AAGNC,QAAAA,UAAU,EAAEX,GAAG,CAACW,UAHV;AAINC,QAAAA,IAAI,EAAE,wBAAMT,OAAO,CAACC,OAAR,CAAgBJ,GAAG,CAACa,YAApB,CAAN,EAJA;AAKNC,QAAAA,IAAI,EAAE,wBAAMX,OAAO,CAACC,OAAR,CAAgBW,IAAI,CAACC,KAAL,CAAWhB,GAAG,CAACa,YAAf,CAAhB,CAAN,EALA,EAAD,CAAP;;AAOD,KARD;AASD,GAbe,CAAhB;;AAeAb,EAAAA,GAAG,CAACiB,IAAJ,CAASlB,MAAT,EAAiBF,GAAjB;AACAG,EAAAA,GAAG,CAACkB,IAAJ,CAASpB,OAAO,CAACqB,IAAjB;;AAEA,SAAOjB,OAAP;AACD;;AAED,SAASD,SAAT,GAAqB;AACnB;AACA,MAAImB,MAAM,CAACC,cAAX,EAA2B;AACzB;AACA,WAAO,IAAIA,cAAJ,EAAP;AACD;AACD,SAAO,IAAIC,cAAJ,EAAP;AACD","sourcesContent":["interface ApiResponseType {\n ok: boolean;\n status: number;\n statusText: string;\n text: () => Promise<string>;\n json: () => Promise<Record<string, any>>;\n}\n\ntype Result = Promise<ApiResponseType>;\n\nexport function fetch(uri: string, options: { method?: 'GET' | 'POST'; body?: string } = {}): Result {\n const method = options.method || 'GET';\n const xhr = createXHR();\n\n const promise = new Promise<ApiResponseType>((resolve, reject) => {\n xhr.onerror = reject;\n xhr.ontimeout = reject;\n\n xhr.onload = () => {\n resolve({\n ok: xhr.status >= 200 && xhr.status < 300,\n status: xhr.status,\n statusText: xhr.statusText,\n text: () => Promise.resolve(xhr.responseText),\n json: () => Promise.resolve(JSON.parse(xhr.responseText)),\n });\n };\n });\n\n xhr.open(method, uri);\n xhr.send(options.body);\n\n return promise;\n}\n\nfunction createXHR() {\n // @ts-ignore\n if (global.XDomainRequest) {\n // @ts-ignore\n return new XDomainRequest();\n }\n return new XMLHttpRequest();\n}\n"]}
1
+ {"version":3,"sources":["fetch.ts"],"names":["fetch","uri","options","method","xhr","createXHR","promise","Promise","resolve","reject","onerror","ontimeout","onload","ok","status","statusText","text","responseText","json","JSON","parse","open","send","body","global","XDomainRequest","XMLHttpRequest"],"mappings":";;;;;;;;;;AAUO,SAASA,KAAT,CAAeC,GAAf,EAA4BC,OAA5B,EAA8F,KAAlEA,OAAkE,cAAlEA,OAAkE,GAAZ,EAAY;AACnG,MAAMC,MAAM,GAAGD,OAAO,CAACC,MAAR,IAAkB,KAAjC;AACA,MAAMC,GAAG,GAAGC,SAAS,EAArB;;AAEA,MAAMC,OAAO,GAAG,IAAIC,OAAJ,CAA6B,UAACC,OAAD,EAAUC,MAAV,EAAqB;AAChEL,IAAAA,GAAG,CAACM,OAAJ,GAAcD,MAAd;AACAL,IAAAA,GAAG,CAACO,SAAJ,GAAgBF,MAAhB;;AAEAL,IAAAA,GAAG,CAACQ,MAAJ,GAAa,YAAM;AACjBJ,MAAAA,OAAO,CAAC;AACNK,QAAAA,EAAE,EAAET,GAAG,CAACU,MAAJ,IAAc,GAAd,IAAqBV,GAAG,CAACU,MAAJ,GAAa,GADhC;AAENA,QAAAA,MAAM,EAAEV,GAAG,CAACU,MAFN;AAGNC,QAAAA,UAAU,EAAEX,GAAG,CAACW,UAHV;AAINC,QAAAA,IAAI,EAAE,wBAAMT,OAAO,CAACC,OAAR,CAAgBJ,GAAG,CAACa,YAApB,CAAN,EAJA;AAKNC,QAAAA,IAAI,EAAE,wBAAMX,OAAO,CAACC,OAAR,CAAgBW,IAAI,CAACC,KAAL,CAAWhB,GAAG,CAACa,YAAf,CAAhB,CAAN,EALA,EAAD,CAAP;;AAOD,KARD;AASD,GAbe,CAAhB;;AAeAb,EAAAA,GAAG,CAACiB,IAAJ,CAASlB,MAAT,EAAiBF,GAAjB;AACAG,EAAAA,GAAG,CAACkB,IAAJ,CAASpB,OAAO,CAACqB,IAAjB;;AAEA,SAAOjB,OAAP;AACD;;AAED,SAASD,SAAT,GAAqB;AACnB;AACA,MAAImB,MAAM,CAACC,cAAX,EAA2B;AACzB;AACA,WAAO,IAAIA,cAAJ,EAAP;AACD;AACD,SAAO,IAAIC,cAAJ,EAAP;AACD","sourcesContent":["interface ApiResponseType {\n ok: boolean;\n status: number;\n statusText: string;\n text: () => Promise<string>;\n json: () => Promise<Record<string, any>>;\n}\n\ntype Result = Promise<ApiResponseType>;\n\nexport function fetch(uri: string, options: { method?: 'GET' | 'POST'; body?: string } = {}): Result {\n const method = options.method || 'GET';\n const xhr = createXHR();\n\n const promise = new Promise<ApiResponseType>((resolve, reject) => {\n xhr.onerror = reject;\n xhr.ontimeout = reject;\n\n xhr.onload = () => {\n resolve({\n ok: xhr.status >= 200 && xhr.status < 300,\n status: xhr.status,\n statusText: xhr.statusText,\n text: () => Promise.resolve(xhr.responseText),\n json: () => Promise.resolve(JSON.parse(xhr.responseText)),\n });\n };\n });\n\n xhr.open(method, uri);\n xhr.send(options.body);\n\n return promise;\n}\n\nfunction createXHR() {\n // @ts-expect-error: XDomainRequest is IE-specific API, therefore it was removed from `lib.d.ts`. See: https://github.com/Microsoft/TypeScript/issues/2927.\n if (global.XDomainRequest) {\n // @ts-expect-error: Read the comment above.\n return new XDomainRequest();\n }\n return new XMLHttpRequest();\n}\n"]}
@@ -9,7 +9,6 @@ function reactGetTextContent(rootReactNode) {
9
9
  } else if (Array.isArray(reactNode)) {
10
10
  reactNode.forEach(function (node) {return getText(node);});
11
11
  } else if ( /*#__PURE__*/_react.default.isValidElement(reactNode) && reactNode.props) {
12
- // @ts-ignore
13
12
  var children = reactNode.props.children;
14
13
 
15
14
  getText(children);
@@ -1 +1 @@
1
- {"version":3,"sources":["reactGetTextContent.ts"],"names":["reactGetTextContent","rootReactNode","result","getText","reactNode","toString","Array","isArray","forEach","node","isValidElement","props","children"],"mappings":"8KAAA;;AAEO,SAASA,mBAAT,CAA6BC,aAA7B,EAA6D;AAClE,MAAIC,MAAM,GAAG,EAAb;;AAEA,MAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,SAAD,EAAgC;AAC9C,QAAI,OAAOA,SAAP,KAAqB,QAArB,IAAiC,OAAOA,SAAP,KAAqB,QAA1D,EAAoE;AAClEF,MAAAA,MAAM,IAAIE,SAAS,CAACC,QAAV,EAAV;AACD,KAFD,MAEO,IAAIC,KAAK,CAACC,OAAN,CAAcH,SAAd,CAAJ,EAA8B;AACnCA,MAAAA,SAAS,CAACI,OAAV,CAAkB,UAACC,IAAD,UAAUN,OAAO,CAACM,IAAD,CAAjB,EAAlB;AACD,KAFM,MAEA,IAAI,6BAAMC,cAAN,CAAqBN,SAArB,KAAmCA,SAAS,CAACO,KAAjD,EAAwD;AAC7D;AACA,UAAQC,QAAR,GAAqBR,SAAS,CAACO,KAA/B,CAAQC,QAAR;;AAEAT,MAAAA,OAAO,CAACS,QAAD,CAAP;AACD;AACF,GAXD;;AAaAT,EAAAA,OAAO,CAACF,aAAD,CAAP;;AAEA,SAAOC,MAAP;AACD","sourcesContent":["import React from 'react';\n\nexport function reactGetTextContent(rootReactNode: React.ReactNode) {\n let result = '';\n\n const getText = (reactNode: React.ReactNode) => {\n if (typeof reactNode === 'string' || typeof reactNode === 'number') {\n result += reactNode.toString();\n } else if (Array.isArray(reactNode)) {\n reactNode.forEach((node) => getText(node));\n } else if (React.isValidElement(reactNode) && reactNode.props) {\n // @ts-ignore\n const { children } = reactNode.props;\n\n getText(children);\n }\n };\n\n getText(rootReactNode);\n\n return result;\n}\n"]}
1
+ {"version":3,"sources":["reactGetTextContent.ts"],"names":["reactGetTextContent","rootReactNode","result","getText","reactNode","toString","Array","isArray","forEach","node","isValidElement","props","children"],"mappings":"8KAAA;;AAEO,SAASA,mBAAT,CAA6BC,aAA7B,EAA6D;AAClE,MAAIC,MAAM,GAAG,EAAb;;AAEA,MAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,SAAD,EAAgC;AAC9C,QAAI,OAAOA,SAAP,KAAqB,QAArB,IAAiC,OAAOA,SAAP,KAAqB,QAA1D,EAAoE;AAClEF,MAAAA,MAAM,IAAIE,SAAS,CAACC,QAAV,EAAV;AACD,KAFD,MAEO,IAAIC,KAAK,CAACC,OAAN,CAAcH,SAAd,CAAJ,EAA8B;AACnCA,MAAAA,SAAS,CAACI,OAAV,CAAkB,UAACC,IAAD,UAAUN,OAAO,CAACM,IAAD,CAAjB,EAAlB;AACD,KAFM,MAEA,IAAI,6BAAMC,cAAN,CAAqBN,SAArB,KAAmCA,SAAS,CAACO,KAAjD,EAAwD;AAC7D,UAAQC,QAAR,GAAqBR,SAAS,CAACO,KAA/B,CAAQC,QAAR;;AAEAT,MAAAA,OAAO,CAACS,QAAD,CAAP;AACD;AACF,GAVD;;AAYAT,EAAAA,OAAO,CAACF,aAAD,CAAP;;AAEA,SAAOC,MAAP;AACD","sourcesContent":["import React from 'react';\n\nexport function reactGetTextContent(rootReactNode: React.ReactNode) {\n let result = '';\n\n const getText = (reactNode: React.ReactNode) => {\n if (typeof reactNode === 'string' || typeof reactNode === 'number') {\n result += reactNode.toString();\n } else if (Array.isArray(reactNode)) {\n reactNode.forEach((node) => getText(node));\n } else if (React.isValidElement(reactNode) && reactNode.props) {\n const { children } = reactNode.props;\n\n getText(children);\n }\n };\n\n getText(rootReactNode);\n\n return result;\n}\n"]}
@@ -2,9 +2,9 @@ import React from 'react';
2
2
  import EventEmitter from 'eventemitter3';
3
3
  import { Nullable } from '../../typings/utility-types';
4
4
  export declare type TSetRootNode = (e: Nullable<React.ReactNode>) => void;
5
- export declare type TRootNodeSubscription = {
5
+ export interface TRootNodeSubscription {
6
6
  remove: () => void;
7
- };
7
+ }
8
8
  export interface InstanceWithRootNode {
9
9
  getRootNode: () => Nullable<Element>;
10
10
  addRootNodeChangeListener?: (callback: (node: Nullable<Element>) => void) => TRootNodeSubscription;
@@ -1 +1 @@
1
- {"version":3,"sources":["rootNodeDecorator.tsx"],"names":["rootNode","Component","defaultRootNode","rootNodeEmitter","EventEmitter","setRootNode","instance","emit","getRootNode","addRootNodeChangeListener","callback","addListener","remove","removeListener","nameDescriptor","Object","getOwnPropertyDescriptor","configurable","defineProperty","value","name","isInstanceWithRootNode","Boolean","prototype","hasOwnProperty","call"],"mappings":";;AAEA;;;;AAIA,4C,CANA;;;;;;;;;;;;;;;;;;;;;AA2BO,SAASA,QAAT,CAAuDC,SAAvD,EAAqE;AAC1E,MAAMD,QAAQ;;;AAGZ,wBAAmC;AACjC,8FADiC,MAF5BA,QAE4B,GAFEC,SAAS,CAACC,eAEZ,OAD5BC,eAC4B,GADV,IAAIC,qBAAJ,EACU;;;AAI5BC,MAAAA,WAJ4B,GAId,UAACC,QAAD,EAA6C;AAChE,YAAMN,SAAQ,GAAG,8BAAYM,QAAZ,CAAjB;AACA,YAAIN,SAAQ,KAAK,MAAKA,QAAtB,EAAgC;AAC9B,gBAAKA,QAAL,GAAgBA,SAAhB;AACA,gBAAKG,eAAL,CAAqBI,IAArB,CAA0B,QAA1B,EAAoCP,SAApC;AACD;AACF,OAVkC;;AAY5BQ,MAAAA,WAZ4B,GAYd,YAAyB;AAC5C,eAAO,MAAKR,QAAZ;AACD,OAdkC;;AAgB5BS,MAAAA,yBAhB4B,GAgBA,UAACC,QAAD,EAAwE;AACzG,cAAKP,eAAL,CAAqBQ,WAArB,CAAiC,QAAjC,EAA2CD,QAA3C;AACA,eAAO;AACLE,UAAAA,MAAM,EAAE,kBAAM;AACZ,kBAAKT,eAAL,CAAqBU,cAArB,CAAoC,QAApC,EAA8CH,QAA9C;AACD,WAHI,EAAP;;AAKD,OAvBkC,cAElC,CALW,kBAAiBT,SAAjB,CAAd;;;AA6BA,MAAMa,cAAc,GAAGC,MAAM,CAACC,wBAAP,CAAgChB,QAAhC,EAA0C,MAA1C,CAAvB;AACA,MAAI,CAACc,cAAD,IAAmBA,cAAc,CAACG,YAAtC,EAAoD;AAClDF,IAAAA,MAAM,CAACG,cAAP,CAAsBlB,QAAtB,EAAgC,MAAhC,EAAwC,EAAEmB,KAAK,EAAElB,SAAS,CAACmB,IAAnB,EAAxC;AACD;;AAED,SAAOpB,QAAP;AACD;;AAEM,IAAMqB,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACf,QAAD,EAAyD;AAC7F,SAAOgB,OAAO,CAAChB,QAAD,CAAP,IAAqBS,MAAM,CAACQ,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCnB,QAArC,EAA+C,aAA/C,CAA5B;AACD,CAFM,C","sourcesContent":["/* eslint-disable react/display-name */\nimport React from 'react';\nimport EventEmitter from 'eventemitter3';\n\nimport { Nullable } from '../../typings/utility-types';\n\nimport { getRootNode } from './getRootNode';\n\nexport type TSetRootNode = (e: Nullable<React.ReactNode>) => void;\n\nexport type TRootNodeSubscription = {\n remove: () => void;\n};\n\nexport interface InstanceWithRootNode {\n getRootNode: () => Nullable<Element>;\n addRootNodeChangeListener?: (callback: (node: Nullable<Element>) => void) => TRootNodeSubscription;\n}\n\ninterface ComponentWithDefaultRootNode {\n defaultRootNode?: Element | null;\n}\n\ninterface DecoratableClassComponent extends ComponentWithDefaultRootNode {\n new (...args: any[]): React.Component;\n}\n\nexport function rootNode<T extends DecoratableClassComponent>(Component: T) {\n const rootNode = class extends Component implements InstanceWithRootNode {\n public rootNode: Nullable<Element> = Component.defaultRootNode;\n public rootNodeEmitter = new EventEmitter();\n public constructor(...args: any[]) {\n super(args[0]);\n }\n\n public setRootNode = (instance: Nullable<React.ReactInstance>) => {\n const rootNode = getRootNode(instance);\n if (rootNode !== this.rootNode) {\n this.rootNode = rootNode;\n this.rootNodeEmitter.emit('change', rootNode);\n }\n };\n\n public getRootNode = (): Nullable<Element> => {\n return this.rootNode;\n };\n\n public addRootNodeChangeListener = (callback: (node: Nullable<Element>) => void): TRootNodeSubscription => {\n this.rootNodeEmitter.addListener('change', callback);\n return {\n remove: () => {\n this.rootNodeEmitter.removeListener('change', callback);\n },\n };\n };\n };\n\n const nameDescriptor = Object.getOwnPropertyDescriptor(rootNode, 'name');\n if (!nameDescriptor || nameDescriptor.configurable) {\n Object.defineProperty(rootNode, 'name', { value: Component.name });\n }\n\n return rootNode;\n}\n\nexport const isInstanceWithRootNode = (instance: unknown): instance is InstanceWithRootNode => {\n return Boolean(instance) && Object.prototype.hasOwnProperty.call(instance, 'getRootNode');\n};\n"]}
1
+ {"version":3,"sources":["rootNodeDecorator.tsx"],"names":["rootNode","Component","defaultRootNode","rootNodeEmitter","EventEmitter","setRootNode","instance","emit","getRootNode","addRootNodeChangeListener","callback","addListener","remove","removeListener","nameDescriptor","Object","getOwnPropertyDescriptor","configurable","defineProperty","value","name","isInstanceWithRootNode","Boolean","prototype","hasOwnProperty","call"],"mappings":";;AAEA;;;;AAIA,4C,CANA;;;;;;;;;;;;;;;;;;;;;AA2BO,SAASA,QAAT,CAAuDC,SAAvD,EAAqE;AAC1E,MAAMD,QAAQ;;;AAGZ,wBAAmC;AACjC,8FADiC,MAF5BA,QAE4B,GAFEC,SAAS,CAACC,eAEZ,OAD5BC,eAC4B,GADV,IAAIC,qBAAJ,EACU;;;AAI5BC,MAAAA,WAJ4B,GAId,UAACC,QAAD,EAA6C;AAChE,YAAMN,SAAQ,GAAG,8BAAYM,QAAZ,CAAjB;AACA,YAAIN,SAAQ,KAAK,MAAKA,QAAtB,EAAgC;AAC9B,gBAAKA,QAAL,GAAgBA,SAAhB;AACA,gBAAKG,eAAL,CAAqBI,IAArB,CAA0B,QAA1B,EAAoCP,SAApC;AACD;AACF,OAVkC;;AAY5BQ,MAAAA,WAZ4B,GAYd,YAAyB;AAC5C,eAAO,MAAKR,QAAZ;AACD,OAdkC;;AAgB5BS,MAAAA,yBAhB4B,GAgBA,UAACC,QAAD,EAAwE;AACzG,cAAKP,eAAL,CAAqBQ,WAArB,CAAiC,QAAjC,EAA2CD,QAA3C;AACA,eAAO;AACLE,UAAAA,MAAM,EAAE,kBAAM;AACZ,kBAAKT,eAAL,CAAqBU,cAArB,CAAoC,QAApC,EAA8CH,QAA9C;AACD,WAHI,EAAP;;AAKD,OAvBkC,cAElC,CALW,kBAAiBT,SAAjB,CAAd;;;AA6BA,MAAMa,cAAc,GAAGC,MAAM,CAACC,wBAAP,CAAgChB,QAAhC,EAA0C,MAA1C,CAAvB;AACA,MAAI,CAACc,cAAD,IAAmBA,cAAc,CAACG,YAAtC,EAAoD;AAClDF,IAAAA,MAAM,CAACG,cAAP,CAAsBlB,QAAtB,EAAgC,MAAhC,EAAwC,EAAEmB,KAAK,EAAElB,SAAS,CAACmB,IAAnB,EAAxC;AACD;;AAED,SAAOpB,QAAP;AACD;;AAEM,IAAMqB,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACf,QAAD,EAAyD;AAC7F,SAAOgB,OAAO,CAAChB,QAAD,CAAP,IAAqBS,MAAM,CAACQ,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCnB,QAArC,EAA+C,aAA/C,CAA5B;AACD,CAFM,C","sourcesContent":["/* eslint-disable react/display-name */\nimport React from 'react';\nimport EventEmitter from 'eventemitter3';\n\nimport { Nullable } from '../../typings/utility-types';\n\nimport { getRootNode } from './getRootNode';\n\nexport type TSetRootNode = (e: Nullable<React.ReactNode>) => void;\n\nexport interface TRootNodeSubscription {\n remove: () => void;\n}\n\nexport interface InstanceWithRootNode {\n getRootNode: () => Nullable<Element>;\n addRootNodeChangeListener?: (callback: (node: Nullable<Element>) => void) => TRootNodeSubscription;\n}\n\ninterface ComponentWithDefaultRootNode {\n defaultRootNode?: Element | null;\n}\n\ninterface DecoratableClassComponent extends ComponentWithDefaultRootNode {\n new (...args: any[]): React.Component;\n}\n\nexport function rootNode<T extends DecoratableClassComponent>(Component: T) {\n const rootNode = class extends Component implements InstanceWithRootNode {\n public rootNode: Nullable<Element> = Component.defaultRootNode;\n public rootNodeEmitter = new EventEmitter();\n public constructor(...args: any[]) {\n super(args[0]);\n }\n\n public setRootNode = (instance: Nullable<React.ReactInstance>) => {\n const rootNode = getRootNode(instance);\n if (rootNode !== this.rootNode) {\n this.rootNode = rootNode;\n this.rootNodeEmitter.emit('change', rootNode);\n }\n };\n\n public getRootNode = (): Nullable<Element> => {\n return this.rootNode;\n };\n\n public addRootNodeChangeListener = (callback: (node: Nullable<Element>) => void): TRootNodeSubscription => {\n this.rootNodeEmitter.addListener('change', callback);\n return {\n remove: () => {\n this.rootNodeEmitter.removeListener('change', callback);\n },\n };\n };\n };\n\n const nameDescriptor = Object.getOwnPropertyDescriptor(rootNode, 'name');\n if (!nameDescriptor || nameDescriptor.configurable) {\n Object.defineProperty(rootNode, 'name', { value: Component.name });\n }\n\n return rootNode;\n}\n\nexport const isInstanceWithRootNode = (instance: unknown): instance is InstanceWithRootNode => {\n return Boolean(instance) && Object.prototype.hasOwnProperty.call(instance, 'getRootNode');\n};\n"]}
@@ -80,8 +80,8 @@ ColorFactory = /*#__PURE__*/function () {function ColorFactory() {}ColorFactory.
80
80
 
81
81
  var colorCode = hexString.substring(1);
82
82
  var rgb = [0, 0, 0];
83
- if (colorCode.length === 6) {
84
- colorCode.match(/.{2}/g).forEach(function (c, i) {
83
+ if (colorCode.length === 6) {var _colorCode$match;
84
+ (_colorCode$match = colorCode.match(/.{2}/g)) == null ? void 0 : _colorCode$match.forEach(function (c, i) {
85
85
  rgb[i] = parseInt(c, 16);
86
86
  });
87
87
  } else if (colorCode.length === 3) {
@@ -1 +1 @@
1
- {"version":3,"sources":["ColorFactory.ts"],"names":["RGB_REGEX","RGBA_REGEX","HSL_REGEX","HSLA_REGEX","HEX_REGEX","ColorFactory","create","input","cache","Object","freeze","instantiate","ColorObject","lowercasedTrimmedInput","toLowerCase","trim","isKeyword","fromKeyword","startsWith","parts","r","g","b","a","fromRGB","h","s","l","fromHSL","fromHex","prototype","hasOwnProperty","call","ColorKeywords","keyword","hexString","type","test","Error","colorCode","substring","rgb","length","match","forEach","c","i","parseInt","split","gray","Math","round","hDeg","t1","t2"],"mappings":"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","sourcesContent":["import warning from 'warning';\n\nimport { clamp, extractColorParts, hue2rgb, parseHSLParts, parseRGBParts } from './ColorHelpers';\nimport { ColorKeywords } from './ColorKeywords';\nimport { ColorKeywordsType, ColorObject, ColorType, RGBTuple } from './ColorObject';\n\ninterface ColorFactoryCacheType {\n [key: string]: ColorObject;\n}\n\nconst RGB_REGEX =\n /rgb\\(\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*\\)/;\nconst RGBA_REGEX =\n /rgba\\(\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*\\)/;\nconst HSL_REGEX =\n /hsl\\(\\s*(\\d{1,3})\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*\\)/;\nconst HSLA_REGEX =\n /hsla\\(\\s*(\\d{1,3})\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*\\)/;\nconst HEX_REGEX = /^#([0-9a-f]{3}|[0-9a-f]{6})$/;\n\nexport class ColorFactory {\n public static create(input: string) {\n if (!this.cache[input]) {\n this.cache[input] = Object.freeze(this.instantiate(input));\n }\n\n return this.cache[input];\n }\n\n private static cache: ColorFactoryCacheType = Object.create(null);\n\n private static instantiate(input: string) {\n if (typeof input !== 'string') {\n warning(false, `Invalid type of input (${typeof input}), expected a string. Returning transparent color`);\n return new ColorObject([0, 0, 0], 1.0, 'transparent');\n }\n const lowercasedTrimmedInput = input.toLowerCase().trim();\n\n if (lowercasedTrimmedInput === 'transparent') {\n return new ColorObject([0, 0, 0], 0, 'transparent');\n } else if (this.isKeyword(lowercasedTrimmedInput)) {\n return this.fromKeyword(lowercasedTrimmedInput);\n } else if (lowercasedTrimmedInput.startsWith('rgb')) {\n const parts = extractColorParts(lowercasedTrimmedInput, RGB_REGEX, RGBA_REGEX);\n let { r, g, b, a } = parseRGBParts(parts);\n\n r = clamp(r, 255);\n g = clamp(g, 255);\n b = clamp(b, 255);\n a = clamp(a, 1);\n\n return this.fromRGB(r, g, b, a);\n } else if (lowercasedTrimmedInput.startsWith('hsl')) {\n const parts = extractColorParts(lowercasedTrimmedInput, HSL_REGEX, HSLA_REGEX);\n let { h, s, l, a } = parseHSLParts(parts);\n\n h = clamp(h, 360);\n s = clamp(s, 1);\n l = clamp(l, 1);\n a = clamp(a, 1);\n\n return this.fromHSL(h, s, l, a);\n }\n\n return this.fromHex(lowercasedTrimmedInput);\n }\n\n private static isKeyword(input: string): input is ColorKeywordsType {\n return Object.prototype.hasOwnProperty.call(ColorKeywords, input);\n }\n\n private static fromKeyword(keyword: ColorKeywordsType) {\n return this.fromHex(ColorKeywords[keyword], keyword);\n }\n\n private static fromHex(hexString: string, type: ColorType = 'hex') {\n if (!HEX_REGEX.test(hexString)) {\n throw new Error(`${hexString} is not a valid hex color string`);\n }\n\n const colorCode = hexString.substring(1);\n const rgb: RGBTuple = [0, 0, 0];\n if (colorCode.length === 6) {\n colorCode.match(/.{2}/g)!.forEach((c, i) => {\n rgb[i] = parseInt(c, 16);\n });\n } else if (colorCode.length === 3) {\n colorCode.split('').forEach((c, i) => {\n rgb[i] = parseInt(c + c, 16);\n });\n }\n return new ColorObject(rgb, 1.0, type);\n }\n\n private static fromRGB(r: number, g: number, b: number, a = 1.0) {\n return new ColorObject([r, g, b], a, a < 1 ? 'rgba' : 'rgb');\n }\n\n private static fromHSL(h: number, s: number, l: number, a = 1.0) {\n if (s === 0) {\n const gray = Math.round(l * 255);\n return new ColorObject([gray, gray, gray], a, a < 1 ? 'hsla' : 'hsl');\n }\n\n const hDeg = h / 360;\n const t1 = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const t2 = l * 2 - t1;\n\n const r = hue2rgb(hDeg + 1 / 3, t1, t2);\n const g = hue2rgb(hDeg, t1, t2);\n const b = hue2rgb(hDeg - 1 / 3, t1, t2);\n\n const rgb: RGBTuple = [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];\n return new ColorObject(rgb, a, a < 1 ? 'hsla' : 'hsl');\n }\n}\n"]}
1
+ {"version":3,"sources":["ColorFactory.ts"],"names":["RGB_REGEX","RGBA_REGEX","HSL_REGEX","HSLA_REGEX","HEX_REGEX","ColorFactory","create","input","cache","Object","freeze","instantiate","ColorObject","lowercasedTrimmedInput","toLowerCase","trim","isKeyword","fromKeyword","startsWith","parts","r","g","b","a","fromRGB","h","s","l","fromHSL","fromHex","prototype","hasOwnProperty","call","ColorKeywords","keyword","hexString","type","test","Error","colorCode","substring","rgb","length","match","forEach","c","i","parseInt","split","gray","Math","round","hDeg","t1","t2"],"mappings":"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","sourcesContent":["import warning from 'warning';\n\nimport { clamp, extractColorParts, hue2rgb, parseHSLParts, parseRGBParts } from './ColorHelpers';\nimport { ColorKeywords } from './ColorKeywords';\nimport { ColorKeywordsType, ColorObject, ColorType, RGBTuple } from './ColorObject';\n\ninterface ColorFactoryCacheType {\n [key: string]: ColorObject;\n}\n\nconst RGB_REGEX =\n /rgb\\(\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*\\)/;\nconst RGBA_REGEX =\n /rgba\\(\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*\\)/;\nconst HSL_REGEX =\n /hsl\\(\\s*(\\d{1,3})\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*\\)/;\nconst HSLA_REGEX =\n /hsla\\(\\s*(\\d{1,3})\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*\\)/;\nconst HEX_REGEX = /^#([0-9a-f]{3}|[0-9a-f]{6})$/;\n\nexport class ColorFactory {\n public static create(input: string) {\n if (!this.cache[input]) {\n this.cache[input] = Object.freeze(this.instantiate(input));\n }\n\n return this.cache[input];\n }\n\n private static cache: ColorFactoryCacheType = Object.create(null);\n\n private static instantiate(input: string) {\n if (typeof input !== 'string') {\n warning(false, `Invalid type of input (${typeof input}), expected a string. Returning transparent color`);\n return new ColorObject([0, 0, 0], 1.0, 'transparent');\n }\n const lowercasedTrimmedInput = input.toLowerCase().trim();\n\n if (lowercasedTrimmedInput === 'transparent') {\n return new ColorObject([0, 0, 0], 0, 'transparent');\n } else if (this.isKeyword(lowercasedTrimmedInput)) {\n return this.fromKeyword(lowercasedTrimmedInput);\n } else if (lowercasedTrimmedInput.startsWith('rgb')) {\n const parts = extractColorParts(lowercasedTrimmedInput, RGB_REGEX, RGBA_REGEX);\n let { r, g, b, a } = parseRGBParts(parts);\n\n r = clamp(r, 255);\n g = clamp(g, 255);\n b = clamp(b, 255);\n a = clamp(a, 1);\n\n return this.fromRGB(r, g, b, a);\n } else if (lowercasedTrimmedInput.startsWith('hsl')) {\n const parts = extractColorParts(lowercasedTrimmedInput, HSL_REGEX, HSLA_REGEX);\n let { h, s, l, a } = parseHSLParts(parts);\n\n h = clamp(h, 360);\n s = clamp(s, 1);\n l = clamp(l, 1);\n a = clamp(a, 1);\n\n return this.fromHSL(h, s, l, a);\n }\n\n return this.fromHex(lowercasedTrimmedInput);\n }\n\n private static isKeyword(input: string): input is ColorKeywordsType {\n return Object.prototype.hasOwnProperty.call(ColorKeywords, input);\n }\n\n private static fromKeyword(keyword: ColorKeywordsType) {\n return this.fromHex(ColorKeywords[keyword], keyword);\n }\n\n private static fromHex(hexString: string, type: ColorType = 'hex') {\n if (!HEX_REGEX.test(hexString)) {\n throw new Error(`${hexString} is not a valid hex color string`);\n }\n\n const colorCode = hexString.substring(1);\n const rgb: RGBTuple = [0, 0, 0];\n if (colorCode.length === 6) {\n colorCode.match(/.{2}/g)?.forEach((c, i) => {\n rgb[i] = parseInt(c, 16);\n });\n } else if (colorCode.length === 3) {\n colorCode.split('').forEach((c, i) => {\n rgb[i] = parseInt(c + c, 16);\n });\n }\n return new ColorObject(rgb, 1.0, type);\n }\n\n private static fromRGB(r: number, g: number, b: number, a = 1.0) {\n return new ColorObject([r, g, b], a, a < 1 ? 'rgba' : 'rgb');\n }\n\n private static fromHSL(h: number, s: number, l: number, a = 1.0) {\n if (s === 0) {\n const gray = Math.round(l * 255);\n return new ColorObject([gray, gray, gray], a, a < 1 ? 'hsla' : 'hsl');\n }\n\n const hDeg = h / 360;\n const t1 = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const t2 = l * 2 - t1;\n\n const r = hue2rgb(hDeg + 1 / 3, t1, t2);\n const g = hue2rgb(hDeg, t1, t2);\n const b = hue2rgb(hDeg - 1 / 3, t1, t2);\n\n const rgb: RGBTuple = [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];\n return new ColorObject(rgb, a, a < 1 ? 'hsla' : 'hsl');\n }\n}\n"]}