@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":["ConditionalHandler.ts"],"names":["isFunction","ConditionalHandler","actions","add","condition","handler","push","build","reference","args","found","forEach"],"mappings":"AAAA,SAASA,UAAT,QAA2B,SAA3B;;;;;;;;;;AAUA,WAAaC,kBAAb;AACmBC,IAAAA,OADnB,GACsD,EADtD;;AAGSC,EAAAA,GAHT,GAGE,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,KAVA;AAWSE,EAAAA,KAXT,GAWE,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,YAAIL,UAAU,CAACI,SAAD,CAAV,GAAwBA,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,GAvBH","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":["isFunction","ConditionalHandler","actions","add","condition","handler","push","build","reference","args","found","forEach"],"mappings":"AAAA,SAASA,UAAT,QAA2B,SAA3B;;;;;;;;;;AAUA,WAAaC,kBAAb;AACmBC,IAAAA,OADnB,GACsD,EADtD;;AAGSC,EAAAA,GAHT,GAGE,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,KAVA;AAWSE,EAAAA,KAXT,GAWE,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,YAAIL,UAAU,CAACI,SAAD,CAAV,GAAwBA,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,GAvBH","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"]}
@@ -20,7 +20,7 @@ export var ModalStack = /*#__PURE__*/function () {
20
20
  remove: function remove() {
21
21
  // Backwards compatible with versions 0.x and 1.w which using the fbemitter package
22
22
  if ('remove' in _token) {
23
- // @ts-ignore
23
+ // @ts-expect-error: `remove` is method of `ModalStack`.
24
24
  _token.remove();
25
25
 
26
26
  return;
@@ -99,7 +99,7 @@ export var ModalStack = /*#__PURE__*/function () {
99
99
  var isReactUIInstance = function isReactUIInstance(componentName) {
100
100
  return function (instance) {
101
101
  var constructor = instance.constructor;
102
- return Object.prototype.hasOwnProperty.call(constructor, '__KONTUR_REACT_UI__') && // @ts-ignore
102
+ return Object.prototype.hasOwnProperty.call(constructor, '__KONTUR_REACT_UI__') && // @ts-expect-error: React doesn't know about existence of __KONTUR_REACT_UI__.
103
103
  constructor.__KONTUR_REACT_UI__ === componentName;
104
104
  };
105
105
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["ModalStack.ts"],"names":["EventEmitter","ModalStack","add","component","onChange","getStackInfo","emitter","mounted","unshift","changeHandler","_token","addListener","emit","remove","removeListener","index","indexOf","splice","isBlocking","length","wantsToBlock","globalWithStack","global","__ReactUIStackInfo","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":["EventEmitter","ModalStack","add","component","onChange","getStackInfo","emitter","mounted","unshift","changeHandler","_token","addListener","emit","remove","removeListener","index","indexOf","splice","isBlocking","length","wantsToBlock","globalWithStack","global","__ReactUIStackInfo","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"]}
@@ -1,5 +1,5 @@
1
1
  import requestAnimationFrame, { cancel as cancelAnimationFrame } from 'raf';
2
- import { stepper } from "../stepper";
2
+ import { stepper } from "../stepper"; // eslint-disable-next-line @typescript-eslint/no-unused-vars
3
3
 
4
4
  var noop = function noop() {
5
5
  /* do nothing */
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["requestAnimationFrame","cancel","cancelAnimationFrame","stepper","noop","animation","animating","currentPosition","currentVelocity","rafId","target","deltaHandler","animationEndHandler","reset","inProgress","finish","animate","amount","onDelta","onEnd","animateInternal","nextPosition","nextVelocity","delta"],"mappings":"AAAA,OAAOA,qBAAP,IAAgCC,MAAM,IAAIC,oBAA1C,QAAsE,KAAtE;;AAEA,SAASC,OAAT,QAAwB,WAAxB;;AAEA,IAAMC,IAAI,GAAG,SAAPA,IAAO,GAAoB;AAC/B;AACD,CAFD;;AAIA,OAAO,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,WAASL,MAAT,GAAkB;AAChBC,IAAAA,oBAAoB,CAACO,KAAD,CAApB;AACAI,IAAAA,KAAK;AACN;;AAED,WAASE,MAAT,GAAkB;AAChBH,IAAAA,mBAAmB;AACnBX,IAAAA,MAAM;AACP;;AAED,WAASe,OAAT,CAAiBC,MAAjB,EAAiCC,OAAjC,EAAgEC,KAAhE,EAA0F,KAA1BA,KAA0B,cAA1BA,KAA0B,GAANf,IAAM;AACxFM,IAAAA,MAAM,IAAIO,MAAV;AACAN,IAAAA,YAAY,GAAGO,OAAf;AACAN,IAAAA,mBAAmB,GAAGO,KAAtB;;AAEA,QAAMC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5Bd,MAAAA,SAAS,GAAG,IAAZ;AACA,qBAAqCH,OAAO,CAACI,eAAD,EAAkBC,eAAlB,EAAmCE,MAAnC,CAA5C,CAAOW,YAAP,eAAqBC,YAArB;AACA,UAAMC,KAAK,GAAGF,YAAY,GAAGd,eAA7B;;AAEAI,MAAAA,YAAY,CAACY,KAAD,CAAZ;;AAEA,UAAIF,YAAY,KAAKX,MAAjB,IAA2BY,YAAY,KAAK,CAAhD,EAAmD;AACjDV,QAAAA,mBAAmB;AACnBC,QAAAA,KAAK;AACL;AACD;;AAEDN,MAAAA,eAAe,GAAGc,YAAlB;AACAb,MAAAA,eAAe,GAAGc,YAAlB;;AAEAb,MAAAA,KAAK,GAAGT,qBAAqB,CAACoB,eAAD,CAA7B;AACD,KAjBD;;AAmBA,QAAI,CAACN,UAAU,EAAf,EAAmB;AACjBM,MAAAA,eAAe;AAChB;AACF;;AAED,SAAO;AACLJ,IAAAA,OAAO,EAAPA,OADK;AAELF,IAAAA,UAAU,EAAVA,UAFK;AAGLb,IAAAA,MAAM,EAANA,MAHK;AAILc,IAAAA,MAAM,EAANA,MAJK,EAAP;;AAMD,CApEM","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":["requestAnimationFrame","cancel","cancelAnimationFrame","stepper","noop","animation","animating","currentPosition","currentVelocity","rafId","target","deltaHandler","animationEndHandler","reset","inProgress","finish","animate","amount","onDelta","onEnd","animateInternal","nextPosition","nextVelocity","delta"],"mappings":"AAAA,OAAOA,qBAAP,IAAgCC,MAAM,IAAIC,oBAA1C,QAAsE,KAAtE;;AAEA,SAASC,OAAT,QAAwB,WAAxB;;AAEA;AACA,IAAMC,IAAI,GAAG,SAAPA,IAAO,GAAoB;AAC/B;AACD,CAFD;;AAIA,OAAO,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,WAASL,MAAT,GAAkB;AAChBC,IAAAA,oBAAoB,CAACO,KAAD,CAApB;AACAI,IAAAA,KAAK;AACN;;AAED,WAASE,MAAT,GAAkB;AAChBH,IAAAA,mBAAmB;AACnBX,IAAAA,MAAM;AACP;;AAED,WAASe,OAAT,CAAiBC,MAAjB,EAAiCC,OAAjC,EAAgEC,KAAhE,EAA0F,KAA1BA,KAA0B,cAA1BA,KAA0B,GAANf,IAAM;AACxFM,IAAAA,MAAM,IAAIO,MAAV;AACAN,IAAAA,YAAY,GAAGO,OAAf;AACAN,IAAAA,mBAAmB,GAAGO,KAAtB;;AAEA,QAAMC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5Bd,MAAAA,SAAS,GAAG,IAAZ;AACA,qBAAqCH,OAAO,CAACI,eAAD,EAAkBC,eAAlB,EAAmCE,MAAnC,CAA5C,CAAOW,YAAP,eAAqBC,YAArB;AACA,UAAMC,KAAK,GAAGF,YAAY,GAAGd,eAA7B;;AAEAI,MAAAA,YAAY,CAACY,KAAD,CAAZ;;AAEA,UAAIF,YAAY,KAAKX,MAAjB,IAA2BY,YAAY,KAAK,CAAhD,EAAmD;AACjDV,QAAAA,mBAAmB;AACnBC,QAAAA,KAAK;AACL;AACD;;AAEDN,MAAAA,eAAe,GAAGc,YAAlB;AACAb,MAAAA,eAAe,GAAGc,YAAlB;;AAEAb,MAAAA,KAAK,GAAGT,qBAAqB,CAACoB,eAAD,CAA7B;AACD,KAjBD;;AAmBA,QAAI,CAACN,UAAU,EAAf,EAAmB;AACjBM,MAAAA,eAAe;AAChB;AACF;;AAED,SAAO;AACLJ,IAAAA,OAAO,EAAPA,OADK;AAELF,IAAAA,UAAU,EAAVA,UAFK;AAGLb,IAAAA,MAAM,EAANA,MAHK;AAILc,IAAAA,MAAM,EAANA,MAJK,EAAP;;AAMD,CApEM","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"]}
@@ -8,7 +8,7 @@ export var callChildRef = function callChildRef(componentRef, instance) {
8
8
  }
9
9
 
10
10
  if (Object.prototype.hasOwnProperty.call(componentRef, 'current')) {
11
- // @ts-ignore
11
+ // @ts-expect-error: will be fixed in #2807
12
12
  componentRef.current = instance;
13
13
  }
14
14
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["callChildRef.ts"],"names":["callChildRef","componentRef","instance","Object","prototype","hasOwnProperty","call","current"],"mappings":";;;;AAIA,OAAO,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","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":";;;;AAIA,OAAO,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","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,4 @@
1
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1
2
  export function createPropsGetter(defaultProps) {
2
3
  return function () {
3
4
  return this.props;
@@ -1 +1 @@
1
- {"version":3,"sources":["createPropsGetter.ts"],"names":["createPropsGetter","defaultProps","props"],"mappings":";;;;AAIA,OAAO,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;AACA,OAAO,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,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>;
@@ -5,8 +5,7 @@ export var InternalDateCalculator = /*#__PURE__*/function () {
5
5
 
6
6
  InternalDateCalculator.calcRangeStartDateComponent = function calcRangeStartDateComponent(type, _ref, _ref2) {
7
7
  var year = _ref.year,
8
- month = _ref.month,
9
- date = _ref.date;
8
+ month = _ref.month;
10
9
  var startYear = _ref2.year,
11
10
  startMonth = _ref2.month,
12
11
  startDate = _ref2.date;
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalDateCalculator.ts"],"names":["InternalDateGetter","InternalDateComponentType","InternalDateCalculator","calcRangeStartDateComponent","type","year","month","date","startYear","startMonth","startDate","Year","Month","getDefaultMin","calcRangeEndDateComponent","endYear","endMonth","endDate","getDefaultMax","calcShiftValueDateComponent","step","prevValue","start","end","isLoop","value","Number","Math","abs"],"mappings":"AAAA,SAASA,kBAAT,QAAmC,sBAAnC;AACA;;;;AAIEC,yBAJF;AAKO,SALP;;AAOA,WAAaC,sBAAb;AACgBC,EAAAA,2BADhB,GACE;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,KAAKH,yBAAyB,CAACU,IAAvC,EAA6C;AAC3C,aAAOH,SAAP;AACD,KAFD,MAEO,IAAIJ,IAAI,KAAKH,yBAAyB,CAACW,KAAvC,EAA8C;AACnD,aAAOP,IAAI,KAAKG,SAAT,GAAqBC,UAArB,GAAkCT,kBAAkB,CAACa,aAAnB,CAAiCT,IAAjC,CAAzC;AACD;AACD,WAAOC,IAAI,KAAKG,SAAT,IAAsBF,KAAK,KAAKG,UAAhC,GAA6CC,SAA7C,GAAyDV,kBAAkB,CAACa,aAAnB,CAAiCT,IAAjC,CAAhE;AACD,GAZH;;AAcgBU,EAAAA,yBAdhB,GAcE;AACEV,EAAAA,IADF;;;AAIyB,OAFrBC,IAEqB,SAFrBA,IAEqB,CAFfC,KAEe,SAFfA,KAEe,CAFRC,IAEQ,SAFRA,IAEQ,KADfQ,OACe,SADrBV,IACqB,CADCW,QACD,SADNV,KACM,CADiBW,OACjB,SADWV,IACX;AACvB,QAAIH,IAAI,KAAKH,yBAAyB,CAACU,IAAvC,EAA6C;AAC3C,aAAOI,OAAP;AACD,KAFD,MAEO,IAAIX,IAAI,KAAKH,yBAAyB,CAACW,KAAvC,EAA8C;AACnD,aAAOP,IAAI,KAAKU,OAAT,GAAmBC,QAAnB,GAA8BhB,kBAAkB,CAACkB,aAAnB,CAAiCd,IAAjC,CAArC;AACD;AACD,WAAOC,IAAI,KAAKU,OAAT,IAAoBT,KAAK,KAAKU,QAA9B;AACHC,IAAAA,OADG;AAEHjB,IAAAA,kBAAkB,CAACkB,aAAnB,CAAiCd,IAAjC,EAAuC,EAAEC,IAAI,EAAJA,IAAF,EAAQC,KAAK,EAALA,KAAR,EAAeC,IAAI,EAAJA,IAAf,EAAvC,CAFJ;AAGD,GA3BH;;AA6BgBY,EAAAA,2BA7BhB,GA6BE;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,GA1DH","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":["InternalDateGetter","InternalDateComponentType","InternalDateCalculator","calcRangeStartDateComponent","type","year","month","startYear","startMonth","startDate","date","Year","Month","getDefaultMin","calcRangeEndDateComponent","endYear","endMonth","endDate","getDefaultMax","calcShiftValueDateComponent","step","prevValue","start","end","isLoop","value","Number","Math","abs"],"mappings":"AAAA,SAASA,kBAAT,QAAmC,sBAAnC;AACA;;;;AAIEC,yBAJF;AAKO,SALP;;AAOA,WAAaC,sBAAb;AACgBC,EAAAA,2BADhB,GACE;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,KAAKH,yBAAyB,CAACU,IAAvC,EAA6C;AAC3C,aAAOJ,SAAP;AACD,KAFD,MAEO,IAAIH,IAAI,KAAKH,yBAAyB,CAACW,KAAvC,EAA8C;AACnD,aAAOP,IAAI,KAAKE,SAAT,GAAqBC,UAArB,GAAkCR,kBAAkB,CAACa,aAAnB,CAAiCT,IAAjC,CAAzC;AACD;AACD,WAAOC,IAAI,KAAKE,SAAT,IAAsBD,KAAK,KAAKE,UAAhC,GAA6CC,SAA7C,GAAyDT,kBAAkB,CAACa,aAAnB,CAAiCT,IAAjC,CAAhE;AACD,GAZH;;AAcgBU,EAAAA,yBAdhB,GAcE;AACEV,EAAAA,IADF;;;AAIyB,OAFrBC,IAEqB,SAFrBA,IAEqB,CAFfC,KAEe,SAFfA,KAEe,CAFRI,IAEQ,SAFRA,IAEQ,KADfK,OACe,SADrBV,IACqB,CADCW,QACD,SADNV,KACM,CADiBW,OACjB,SADWP,IACX;AACvB,QAAIN,IAAI,KAAKH,yBAAyB,CAACU,IAAvC,EAA6C;AAC3C,aAAOI,OAAP;AACD,KAFD,MAEO,IAAIX,IAAI,KAAKH,yBAAyB,CAACW,KAAvC,EAA8C;AACnD,aAAOP,IAAI,KAAKU,OAAT,GAAmBC,QAAnB,GAA8BhB,kBAAkB,CAACkB,aAAnB,CAAiCd,IAAjC,CAArC;AACD;AACD,WAAOC,IAAI,KAAKU,OAAT,IAAoBT,KAAK,KAAKU,QAA9B;AACHC,IAAAA,OADG;AAEHjB,IAAAA,kBAAkB,CAACkB,aAAnB,CAAiCd,IAAjC,EAAuC,EAAEC,IAAI,EAAJA,IAAF,EAAQC,KAAK,EAALA,KAAR,EAAeI,IAAI,EAAJA,IAAf,EAAvC,CAFJ;AAGD,GA3BH;;AA6BgBS,EAAAA,2BA7BhB,GA6BE;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,GA1DH","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"]}
@@ -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
  }
@@ -132,7 +132,11 @@ export var InternalDateValidator = /*#__PURE__*/function () {
132
132
  };
133
133
 
134
134
  InternalDateValidator.testParseToNumber = function testParseToNumber(value) {
135
- return value !== null && (typeof value === 'number' || !Number.isNaN(parseInt(value, 10)));
135
+ if (value !== null) {
136
+ return typeof value === 'number' || !Number.isNaN(parseInt(value, 10));
137
+ }
138
+
139
+ return false;
136
140
  };
137
141
 
138
142
  InternalDateValidator.isEqualDateValues = function isEqualDateValues(a, b) {
@@ -140,7 +144,9 @@ export var InternalDateValidator = /*#__PURE__*/function () {
140
144
  };
141
145
 
142
146
  InternalDateValidator.isEqualDateFormats = function isEqualDateFormats(a, b) {
143
- return a.getOrder() === b.getOrder() && a.getSeparator() === b.getSeparator();
147
+ var areOrdersEqual = a.getOrder() === b.getOrder();
148
+ var areSeparatorsEqual = a.getSeparator() === b.getSeparator();
149
+ return areOrdersEqual && areSeparatorsEqual;
144
150
  };
145
151
 
146
152
  return InternalDateValidator;
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalDateValidator.ts"],"names":["InternalDateGetter","InternalDateComponentType","calculateStartDate","startDate","Infinity","calculateEndDate","endDate","getValue","type","year","month","date","Year","Month","InternalDateValidator","checkForNull","undefined","All","checkLimits","value","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":["InternalDateGetter","InternalDateComponentType","calculateStartDate","startDate","Infinity","calculateEndDate","endDate","getValue","type","year","month","date","Year","Month","InternalDateValidator","checkForNull","undefined","All","checkLimits","value","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"]}
@@ -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
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["extractKeyboardAction.ts"],"names":["KeyboardActionExctracterBuilder","actionMatchers","_actionMatchers","add","type","check","concat","build","defaultAction","event","action","find","x"],"mappings":";;;;;;;;;AASA,WAAaA,+BAAb;;;AAGE,2CAAYC,cAAZ,EAAkE,KAAtDA,cAAsD,cAAtDA,cAAsD,GAAJ,EAAI;AAChE,SAAKC,eAAL,GAAuBD,cAAvB;AACD,GALH;;AAOSE,EAAAA,GAPT,GAOE,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,GATH;;AAWSE,EAAAA,KAXT,GAWE,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,GAhBH","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":";;;;;;;;;AASA,WAAaA,+BAAb;;;AAGE,2CAAYC,cAAZ,EAAkE,KAAtDA,cAAsD,cAAtDA,cAAsD,GAAJ,EAAI;AAChE,SAAKC,eAAL,GAAuBD,cAAvB;AACD,GALH;;AAOSE,EAAAA,GAPT,GAOE,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,GATH;;AAWSE,EAAAA,KAXT,GAWE,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,GAhBH","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"]}
@@ -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 {};
@@ -3,7 +3,6 @@ export function filterProps(props, allowed) {
3
3
 
4
4
  for (var key in props) {
5
5
  if (allowed[key]) {
6
- // @ts-ignore
7
6
  ret[key] = props[key];
8
7
  }
9
8
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["filterProps.ts"],"names":["filterProps","props","allowed","ret","key"],"mappings":";;;;;;AAMA,OAAO,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":";;;;;;AAMA,OAAO,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 +1 @@
1
- {"version":3,"sources":["useLocaleForControl.ts"],"names":["useContext","useMemo","LocaleContext","useLocaleForControl","controlName","localeHelper","locale","langCode","localeFromContext","Object","assign","get"],"mappings":"AAAA,SAASA,UAAT,EAAqBC,OAArB,QAAoC,OAApC;;;;AAIA,SAASC,aAAT,QAA8B,iBAA9B;;AAEA,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB;AACjCC,WADiC;AAEjCC,YAFiC;AAGN;AAC3B,oBAA6BL,UAAU,CAACE,aAAD,CAAvC,CAAQI,MAAR,eAAQA,MAAR,CAAgBC,QAAhB,eAAgBA,QAAhB;AACA,MAAMC,iBAAiB,GAAGF,MAAH,oBAAGA,MAAM,CAAGF,WAAH,CAAhC;AACA,SAAOH,OAAO,CAAC,oBAAMQ,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBL,YAAY,CAACM,GAAb,CAAiBJ,QAAjB,CAAlB,EAA8CC,iBAA9C,CAAN,EAAD,EAAyE,CAACD,QAAD,EAAWC,iBAAX,CAAzE,CAAd;AACD,CAPM","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":["useContext","useMemo","LocaleContext","useLocaleForControl","controlName","localeHelper","locale","langCode","localeFromContext","Object","assign","get"],"mappings":"AAAA,SAASA,UAAT,EAAqBC,OAArB,QAAoC,OAApC;;;;AAIA,SAASC,aAAT,QAA8B,iBAA9B;;AAEA,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB;AACjCC,WADiC;AAEjCC,YAFiC;AAGN;AAC3B,oBAA6BL,UAAU,CAACE,aAAD,CAAvC,CAAQI,MAAR,eAAQA,MAAR,CAAgBC,QAAhB,eAAgBA,QAAhB;AACA,MAAMC,iBAAiB,GAAGF,MAAH,oBAAGA,MAAM,CAAGF,WAAH,CAAhC;AACA,SAAOH,OAAO,CAAC,oBAAMQ,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBL,YAAY,CAACM,GAAb,CAAiBJ,QAAjB,CAAlB,EAA8CC,iBAA9C,CAAN,EAAD,EAAyE,CAACD,QAAD,EAAWC,iBAAX,CAAzE,CAAd;AACD,CAPM","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"]}
@@ -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;
package/lib/memo/memo.js CHANGED
@@ -8,8 +8,7 @@ export function memo(fn) {
8
8
  };
9
9
 
10
10
  var keysCount = 0;
11
- var limit = 1e4; // @ts-ignore
12
-
11
+ var limit = 1e4;
13
12
  return function () {
14
13
  try {
15
14
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
@@ -21,8 +20,7 @@ export function memo(fn) {
21
20
 
22
21
  if (fromCache) {
23
22
  return fromCache;
24
- } // @ts-ignore
25
-
23
+ }
26
24
 
27
25
  var result = fn.apply(void 0, args);
28
26
  cache[hash] = result;
@@ -1 +1 @@
1
- {"version":3,"sources":["memo.ts"],"names":["memo","fn","cache","getHash","args","reduce","acc","x","keysCount","limit","hash","fromCache","result"],"mappings":"AAAA,OAAO,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":";;AAEA,OAAO,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"]}
package/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 {};
@@ -29,9 +29,9 @@ export function fetch(uri, options) {
29
29
  }
30
30
 
31
31
  function createXHR() {
32
- // @ts-ignore
32
+ // @ts-expect-error: XDomainRequest is IE-specific API, therefore it was removed from `lib.d.ts`. See: https://github.com/Microsoft/TypeScript/issues/2927.
33
33
  if (global.XDomainRequest) {
34
- // @ts-ignore
34
+ // @ts-expect-error: Read the comment above.
35
35
  return new XDomainRequest();
36
36
  }
37
37
 
@@ -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":";;;;;;;;;;AAUA,OAAO,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":";;;;;;;;;;AAUA,OAAO,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"]}
@@ -10,7 +10,6 @@ export function reactGetTextContent(rootReactNode) {
10
10
  return getText(node);
11
11
  });
12
12
  } else if ( /*#__PURE__*/React.isValidElement(reactNode) && reactNode.props) {
13
- // @ts-ignore
14
13
  var children = reactNode.props.children;
15
14
  getText(children);
16
15
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["reactGetTextContent.ts"],"names":["React","reactGetTextContent","rootReactNode","result","getText","reactNode","toString","Array","isArray","forEach","node","isValidElement","props","children"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,OAAO,SAASC,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,cAAAV,KAAK,CAACW,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":["React","reactGetTextContent","rootReactNode","result","getText","reactNode","toString","Array","isArray","forEach","node","isValidElement","props","children"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,OAAO,SAASC,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,cAAAV,KAAK,CAACW,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"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["rootNodeDecorator.tsx"],"names":["EventEmitter","getRootNode","rootNode","Component","defaultRootNode","rootNodeEmitter","setRootNode","instance","emit","addRootNodeChangeListener","callback","addListener","remove","removeListener","nameDescriptor","Object","getOwnPropertyDescriptor","configurable","defineProperty","value","name","isInstanceWithRootNode","Boolean","prototype","hasOwnProperty","call"],"mappings":"uEAAA;;AAEA,OAAOA,YAAP,MAAyB,eAAzB;;;;AAIA,SAASC,WAAT,QAA4B,eAA5B;;;;;;;;;;;;;;;;;;;;;AAqBA,OAAO,SAASC,QAAT,CAAuDC,SAAvD,EAAqE;AAC1E,MAAMD,QAAQ;;;AAGZ,wBAAmC;AACjC,8FADiC,MAF5BA,QAE4B,GAFEC,SAAS,CAACC,eAEZ,OAD5BC,eAC4B,GADV,IAAIL,YAAJ,EACU;;;AAI5BM,MAAAA,WAJ4B,GAId,UAACC,QAAD,EAA6C;AAChE,YAAML,SAAQ,GAAGD,WAAW,CAACM,QAAD,CAA5B;AACA,YAAIL,SAAQ,KAAK,MAAKA,QAAtB,EAAgC;AAC9B,gBAAKA,QAAL,GAAgBA,SAAhB;AACA,gBAAKG,eAAL,CAAqBG,IAArB,CAA0B,QAA1B,EAAoCN,SAApC;AACD;AACF,OAVkC;;AAY5BD,MAAAA,WAZ4B,GAYd,YAAyB;AAC5C,eAAO,MAAKC,QAAZ;AACD,OAdkC;;AAgB5BO,MAAAA,yBAhB4B,GAgBA,UAACC,QAAD,EAAwE;AACzG,cAAKL,eAAL,CAAqBM,WAArB,CAAiC,QAAjC,EAA2CD,QAA3C;AACA,eAAO;AACLE,UAAAA,MAAM,EAAE,kBAAM;AACZ,kBAAKP,eAAL,CAAqBQ,cAArB,CAAoC,QAApC,EAA8CH,QAA9C;AACD,WAHI,EAAP;;AAKD,OAvBkC,cAElC,CALW,kBAAiBP,SAAjB,CAAd;;;AA6BA,MAAMW,cAAc,GAAGC,MAAM,CAACC,wBAAP,CAAgCd,QAAhC,EAA0C,MAA1C,CAAvB;AACA,MAAI,CAACY,cAAD,IAAmBA,cAAc,CAACG,YAAtC,EAAoD;AAClDF,IAAAA,MAAM,CAACG,cAAP,CAAsBhB,QAAtB,EAAgC,MAAhC,EAAwC,EAAEiB,KAAK,EAAEhB,SAAS,CAACiB,IAAnB,EAAxC;AACD;;AAED,SAAOlB,QAAP;AACD;;AAED,OAAO,IAAMmB,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACd,QAAD,EAAyD;AAC7F,SAAOe,OAAO,CAACf,QAAD,CAAP,IAAqBQ,MAAM,CAACQ,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqClB,QAArC,EAA+C,aAA/C,CAA5B;AACD,CAFM","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":["EventEmitter","getRootNode","rootNode","Component","defaultRootNode","rootNodeEmitter","setRootNode","instance","emit","addRootNodeChangeListener","callback","addListener","remove","removeListener","nameDescriptor","Object","getOwnPropertyDescriptor","configurable","defineProperty","value","name","isInstanceWithRootNode","Boolean","prototype","hasOwnProperty","call"],"mappings":"uEAAA;;AAEA,OAAOA,YAAP,MAAyB,eAAzB;;;;AAIA,SAASC,WAAT,QAA4B,eAA5B;;;;;;;;;;;;;;;;;;;;;AAqBA,OAAO,SAASC,QAAT,CAAuDC,SAAvD,EAAqE;AAC1E,MAAMD,QAAQ;;;AAGZ,wBAAmC;AACjC,8FADiC,MAF5BA,QAE4B,GAFEC,SAAS,CAACC,eAEZ,OAD5BC,eAC4B,GADV,IAAIL,YAAJ,EACU;;;AAI5BM,MAAAA,WAJ4B,GAId,UAACC,QAAD,EAA6C;AAChE,YAAML,SAAQ,GAAGD,WAAW,CAACM,QAAD,CAA5B;AACA,YAAIL,SAAQ,KAAK,MAAKA,QAAtB,EAAgC;AAC9B,gBAAKA,QAAL,GAAgBA,SAAhB;AACA,gBAAKG,eAAL,CAAqBG,IAArB,CAA0B,QAA1B,EAAoCN,SAApC;AACD;AACF,OAVkC;;AAY5BD,MAAAA,WAZ4B,GAYd,YAAyB;AAC5C,eAAO,MAAKC,QAAZ;AACD,OAdkC;;AAgB5BO,MAAAA,yBAhB4B,GAgBA,UAACC,QAAD,EAAwE;AACzG,cAAKL,eAAL,CAAqBM,WAArB,CAAiC,QAAjC,EAA2CD,QAA3C;AACA,eAAO;AACLE,UAAAA,MAAM,EAAE,kBAAM;AACZ,kBAAKP,eAAL,CAAqBQ,cAArB,CAAoC,QAApC,EAA8CH,QAA9C;AACD,WAHI,EAAP;;AAKD,OAvBkC,cAElC,CALW,kBAAiBP,SAAjB,CAAd;;;AA6BA,MAAMW,cAAc,GAAGC,MAAM,CAACC,wBAAP,CAAgCd,QAAhC,EAA0C,MAA1C,CAAvB;AACA,MAAI,CAACY,cAAD,IAAmBA,cAAc,CAACG,YAAtC,EAAoD;AAClDF,IAAAA,MAAM,CAACG,cAAP,CAAsBhB,QAAtB,EAAgC,MAAhC,EAAwC,EAAEiB,KAAK,EAAEhB,SAAS,CAACiB,IAAnB,EAAxC;AACD;;AAED,SAAOlB,QAAP;AACD;;AAED,OAAO,IAAMmB,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACd,QAAD,EAAyD;AAC7F,SAAOe,OAAO,CAACf,QAAD,CAAP,IAAqBQ,MAAM,CAACQ,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqClB,QAArC,EAA+C,aAA/C,CAA5B;AACD,CAFM","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"]}
@@ -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;
@@ -84,7 +84,9 @@ export var ColorFactory = /*#__PURE__*/function () {
84
84
  var rgb = [0, 0, 0];
85
85
 
86
86
  if (colorCode.length === 6) {
87
- colorCode.match(/.{2}/g).forEach(function (c, i) {
87
+ var _colorCode$match;
88
+
89
+ (_colorCode$match = colorCode.match(/.{2}/g)) == null ? void 0 : _colorCode$match.forEach(function (c, i) {
88
90
  rgb[i] = parseInt(c, 16);
89
91
  });
90
92
  } else if (colorCode.length === 3) {
@@ -1 +1 @@
1
- {"version":3,"sources":["ColorFactory.ts"],"names":["warning","clamp","extractColorParts","hue2rgb","parseHSLParts","parseRGBParts","ColorKeywords","ColorObject","RGB_REGEX","RGBA_REGEX","HSL_REGEX","HSLA_REGEX","HEX_REGEX","ColorFactory","create","input","cache","Object","freeze","instantiate","lowercasedTrimmedInput","toLowerCase","trim","isKeyword","fromKeyword","startsWith","parts","r","g","b","a","fromRGB","h","s","l","fromHSL","fromHex","prototype","hasOwnProperty","call","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":["warning","clamp","extractColorParts","hue2rgb","parseHSLParts","parseRGBParts","ColorKeywords","ColorObject","RGB_REGEX","RGBA_REGEX","HSL_REGEX","HSLA_REGEX","HEX_REGEX","ColorFactory","create","input","cache","Object","freeze","instantiate","lowercasedTrimmedInput","toLowerCase","trim","isKeyword","fromKeyword","startsWith","parts","r","g","b","a","fromRGB","h","s","l","fromHSL","fromHex","prototype","hasOwnProperty","call","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 +1 @@
1
- {"version":3,"sources":["ColorFunctions.ts"],"names":["clamp","floatFromPercent","ColorFactory","DEFAULT_DARK","create","DEFAULT_LIGHT","ColorFunctionsCache","Object","buildCacheKey","name","args","join","shiftColor","colorString","a","sign","method","toLowerCase","amount","endsWith","parseFloat","color","hsl","toHSL","l","newColor","alpha","h","s","toColorString","type","lighten","key","undefined","darken","contrast","darkString","lightString","threshold","dark","light","luma","toRGBString","toHEXString","red","rgb","green","blue","isValid","e","fade","clone"],"mappings":"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","sourcesContent":["import { clamp, floatFromPercent } from './ColorHelpers';\nimport { ColorFactory } from './ColorFactory';\nimport { ColorObject } from './ColorObject';\n\ntype SignType = '+' | '-';\ntype MethodType = 'absolute' | 'relative';\n\nconst DEFAULT_DARK = ColorFactory.create('#333333');\nconst DEFAULT_LIGHT = ColorFactory.create('#fff');\nconst ColorFunctionsCache: { [key: string]: string } = Object.create(null);\n\nconst buildCacheKey = (name: string, ...args: any[]) => `${name}(${args.join()})`;\n\nconst shiftColor = (colorString: string, a: number | string, sign: SignType, method?: MethodType) => {\n if (!colorString) {\n return '';\n }\n\n if (colorString.toLowerCase() === 'transparent') {\n return 'transparent';\n }\n\n let amount: number;\n if (typeof a === 'string') {\n amount = a.endsWith('%') ? floatFromPercent(a) : parseFloat(a);\n } else {\n amount = a;\n }\n amount = clamp(amount, 1);\n\n const color = ColorFactory.create(colorString);\n const hsl = color.toHSL();\n\n if (sign === '+') {\n hsl.l += method === 'relative' ? hsl.l * amount : amount;\n } else {\n hsl.l -= method === 'relative' ? hsl.l * amount : amount;\n }\n\n hsl.l = clamp(hsl.l);\n\n let newColor: ColorObject;\n if (color.alpha < 1) {\n newColor = ColorFactory.create(`hsla(${hsl.h}, ${hsl.s}, ${hsl.l}, ${hsl.a})`);\n } else {\n newColor = ColorFactory.create(`hsl(${hsl.h}, ${hsl.s}, ${hsl.l})`);\n }\n return newColor.toColorString(color.type);\n};\n\nexport function lighten(colorString: string, amount: number | string, method?: MethodType) {\n const key = buildCacheKey('lighten', colorString, amount, method);\n if (ColorFunctionsCache[key] === undefined) {\n ColorFunctionsCache[key] = shiftColor(colorString, amount, '+', method);\n return ColorFunctionsCache[key];\n }\n return ColorFunctionsCache[key];\n}\nexport function darken(colorString: string, amount: number | string, method?: MethodType) {\n const key = buildCacheKey('darken', colorString, amount, method);\n if (ColorFunctionsCache[key] === undefined) {\n ColorFunctionsCache[key] = shiftColor(colorString, amount, '-', method);\n return ColorFunctionsCache[key];\n }\n\n return ColorFunctionsCache[key];\n}\nexport function contrast(colorString: string, darkString?: string, lightString?: string, threshold = 0.43) {\n const key = buildCacheKey('contrast', colorString, darkString, lightString, threshold);\n if (!colorString) {\n ColorFunctionsCache[key] = '';\n }\n if (ColorFunctionsCache[key] === undefined) {\n const color = ColorFactory.create(colorString);\n let dark = typeof darkString === 'undefined' ? DEFAULT_DARK : ColorFactory.create(darkString);\n let light = typeof lightString === 'undefined' ? DEFAULT_LIGHT : ColorFactory.create(lightString);\n\n // Figure out which is actually light and dark:\n if (dark.luma() > light.luma()) {\n [dark, light] = [light, dark];\n }\n\n if (color.luma() < threshold) {\n ColorFunctionsCache[key] = light.alpha < 1 ? light.toRGBString() : light.toHEXString();\n } else {\n ColorFunctionsCache[key] = dark.alpha < 1 ? dark.toRGBString() : dark.toHEXString();\n }\n }\n return ColorFunctionsCache[key]!;\n}\n\nexport const red = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.rgb[0];\n};\nexport const green = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.rgb[1];\n};\nexport const blue = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.rgb[2];\n};\nexport const alpha = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.alpha;\n};\nexport const isValid = (colorString: string) => {\n try {\n ColorFactory.create(colorString);\n return true;\n } catch (e) {\n return false;\n }\n};\nexport const fade = (colorString: string, alpha: number) => {\n const key = buildCacheKey('fade', colorString, alpha);\n\n if (ColorFunctionsCache[key] === undefined) {\n const color = ColorFactory.create(colorString).clone();\n color.alpha = alpha;\n ColorFunctionsCache[key] = color.toColorString(color.type === 'hex' ? 'rgba' : color.type);\n }\n return ColorFunctionsCache[key];\n};\n"]}
1
+ {"version":3,"sources":["ColorFunctions.ts"],"names":["clamp","floatFromPercent","ColorFactory","DEFAULT_DARK","create","DEFAULT_LIGHT","ColorFunctionsCache","Object","buildCacheKey","name","args","join","shiftColor","colorString","a","sign","method","toLowerCase","amount","endsWith","parseFloat","color","hsl","toHSL","l","newColor","alpha","h","s","toColorString","type","lighten","key","undefined","darken","contrast","darkString","lightString","threshold","dark","light","luma","toRGBString","toHEXString","red","rgb","green","blue","isValid","e","fade","clone"],"mappings":"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","sourcesContent":["import { clamp, floatFromPercent } from './ColorHelpers';\nimport { ColorFactory } from './ColorFactory';\nimport { ColorObject } from './ColorObject';\n\ntype SignType = '+' | '-';\ntype MethodType = 'absolute' | 'relative';\n\nconst DEFAULT_DARK = ColorFactory.create('#333333');\nconst DEFAULT_LIGHT = ColorFactory.create('#fff');\nconst ColorFunctionsCache: { [key: string]: string } = Object.create(null);\n\nconst buildCacheKey = (name: string, ...args: any[]) => `${name}(${args.join()})`;\n\nconst shiftColor = (colorString: string, a: number | string, sign: SignType, method?: MethodType) => {\n if (!colorString) {\n return '';\n }\n\n if (colorString.toLowerCase() === 'transparent') {\n return 'transparent';\n }\n\n let amount: number;\n if (typeof a === 'string') {\n amount = a.endsWith('%') ? floatFromPercent(a) : parseFloat(a);\n } else {\n amount = a;\n }\n amount = clamp(amount, 1);\n\n const color = ColorFactory.create(colorString);\n const hsl = color.toHSL();\n\n if (sign === '+') {\n hsl.l += method === 'relative' ? hsl.l * amount : amount;\n } else {\n hsl.l -= method === 'relative' ? hsl.l * amount : amount;\n }\n\n hsl.l = clamp(hsl.l);\n\n let newColor: ColorObject;\n if (color.alpha < 1) {\n newColor = ColorFactory.create(`hsla(${hsl.h}, ${hsl.s}, ${hsl.l}, ${hsl.a})`);\n } else {\n newColor = ColorFactory.create(`hsl(${hsl.h}, ${hsl.s}, ${hsl.l})`);\n }\n return newColor.toColorString(color.type);\n};\n\nexport function lighten(colorString: string, amount: number | string, method?: MethodType) {\n const key = buildCacheKey('lighten', colorString, amount, method);\n if (ColorFunctionsCache[key] === undefined) {\n ColorFunctionsCache[key] = shiftColor(colorString, amount, '+', method);\n return ColorFunctionsCache[key];\n }\n return ColorFunctionsCache[key];\n}\nexport function darken(colorString: string, amount: number | string, method?: MethodType) {\n const key = buildCacheKey('darken', colorString, amount, method);\n if (ColorFunctionsCache[key] === undefined) {\n ColorFunctionsCache[key] = shiftColor(colorString, amount, '-', method);\n return ColorFunctionsCache[key];\n }\n\n return ColorFunctionsCache[key];\n}\nexport function contrast(colorString: string, darkString?: string, lightString?: string, threshold = 0.43) {\n const key = buildCacheKey('contrast', colorString, darkString, lightString, threshold);\n if (!colorString) {\n ColorFunctionsCache[key] = '';\n }\n if (ColorFunctionsCache[key] === undefined) {\n const color = ColorFactory.create(colorString);\n let dark = typeof darkString === 'undefined' ? DEFAULT_DARK : ColorFactory.create(darkString);\n let light = typeof lightString === 'undefined' ? DEFAULT_LIGHT : ColorFactory.create(lightString);\n\n // Figure out which is actually light and dark:\n if (dark.luma() > light.luma()) {\n [dark, light] = [light, dark];\n }\n\n if (color.luma() < threshold) {\n ColorFunctionsCache[key] = light.alpha < 1 ? light.toRGBString() : light.toHEXString();\n } else {\n ColorFunctionsCache[key] = dark.alpha < 1 ? dark.toRGBString() : dark.toHEXString();\n }\n }\n return ColorFunctionsCache[key];\n}\n\nexport const red = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.rgb[0];\n};\nexport const green = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.rgb[1];\n};\nexport const blue = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.rgb[2];\n};\nexport const alpha = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.alpha;\n};\nexport const isValid = (colorString: string) => {\n try {\n ColorFactory.create(colorString);\n return true;\n } catch (e) {\n return false;\n }\n};\nexport const fade = (colorString: string, alpha: number) => {\n const key = buildCacheKey('fade', colorString, alpha);\n\n if (ColorFunctionsCache[key] === undefined) {\n const color = ColorFactory.create(colorString).clone();\n color.alpha = alpha;\n ColorFunctionsCache[key] = color.toColorString(color.type === 'hex' ? 'rgba' : color.type);\n }\n return ColorFunctionsCache[key];\n};\n"]}