@skbkontur/react-ui 4.0.5 → 4.1.1

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 (670) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +1 -1
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +0 -1
  4. package/cjs/components/Autocomplete/Autocomplete.js +9 -12
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.d.ts +1 -5
  7. package/cjs/components/Button/Button.js +4 -12
  8. package/cjs/components/Button/Button.js.map +1 -1
  9. package/cjs/components/Button/Button.styles.js +1 -1
  10. package/cjs/components/Button/Button.styles.js.map +1 -1
  11. package/cjs/components/Checkbox/Checkbox.styles.js +4 -7
  12. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  13. package/cjs/components/CurrencyInput/CurrencyHelper.js +18 -12
  14. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  15. package/cjs/components/CurrencyInput/CurrencyInput.js +15 -7
  16. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  17. package/cjs/components/CurrencyInput/CurrencyInputHelper.js +7 -5
  18. package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  19. package/cjs/components/CurrencyInput/CursorHelper.js +19 -16
  20. package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
  21. package/cjs/components/DateInput/helpers/InternalDateMediator.js +8 -2
  22. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  23. package/cjs/components/DatePicker/DatePicker.d.ts +1 -1
  24. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  25. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -4
  26. package/cjs/components/DropdownMenu/DropdownMenu.js +2 -16
  27. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  28. package/cjs/components/FileUploader/FileUploader.js +8 -5
  29. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  30. package/cjs/components/FileUploader/FileUploader.styles.d.ts +3 -2
  31. package/cjs/components/FileUploader/FileUploader.styles.js +21 -15
  32. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  33. package/cjs/components/Gapped/Gapped.js +2 -2
  34. package/cjs/components/Gapped/Gapped.js.map +1 -1
  35. package/cjs/components/GlobalLoader/GlobalLoader.js +3 -5
  36. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  37. package/cjs/components/Group/Group.js +74 -31
  38. package/cjs/components/Group/Group.js.map +1 -1
  39. package/cjs/components/Hint/Hint.d.ts +5 -1
  40. package/cjs/components/Hint/Hint.js +9 -1
  41. package/cjs/components/Hint/Hint.js.map +1 -1
  42. package/cjs/components/Input/Input.d.ts +1 -5
  43. package/cjs/components/Input/Input.js +14 -21
  44. package/cjs/components/Input/Input.js.map +1 -1
  45. package/cjs/components/Kebab/Kebab.d.ts +2 -13
  46. package/cjs/components/Kebab/Kebab.js +5 -29
  47. package/cjs/components/Kebab/Kebab.js.map +1 -1
  48. package/cjs/components/Loader/Loader.js +7 -7
  49. package/cjs/components/Loader/Loader.js.map +1 -1
  50. package/cjs/components/MenuItem/MenuItem.styles.js +3 -2
  51. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  52. package/cjs/components/Modal/Modal.js +2 -1
  53. package/cjs/components/Modal/Modal.js.map +1 -1
  54. package/cjs/components/Modal/Modal.styles.js +10 -6
  55. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  56. package/cjs/components/Modal/ModalFooter.js +1 -1
  57. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  58. package/cjs/components/Modal/ModalHeader.js +1 -1
  59. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  60. package/cjs/components/Paging/Paging.d.ts +13 -3
  61. package/cjs/components/Paging/Paging.js +15 -4
  62. package/cjs/components/Paging/Paging.js.map +1 -1
  63. package/cjs/components/Paging/PagingDefaultComponent.d.ts +9 -0
  64. package/cjs/components/Paging/PagingDefaultComponent.js +21 -0
  65. package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -0
  66. package/cjs/components/PasswordInput/PasswordInput.d.ts +2 -0
  67. package/cjs/components/PasswordInput/PasswordInput.js +24 -5
  68. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  69. package/cjs/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
  70. package/cjs/components/PasswordInput/PasswordInputIcon.js +11 -0
  71. package/cjs/components/PasswordInput/PasswordInputIcon.js.map +1 -0
  72. package/cjs/components/Radio/Radio.styles.js +4 -7
  73. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  74. package/cjs/components/RadioGroup/RadioGroup.d.ts +1 -1
  75. package/cjs/components/RadioGroup/RadioGroup.js +1 -1
  76. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  77. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +7 -2
  78. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  79. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +1 -1
  80. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +3 -4
  81. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  82. package/cjs/components/ScrollContainer/ScrollContainer.js +3 -2
  83. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  84. package/cjs/components/Select/Select.d.ts +7 -5
  85. package/cjs/components/Select/Select.js +41 -13
  86. package/cjs/components/Select/Select.js.map +1 -1
  87. package/cjs/components/SidePage/SidePage.d.ts +0 -1
  88. package/cjs/components/SidePage/SidePage.js +2 -15
  89. package/cjs/components/SidePage/SidePage.js.map +1 -1
  90. package/cjs/components/SidePage/SidePageFooter.js +4 -3
  91. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  92. package/cjs/components/SidePage/SidePageHeader.js +3 -2
  93. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  94. package/cjs/components/Spinner/Spinner.d.ts +0 -1
  95. package/cjs/components/Spinner/Spinner.js +1 -5
  96. package/cjs/components/Spinner/Spinner.js.map +1 -1
  97. package/cjs/components/Spinner/SpinnerFallbackAnimation.js +16 -5
  98. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  99. package/cjs/components/Sticky/Sticky.js +4 -3
  100. package/cjs/components/Sticky/Sticky.js.map +1 -1
  101. package/cjs/components/Switcher/Switcher.d.ts +2 -1
  102. package/cjs/components/Switcher/Switcher.js +1 -0
  103. package/cjs/components/Switcher/Switcher.js.map +1 -1
  104. package/cjs/components/Switcher/Switcher.styles.js +2 -2
  105. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  106. package/cjs/components/Tabs/Indicator.js +2 -1
  107. package/cjs/components/Tabs/Indicator.js.map +1 -1
  108. package/cjs/components/Tabs/Tabs.d.ts +3 -1
  109. package/cjs/components/Tabs/Tabs.js +8 -4
  110. package/cjs/components/Tabs/Tabs.js.map +1 -1
  111. package/cjs/components/Textarea/Textarea.d.ts +2 -2
  112. package/cjs/components/Textarea/Textarea.js +6 -6
  113. package/cjs/components/Textarea/Textarea.js.map +1 -1
  114. package/cjs/components/Textarea/TextareaCounter.d.ts +1 -2
  115. package/cjs/components/Textarea/TextareaCounter.js +15 -6
  116. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  117. package/cjs/components/Toast/ToastView.js +1 -1
  118. package/cjs/components/Toast/ToastView.js.map +1 -1
  119. package/cjs/components/Toast/ToastView.styles.d.ts +1 -1
  120. package/cjs/components/Toast/ToastView.styles.js +3 -2
  121. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  122. package/cjs/components/Toggle/Toggle.d.ts +1 -1
  123. package/cjs/components/Toggle/Toggle.js.map +1 -1
  124. package/cjs/components/Toggle/Toggle.styles.js +12 -10
  125. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  126. package/cjs/components/Token/Token.js +14 -2
  127. package/cjs/components/Token/Token.js.map +1 -1
  128. package/cjs/components/Token/Token.styles.js +13 -6
  129. package/cjs/components/Token/Token.styles.js.map +1 -1
  130. package/cjs/components/TokenInput/TextWidthHelper.js +2 -1
  131. package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
  132. package/cjs/components/TokenInput/TokenInput.js +13 -10
  133. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  134. package/cjs/components/TokenInput/TokenInput.styles.js +3 -2
  135. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  136. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  137. package/cjs/components/Tooltip/Tooltip.d.ts +4 -2
  138. package/cjs/components/Tooltip/Tooltip.js +14 -8
  139. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  140. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +1 -1
  141. package/cjs/components/TooltipMenu/TooltipMenu.js +2 -0
  142. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  143. package/cjs/hooks/useDrop.js +3 -1
  144. package/cjs/hooks/useDrop.js.map +1 -1
  145. package/cjs/index.d.ts +2 -0
  146. package/cjs/index.js +2 -0
  147. package/cjs/index.js.map +1 -1
  148. package/cjs/internal/BGRuler.js +3 -1
  149. package/cjs/internal/BGRuler.js.map +1 -1
  150. package/cjs/internal/Calendar/Calendar.js +3 -3
  151. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  152. package/cjs/internal/Calendar/CalendarDateShape.d.ts +1 -1
  153. package/cjs/internal/Calendar/MonthViewModel.js +36 -17
  154. package/cjs/internal/Calendar/MonthViewModel.js.map +1 -1
  155. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +1 -0
  156. package/cjs/internal/CommonWrapper/CommonWrapper.js +18 -4
  157. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  158. package/cjs/internal/ComponentTable.d.ts +4 -2
  159. package/cjs/internal/ComponentTable.js +1 -0
  160. package/cjs/internal/ComponentTable.js.map +1 -1
  161. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +6 -1
  162. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  163. package/cjs/internal/CustomComboBox/CustomComboBox.js +3 -2
  164. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  165. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +16 -16
  166. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +35 -35
  167. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  168. package/cjs/internal/DateSelect/DateSelect.js +24 -12
  169. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  170. package/cjs/internal/DropdownContainer/DropdownContainer.js +5 -10
  171. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  172. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +3 -1
  173. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
  174. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +3 -2
  175. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  176. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +14 -10
  177. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -1
  178. package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -1
  179. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  180. package/cjs/internal/InternalMenu/InternalMenu.js +7 -9
  181. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  182. package/cjs/internal/InternalMenu/InternalMenu.styles.js +2 -2
  183. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  184. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -0
  185. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js +16 -0
  186. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js.map +1 -0
  187. package/cjs/internal/MaskedInput/MaskedInput.js +7 -2
  188. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  189. package/cjs/internal/Menu/Menu.js +12 -13
  190. package/cjs/internal/Menu/Menu.js.map +1 -1
  191. package/cjs/internal/Menu/Menu.styles.js +5 -3
  192. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  193. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  194. package/cjs/internal/Popup/Popup.d.ts +2 -2
  195. package/cjs/internal/Popup/Popup.js +20 -18
  196. package/cjs/internal/Popup/Popup.js.map +1 -1
  197. package/cjs/internal/Popup/PopupHelper.js +4 -2
  198. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  199. package/cjs/internal/PopupMenu/PopupMenu.d.ts +4 -0
  200. package/cjs/internal/PopupMenu/PopupMenu.js +13 -0
  201. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  202. package/cjs/internal/PopupMenu/validatePositions.js +6 -6
  203. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  204. package/cjs/internal/RenderContainer/RenderContainer.js +9 -0
  205. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  206. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +2 -0
  207. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
  208. package/cjs/internal/RenderContainer/RenderInnerContainer.js +9 -1
  209. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  210. package/cjs/internal/RenderLayer/RenderLayer.js +4 -1
  211. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  212. package/cjs/internal/TextWidthHelper/TextWidthHelper.js +3 -1
  213. package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
  214. package/cjs/internal/ThemePlayground/CheckboxPlayground.js +1 -0
  215. package/cjs/internal/ThemePlayground/CheckboxPlayground.js.map +1 -1
  216. package/cjs/internal/ThemePlayground/Playground.js +11 -19
  217. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  218. package/cjs/internal/ThemePlayground/RadioPlayground.js.map +1 -1
  219. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +4 -0
  220. package/cjs/internal/ThemePlayground/SizesGroup.js +20 -0
  221. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -0
  222. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -0
  223. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +14 -2
  224. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  225. package/cjs/internal/ThemePlayground/ThemeEditor.js +8 -1
  226. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  227. package/cjs/internal/ThemePlayground/VariableValue.js +18 -6
  228. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  229. package/cjs/internal/ThemePlayground/constants.d.ts +3 -1
  230. package/cjs/internal/ThemePlayground/constants.js +3 -1
  231. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  232. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +4 -7
  233. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  234. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  235. package/cjs/internal/ThemeShowcase/VariablesCollector.js +5 -6
  236. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  237. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +2 -1
  238. package/cjs/internal/ZIndex/ZIndexStorage.js +13 -6
  239. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  240. package/cjs/internal/icons/16px/index.d.ts +19 -19
  241. package/cjs/internal/icons/16px/index.js +45 -38
  242. package/cjs/internal/icons/16px/index.js.map +1 -1
  243. package/cjs/internal/icons/20px/svg.js +6 -0
  244. package/cjs/internal/icons/20px/svg.js.map +1 -1
  245. package/cjs/internal/themes/DefaultTheme.d.ts +21 -1
  246. package/cjs/internal/themes/DefaultTheme.js +43 -5
  247. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  248. package/cjs/internal/themes/NotFlat.d.ts +6 -0
  249. package/cjs/internal/themes/NotFlat.js +12 -2
  250. package/cjs/internal/themes/NotFlat.js.map +1 -1
  251. package/cjs/internal/themes/Theme2022.d.ts +66 -0
  252. package/cjs/internal/themes/Theme2022.js +100 -0
  253. package/cjs/internal/themes/Theme2022.js.map +1 -0
  254. package/cjs/internal/themes/Theme2022Dark.d.ts +5 -0
  255. package/cjs/internal/themes/Theme2022Dark.js +9 -0
  256. package/cjs/internal/themes/Theme2022Dark.js.map +1 -0
  257. package/cjs/lib/ConditionalHandler.d.ts +3 -2
  258. package/cjs/lib/ConditionalHandler.js +5 -3
  259. package/cjs/lib/ConditionalHandler.js.map +1 -1
  260. package/cjs/lib/InstanceWithAnchorElement.d.ts +5 -0
  261. package/cjs/lib/InstanceWithAnchorElement.js +9 -0
  262. package/cjs/lib/InstanceWithAnchorElement.js.map +1 -0
  263. package/cjs/lib/ModalStack.d.ts +1 -1
  264. package/cjs/lib/ModalStack.js.map +1 -1
  265. package/cjs/lib/SSRSafe.d.ts +1 -0
  266. package/cjs/lib/SSRSafe.js +9 -1
  267. package/cjs/lib/SSRSafe.js.map +1 -1
  268. package/cjs/lib/animation/index.d.ts +1 -1
  269. package/cjs/lib/animation/index.js +3 -3
  270. package/cjs/lib/animation/index.js.map +1 -1
  271. package/cjs/lib/date/InternalDate.js +23 -9
  272. package/cjs/lib/date/InternalDate.js.map +1 -1
  273. package/cjs/lib/date/InternalDateCalculator.js +16 -2
  274. package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
  275. package/cjs/lib/date/InternalDateGetter.js +23 -6
  276. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  277. package/cjs/lib/date/InternalDateTransformer.js +11 -2
  278. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  279. package/cjs/lib/date/InternalDateValidator.js +31 -6
  280. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  281. package/cjs/lib/dom/getDOMRect.d.ts +5 -2
  282. package/cjs/lib/dom/getDOMRect.js +30 -18
  283. package/cjs/lib/dom/getDOMRect.js.map +1 -1
  284. package/cjs/lib/events/keyboard/KeyboardMapKeys.d.ts +2 -1
  285. package/cjs/lib/events/keyboard/KeyboardMapKeys.js +1 -0
  286. package/cjs/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  287. package/cjs/lib/events/keyboard/extractCode.js +7 -5
  288. package/cjs/lib/events/keyboard/extractCode.js.map +1 -1
  289. package/cjs/lib/needsPolyfillPlaceholder.d.ts +6 -0
  290. package/cjs/lib/needsPolyfillPlaceholder.js +19 -0
  291. package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -0
  292. package/cjs/lib/rootNode/getRootNode.d.ts +9 -0
  293. package/cjs/lib/rootNode/getRootNode.js +44 -12
  294. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  295. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +20 -1
  296. package/cjs/lib/rootNode/rootNodeDecorator.js +42 -5
  297. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  298. package/cjs/lib/stringUtils.js +3 -1
  299. package/cjs/lib/stringUtils.js.map +1 -1
  300. package/cjs/lib/styles/ColorFactory.js +9 -9
  301. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  302. package/cjs/lib/styles/ColorHelpers.d.ts +1 -0
  303. package/cjs/lib/styles/ColorHelpers.js +33 -10
  304. package/cjs/lib/styles/ColorHelpers.js.map +1 -1
  305. package/cjs/lib/styles/ColorObject.js +3 -2
  306. package/cjs/lib/styles/ColorObject.js.map +1 -1
  307. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
  308. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js +9 -0
  309. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -0
  310. package/cjs/lib/taskWithDelayAndMinimalDuration.js +3 -1
  311. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  312. package/cjs/lib/theming/Emotion.js +5 -2
  313. package/cjs/lib/theming/Emotion.js.map +1 -1
  314. package/cjs/lib/theming/ThemeFactory.js +5 -1
  315. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  316. package/cjs/lib/theming/ThemeHelpers.js +7 -2
  317. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  318. package/cjs/lib/theming/themes/Theme2022.d.ts +1 -0
  319. package/cjs/lib/theming/themes/Theme2022.js +6 -0
  320. package/cjs/lib/theming/themes/Theme2022.js.map +1 -0
  321. package/cjs/lib/theming/themes/Theme2022Dark.d.ts +1 -0
  322. package/cjs/lib/theming/themes/Theme2022Dark.js +9 -0
  323. package/cjs/lib/theming/themes/Theme2022Dark.js.map +1 -0
  324. package/cjs/lib/utils.d.ts +15 -0
  325. package/cjs/lib/utils.js +45 -9
  326. package/cjs/lib/utils.js.map +1 -1
  327. package/components/Autocomplete/Autocomplete/Autocomplete.js +8 -14
  328. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  329. package/components/Autocomplete/Autocomplete.d.ts +0 -1
  330. package/components/Button/Button/Button.js +4 -10
  331. package/components/Button/Button/Button.js.map +1 -1
  332. package/components/Button/Button.d.ts +1 -5
  333. package/components/Button/Button.styles/Button.styles.js +1 -1
  334. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  335. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +2 -1
  336. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  337. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js +12 -11
  338. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  339. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +15 -7
  340. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  341. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js +7 -1
  342. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
  343. package/components/CurrencyInput/CursorHelper/CursorHelper.js +18 -11
  344. package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
  345. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +7 -7
  346. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  347. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  348. package/components/DatePicker/DatePicker.d.ts +1 -1
  349. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +3 -16
  350. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  351. package/components/DropdownMenu/DropdownMenu.d.ts +1 -4
  352. package/components/FileUploader/FileUploader/FileUploader.js +9 -7
  353. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  354. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +15 -12
  355. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  356. package/components/FileUploader/FileUploader.styles.d.ts +3 -2
  357. package/components/Gapped/Gapped/Gapped.js +2 -2
  358. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  359. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +5 -7
  360. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  361. package/components/Group/Group/Group.js +62 -30
  362. package/components/Group/Group/Group.js.map +1 -1
  363. package/components/Hint/Hint/Hint.js +9 -1
  364. package/components/Hint/Hint/Hint.js.map +1 -1
  365. package/components/Hint/Hint.d.ts +5 -1
  366. package/components/Input/Input/Input.js +7 -25
  367. package/components/Input/Input/Input.js.map +1 -1
  368. package/components/Input/Input.d.ts +1 -5
  369. package/components/Kebab/Kebab/Kebab.js +3 -13
  370. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  371. package/components/Kebab/Kebab.d.ts +2 -13
  372. package/components/Loader/Loader/Loader.js +11 -12
  373. package/components/Loader/Loader/Loader.js.map +1 -1
  374. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +1 -1
  375. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  376. package/components/Modal/Modal/Modal.js +2 -1
  377. package/components/Modal/Modal/Modal.js.map +1 -1
  378. package/components/Modal/Modal.styles/Modal.styles.js +4 -4
  379. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  380. package/components/Modal/ModalFooter/ModalFooter.js +1 -1
  381. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  382. package/components/Modal/ModalHeader/ModalHeader.js +1 -1
  383. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  384. package/components/Paging/Paging/Paging.js +13 -14
  385. package/components/Paging/Paging/Paging.js.map +1 -1
  386. package/components/Paging/Paging.d.ts +13 -3
  387. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js +19 -0
  388. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -0
  389. package/components/Paging/PagingDefaultComponent/package.json +6 -0
  390. package/components/Paging/PagingDefaultComponent.d.ts +9 -0
  391. package/components/PasswordInput/PasswordInput/PasswordInput.js +26 -6
  392. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  393. package/components/PasswordInput/PasswordInput.d.ts +2 -0
  394. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js +10 -0
  395. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js.map +1 -0
  396. package/components/PasswordInput/PasswordInputIcon/package.json +6 -0
  397. package/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
  398. package/components/Radio/Radio.styles/Radio.styles.js +2 -1
  399. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  400. package/components/RadioGroup/RadioGroup/RadioGroup.js +2 -2
  401. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  402. package/components/RadioGroup/RadioGroup.d.ts +1 -1
  403. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +5 -0
  404. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  405. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +3 -3
  406. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  407. package/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +1 -1
  408. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +3 -2
  409. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  410. package/components/Select/Select/Select.js +37 -17
  411. package/components/Select/Select/Select.js.map +1 -1
  412. package/components/Select/Select.d.ts +7 -5
  413. package/components/SidePage/SidePage/SidePage.js +2 -20
  414. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  415. package/components/SidePage/SidePage.d.ts +0 -1
  416. package/components/SidePage/SidePageFooter/SidePageFooter.js +4 -4
  417. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  418. package/components/SidePage/SidePageHeader/SidePageHeader.js +3 -3
  419. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  420. package/components/Spinner/Spinner/Spinner.js +6 -2
  421. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  422. package/components/Spinner/Spinner.d.ts +0 -1
  423. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +18 -4
  424. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  425. package/components/Sticky/Sticky/Sticky.js +9 -8
  426. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  427. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  428. package/components/Switcher/Switcher.d.ts +2 -1
  429. package/components/Switcher/Switcher.styles/Switcher.styles.js +1 -1
  430. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  431. package/components/Tabs/Indicator/Indicator.js +2 -1
  432. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  433. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  434. package/components/Tabs/Tabs.d.ts +3 -1
  435. package/components/Textarea/Textarea/Textarea.js +6 -6
  436. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  437. package/components/Textarea/Textarea.d.ts +2 -2
  438. package/components/Textarea/TextareaCounter/TextareaCounter.js +11 -2
  439. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  440. package/components/Textarea/TextareaCounter.d.ts +1 -2
  441. package/components/Toast/ToastView/ToastView.js +1 -1
  442. package/components/Toast/ToastView/ToastView.js.map +1 -1
  443. package/components/Toast/ToastView.styles/ToastView.styles.js +2 -2
  444. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  445. package/components/Toast/ToastView.styles.d.ts +1 -1
  446. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  447. package/components/Toggle/Toggle.d.ts +1 -1
  448. package/components/Toggle/Toggle.styles/Toggle.styles.js +3 -4
  449. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  450. package/components/Token/Token/Token.js +12 -1
  451. package/components/Token/Token/Token.js.map +1 -1
  452. package/components/Token/Token.styles/Token.styles.js +11 -4
  453. package/components/Token/Token.styles/Token.styles.js.map +1 -1
  454. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js +3 -2
  455. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
  456. package/components/TokenInput/TokenInput/TokenInput.js +19 -14
  457. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  458. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +1 -1
  459. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  460. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  461. package/components/Tooltip/Tooltip/Tooltip.js +16 -10
  462. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  463. package/components/Tooltip/Tooltip.d.ts +4 -2
  464. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +2 -0
  465. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  466. package/components/TooltipMenu/TooltipMenu.d.ts +1 -1
  467. package/hooks/useDrop/useDrop.js +5 -1
  468. package/hooks/useDrop/useDrop.js.map +1 -1
  469. package/index.d.ts +2 -0
  470. package/index.js +2 -0
  471. package/index.js.map +1 -1
  472. package/internal/BGRuler/BGRuler.js +2 -1
  473. package/internal/BGRuler/BGRuler.js.map +1 -1
  474. package/internal/Calendar/Calendar/Calendar.js +6 -4
  475. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  476. package/internal/Calendar/CalendarDateShape.d.ts +1 -1
  477. package/internal/Calendar/MonthViewModel/MonthViewModel.js +35 -18
  478. package/internal/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
  479. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +20 -6
  480. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  481. package/internal/CommonWrapper/CommonWrapper.d.ts +1 -0
  482. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  483. package/internal/ComponentTable.d.ts +4 -2
  484. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +23 -15
  485. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  486. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +18 -17
  487. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  488. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +35 -35
  489. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  490. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +16 -16
  491. package/internal/DateSelect/DateSelect/DateSelect.js +23 -16
  492. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  493. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +5 -12
  494. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  495. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +5 -1
  496. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
  497. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +3 -2
  498. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  499. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +2 -0
  500. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -1
  501. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  502. package/internal/InputLikeText/InputLikeText.d.ts +1 -1
  503. package/internal/InternalMenu/InternalMenu/InternalMenu.js +15 -17
  504. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  505. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +1 -1
  506. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  507. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/addIconPaddingIfPartOfMenu.js +14 -0
  508. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/addIconPaddingIfPartOfMenu.js.map +1 -0
  509. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/package.json +6 -0
  510. package/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -0
  511. package/internal/MaskedInput/MaskedInput/MaskedInput.js +8 -3
  512. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  513. package/internal/Menu/Menu/Menu.js +9 -14
  514. package/internal/Menu/Menu/Menu.js.map +1 -1
  515. package/internal/Menu/Menu.styles/Menu.styles.js +1 -1
  516. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  517. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  518. package/internal/Popup/Popup/Popup.js +25 -23
  519. package/internal/Popup/Popup/Popup.js.map +1 -1
  520. package/internal/Popup/Popup.d.ts +2 -2
  521. package/internal/Popup/PopupHelper/PopupHelper.js +3 -1
  522. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  523. package/internal/PopupMenu/PopupMenu/PopupMenu.js +8 -0
  524. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  525. package/internal/PopupMenu/PopupMenu.d.ts +4 -0
  526. package/internal/PopupMenu/validatePositions/validatePositions.js +6 -6
  527. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  528. package/internal/RenderContainer/RenderContainer/RenderContainer.js +9 -0
  529. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  530. package/internal/RenderContainer/RenderContainerTypes.d.ts +2 -0
  531. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +11 -2
  532. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  533. package/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
  534. package/internal/RenderLayer/RenderLayer/RenderLayer.js +5 -1
  535. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  536. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +3 -4
  537. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +1 -1
  538. package/internal/ThemePlayground/CheckboxPlayground/CheckboxPlayground.js.map +1 -1
  539. package/internal/ThemePlayground/Playground/Playground.js +15 -29
  540. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  541. package/internal/ThemePlayground/RadioPlayground/RadioPlayground.js.map +1 -1
  542. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +29 -0
  543. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -0
  544. package/internal/ThemePlayground/SizesGroup/package.json +6 -0
  545. package/internal/ThemePlayground/SizesGroup.d.ts +4 -0
  546. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +14 -2
  547. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  548. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -0
  549. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js +5 -1
  550. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  551. package/internal/ThemePlayground/VariableValue/VariableValue.js +16 -5
  552. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  553. package/internal/ThemePlayground/constants/constants.js +2 -0
  554. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  555. package/internal/ThemePlayground/constants.d.ts +3 -1
  556. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +3 -6
  557. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  558. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +4 -6
  559. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  560. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  561. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +12 -6
  562. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  563. package/internal/ZIndex/ZIndexStorage.d.ts +2 -1
  564. package/internal/icons/16px/index/index.js +28 -20
  565. package/internal/icons/16px/index/index.js.map +1 -1
  566. package/internal/icons/16px/index.d.ts +19 -19
  567. package/internal/icons/20px/svg/svg.js +5 -0
  568. package/internal/icons/20px/svg/svg.js.map +1 -1
  569. package/internal/themes/DefaultTheme/DefaultTheme.js +53 -4
  570. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  571. package/internal/themes/DefaultTheme.d.ts +21 -1
  572. package/internal/themes/NotFlat/NotFlat.js +15 -0
  573. package/internal/themes/NotFlat/NotFlat.js.map +1 -1
  574. package/internal/themes/NotFlat.d.ts +6 -0
  575. package/internal/themes/Theme2022/Theme2022.js +78 -0
  576. package/internal/themes/Theme2022/Theme2022.js.map +1 -0
  577. package/internal/themes/Theme2022/package.json +6 -0
  578. package/internal/themes/Theme2022.d.ts +66 -0
  579. package/internal/themes/Theme2022Dark/Theme2022Dark.js +17 -0
  580. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
  581. package/internal/themes/Theme2022Dark/package.json +6 -0
  582. package/internal/themes/Theme2022Dark.d.ts +5 -0
  583. package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
  584. package/lib/ConditionalHandler.d.ts +3 -2
  585. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js +3 -0
  586. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js.map +1 -0
  587. package/lib/InstanceWithAnchorElement/package.json +6 -0
  588. package/lib/InstanceWithAnchorElement.d.ts +5 -0
  589. package/lib/ModalStack/ModalStack.js.map +1 -1
  590. package/lib/ModalStack.d.ts +1 -1
  591. package/lib/SSRSafe/SSRSafe.js +7 -0
  592. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  593. package/lib/SSRSafe.d.ts +1 -0
  594. package/lib/animation/index/index.js +1 -1
  595. package/lib/animation/index/index.js.map +1 -1
  596. package/lib/animation/index.d.ts +1 -1
  597. package/lib/date/InternalDate/InternalDate.js +16 -1
  598. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  599. package/lib/date/InternalDateCalculator/InternalDateCalculator.js +14 -2
  600. package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
  601. package/lib/date/InternalDateGetter/InternalDateGetter.js +20 -6
  602. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  603. package/lib/date/InternalDateTransformer/InternalDateTransformer.js +11 -1
  604. package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
  605. package/lib/date/InternalDateValidator/InternalDateValidator.js +31 -4
  606. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  607. package/lib/dom/getDOMRect/getDOMRect.js +32 -15
  608. package/lib/dom/getDOMRect/getDOMRect.js.map +1 -1
  609. package/lib/dom/getDOMRect.d.ts +5 -2
  610. package/lib/events/keyboard/KeyboardMapKeys/KeyboardMapKeys.js.map +1 -1
  611. package/lib/events/keyboard/KeyboardMapKeys.d.ts +2 -1
  612. package/lib/events/keyboard/extractCode/extractCode.js +5 -5
  613. package/lib/events/keyboard/extractCode/extractCode.js.map +1 -1
  614. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +21 -0
  615. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -0
  616. package/lib/needsPolyfillPlaceholder/package.json +6 -0
  617. package/lib/needsPolyfillPlaceholder.d.ts +6 -0
  618. package/lib/rootNode/getRootNode/getRootNode.js +41 -13
  619. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  620. package/lib/rootNode/getRootNode.d.ts +9 -0
  621. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +26 -2
  622. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  623. package/lib/rootNode/rootNodeDecorator.d.ts +20 -1
  624. package/lib/stringUtils/stringUtils.js +4 -1
  625. package/lib/stringUtils/stringUtils.js.map +1 -1
  626. package/lib/styles/ColorFactory/ColorFactory.js +9 -9
  627. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  628. package/lib/styles/ColorHelpers/ColorHelpers.js +26 -9
  629. package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
  630. package/lib/styles/ColorHelpers.d.ts +1 -0
  631. package/lib/styles/ColorObject/ColorObject.js +2 -2
  632. package/lib/styles/ColorObject/ColorObject.js.map +1 -1
  633. package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js +9 -0
  634. package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js.map +1 -0
  635. package/lib/styles/getLabGrotesqueBaselineCompensation/package.json +6 -0
  636. package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
  637. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +4 -1
  638. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
  639. package/lib/theming/Emotion/Emotion.js +5 -2
  640. package/lib/theming/Emotion/Emotion.js.map +1 -1
  641. package/lib/theming/ThemeFactory/ThemeFactory.js +5 -2
  642. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  643. package/lib/theming/ThemeHelpers/ThemeHelpers.js +5 -1
  644. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  645. package/lib/theming/themes/Theme2022/Theme2022.js +4 -0
  646. package/lib/theming/themes/Theme2022/Theme2022.js.map +1 -0
  647. package/lib/theming/themes/Theme2022/package.json +6 -0
  648. package/lib/theming/themes/Theme2022.d.ts +1 -0
  649. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js +5 -0
  650. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
  651. package/lib/theming/themes/Theme2022Dark/package.json +6 -0
  652. package/lib/theming/themes/Theme2022Dark.d.ts +1 -0
  653. package/lib/utils/utils.js +42 -6
  654. package/lib/utils/utils.js.map +1 -1
  655. package/lib/utils.d.ts +15 -0
  656. package/package.json +4 -3
  657. package/cjs/components/Button/Corners.d.ts +0 -6
  658. package/cjs/components/Button/Corners.js +0 -5
  659. package/cjs/components/Button/Corners.js.map +0 -1
  660. package/cjs/lib/polyfillPlaceholder.d.ts +0 -1
  661. package/cjs/lib/polyfillPlaceholder.js +0 -17
  662. package/cjs/lib/polyfillPlaceholder.js.map +0 -1
  663. package/components/Button/Corners/Corners.js +0 -6
  664. package/components/Button/Corners/Corners.js.map +0 -1
  665. package/components/Button/Corners/package.json +0 -6
  666. package/components/Button/Corners.d.ts +0 -6
  667. package/lib/polyfillPlaceholder/package.json +0 -6
  668. package/lib/polyfillPlaceholder/polyfillPlaceholder.js +0 -12
  669. package/lib/polyfillPlaceholder/polyfillPlaceholder.js.map +0 -1
  670. package/lib/polyfillPlaceholder.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["getDOMRect.ts"],"names":["getDOMRect","ref","current","defaultValues","width","height","x","y","bottom","left","right","top","getBoundingClientRect"],"mappings":"oEAAA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAAwBC,GAAxB,EAA6E;AACrG,MAAI,CAACA,GAAG,CAACC,OAAT,EAAkB;AAChB,QAAMC,aAAa,GAAG;AACpBC,MAAAA,KAAK,EAAE,CADa;AAEpBC,MAAAA,MAAM,EAAE,CAFY;AAGpBC,MAAAA,CAAC,EAAE,CAHiB;AAIpBC,MAAAA,CAAC,EAAE,CAJiB;AAKpBC,MAAAA,MAAM,EAAE,CALY;AAMpBC,MAAAA,IAAI,EAAE,CANc;AAOpBC,MAAAA,KAAK,EAAE,CAPa;AAQpBC,MAAAA,GAAG,EAAE,CARe,EAAtB;;;AAWA,WAAOR,aAAP;AACD;;AAED,SAAOF,GAAG,CAACC,OAAJ,CAAYU,qBAAZ,EAAP;AACD,CAjBM,C","sourcesContent":["/**\n * Возвращает размер элемента и его позицию относительно viewport\n *\n * @param ref - ref элемента\n * @returns - возвращает размер элемента и его позицию относительно viewport\n */\nexport const getDOMRect = <T extends HTMLElement>(ref: React.RefObject<T>): Omit<DOMRect, 'toJSON'> => {\n if (!ref.current) {\n const defaultValues = {\n width: 0,\n height: 0,\n x: 0,\n y: 0,\n bottom: 0,\n left: 0,\n right: 0,\n top: 0,\n };\n\n return defaultValues;\n }\n\n return ref.current.getBoundingClientRect();\n};\n"]}
1
+ {"version":3,"sources":["getDOMRect.ts"],"names":["getDOMRect","element","defaultValues","width","height","x","y","bottom","left","right","top","getRefRect","getElementRect","getBoundingClientRect","ref","current"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAAoBC,OAApB,EAAwF;AAChH,MAAMC,aAAmC,GAAG;AAC1CC,IAAAA,KAAK,EAAE,CADmC;AAE1CC,IAAAA,MAAM,EAAE,CAFkC;AAG1CC,IAAAA,CAAC,EAAE,CAHuC;AAI1CC,IAAAA,CAAC,EAAE,CAJuC;AAK1CC,IAAAA,MAAM,EAAE,CALkC;AAM1CC,IAAAA,IAAI,EAAE,CANoC;AAO1CC,IAAAA,KAAK,EAAE,CAPmC;AAQ1CC,IAAAA,GAAG,EAAE,CARqC,EAA5C;;AAUA,MAAIT,OAAO,IAAI,aAAaA,OAA5B,EAAqC;AACnC,WAAOU,UAAU,CAACT,aAAD,EAAgBD,OAAhB,CAAjB;AACD;AACD,SAAOW,cAAc,CAACV,aAAD,EAAgBD,OAAhB,CAArB;AACD,CAfM,C;AAgBP,IAAMW,cAAc,GAAG,SAAjBA,cAAiB,CAACV,aAAD,EAAsCD,OAAtC,EAAqE;AAC1F,MAAIA,OAAJ,EAAa;AACX,WAAOA,OAAO,CAACY,qBAAR,EAAP;AACD;AACD,SAAOX,aAAP;AACD,CALD;AAMA,IAAMS,UAAU,GAAG,SAAbA,UAAa,CAAoBT,aAApB,EAAyDY,GAAzD,EAAqF;AACtG,MAAIA,GAAJ,YAAIA,GAAG,CAAEC,OAAT,EAAkB;AAChB,WAAOD,GAAG,CAACC,OAAJ,CAAYF,qBAAZ,EAAP;AACD;AACD,SAAOX,aAAP;AACD,CALD","sourcesContent":["import { Nullable } from '../../typings/utility-types';\ntype DOMRectDefaultValues = Omit<DOMRect, 'toJSON'>;\n/**\n * Возвращает размер элемента и его позицию относительно viewport\n *\n * @param element - ref элемента или сам элемент\n * @returns - возвращает размер элемента и его позицию относительно viewport\n */\nexport const getDOMRect = <T extends Element>(element: Nullable<T> | React.RefObject<T>): DOMRectDefaultValues => {\n const defaultValues: DOMRectDefaultValues = {\n width: 0,\n height: 0,\n x: 0,\n y: 0,\n bottom: 0,\n left: 0,\n right: 0,\n top: 0,\n };\n if (element && 'current' in element) {\n return getRefRect(defaultValues, element);\n }\n return getElementRect(defaultValues, element);\n};\nconst getElementRect = (defaultValues: DOMRectDefaultValues, element: Nullable<Element>) => {\n if (element) {\n return element.getBoundingClientRect();\n }\n return defaultValues;\n};\nconst getRefRect = <T extends Element>(defaultValues: DOMRectDefaultValues, ref: React.RefObject<T>) => {\n if (ref?.current) {\n return ref.current.getBoundingClientRect();\n }\n return defaultValues;\n};\n"]}
@@ -1,6 +1,7 @@
1
1
  import { KeyboardEventCodes as Codes } from './KeyboardEventCodes';
2
2
  export declare type Location = number;
3
3
  export declare type KeyCode = number;
4
+ export declare type KeyboardKey = [KeyCode, Location];
4
5
  export declare const KeyboardMapKeys: {
5
- [code in Codes]: Array<[KeyCode, Location]>;
6
+ [code in Codes]: KeyboardKey[];
6
7
  };
@@ -3,6 +3,7 @@
3
3
 
4
4
 
5
5
 
6
+
6
7
  var STANDARD = 0; //KeyboardEvent.DOM_KEY_LOCATION_STANDARD;
7
8
  var NUMPAD = 3; //KeyboardEvent.DOM_KEY_LOCATION_NUMPAD;
8
9
 
@@ -1 +1 @@
1
- {"version":3,"sources":["KeyboardMapKeys.ts"],"names":["STANDARD","NUMPAD","KeyboardMapKeys","Codes","Unidentified","End","Escape","Equal","Backspace","Enter","NumpadEnter","Home","Delete","Insert","PageUp","PageDown","Tab","CapsLock","KeyA","KeyC","KeyV","KeyX","NumpadDecimal","NumpadSubtract","NumpadDivide","Comma","Minus","Period","Slash","Backslash","IntlBackslash","Space"],"mappings":"wEAAA,0D;;;;;AAKA,IAAMA,QAAQ,GAAG,CAAjB,C,CAAoB;AACpB,IAAMC,MAAM,GAAG,CAAf,C,CAAkB;;AAEX,IAAMC,eAAgE;AAC1EC,uCAAMC,YADoE,IACrD,CAAC,CAAC,CAAD,EAAI,CAAJ,CAAD,CADqD;AAE1ED,uCAAME,GAFoE,IAE9D,CAAC,CAAC,EAAD,EAAKL,QAAL,CAAD,CAF8D;AAG1EG,uCAAMG,MAHoE,IAG3D,CAAC,CAAC,EAAD,EAAKN,QAAL,CAAD,CAH2D;AAI1EG,uCAAMI,KAJoE,IAI5D,CAAC,CAAC,GAAD,EAAMP,QAAN,CAAD,CAJ4D;AAK1EG,uCAAMK,SALoE,IAKxD,CAAC,CAAC,CAAD,EAAIR,QAAJ,CAAD,CALwD;AAM1EG,uCAAMM,KANoE,IAM5D,CAAC,CAAC,EAAD,EAAKT,QAAL,CAAD,CAN4D;AAO1EG,uCAAMO,WAPoE,IAOtD,CAAC,CAAC,EAAD,EAAKT,MAAL,CAAD,CAPsD;AAQ1EE,uCAAMQ,IARoE,IAQ7D,CAAC,CAAC,EAAD,EAAKX,QAAL,CAAD,CAR6D;AAS1EG,uCAAMS,MAToE,IAS3D,CAAC,CAAC,EAAD,EAAKZ,QAAL,CAAD,CAT2D;AAU1EG,uCAAMU,MAVoE,IAU3D,CAAC,CAAC,EAAD,EAAKb,QAAL,CAAD,CAV2D;AAW1EG,uCAAMW,MAXoE,IAW3D,CAAC,CAAC,EAAD,EAAKd,QAAL,CAAD,CAX2D;AAY1EG,uCAAMY,QAZoE,IAYzD,CAAC,CAAC,EAAD,EAAKf,QAAL,CAAD,CAZyD;AAa1EG,uCAAMa,GAboE,IAa9D,CAAC,CAAC,CAAD,EAAIhB,QAAJ,CAAD,CAb8D;AAc1EG,uCAAMc,QAdoE,IAczD,CAAC,CAAC,EAAD,EAAKjB,QAAL,CAAD,CAdyD;AAe1EG,uCAAMe,IAfoE,IAe7D,CAAC,CAAC,EAAD,EAAKlB,QAAL,CAAD,CAf6D;AAgB1EG,uCAAMgB,IAhBoE,IAgB7D,CAAC,CAAC,EAAD,EAAKnB,QAAL,CAAD,CAhB6D;AAiB1EG,uCAAMiB,IAjBoE,IAiB7D,CAAC,CAAC,EAAD,EAAKpB,QAAL,CAAD,CAjB6D;AAkB1EG,uCAAMkB,IAlBoE,IAkB7D,CAAC,CAAC,EAAD,EAAKrB,QAAL,CAAD,CAlB6D;AAmB1EG,uCAAMmB,aAnBoE,IAmBpD;AACrB,CAAC,GAAD,EAAMrB,MAAN,CADqB;AAErB,CAAC,EAAD,EAAKA,MAAL,CAFqB,CAnBoD;;AAuB1EE,uCAAMoB,cAvBoE,IAuBnD,CAAC,CAAC,GAAD,EAAMtB,MAAN,CAAD,CAvBmD;AAwB1EE,uCAAMqB,YAxBoE,IAwBrD,CAAC,CAAC,GAAD,EAAMvB,MAAN,CAAD,CAxBqD;AAyB1EE,uCAAMsB,KAzBoE,IAyB5D,CAAC,CAAC,GAAD,EAAMzB,QAAN,CAAD,CAzB4D;AA0B1EG,uCAAMuB,KA1BoE,IA0B5D,CAAC,CAAC,GAAD,EAAM1B,QAAN,CAAD,CA1B4D;AA2B1EG,uCAAMwB,MA3BoE,IA2B3D,CAAC,CAAC,GAAD,EAAM3B,QAAN,CAAD,CA3B2D;AA4B1EG,uCAAMyB,KA5BoE,IA4B5D,CAAC,CAAC,GAAD,EAAM5B,QAAN,CAAD,CA5B4D;AA6B1EG,uCAAM0B,SA7BoE,IA6BxD,CAAC,CAAC,GAAD,EAAM7B,QAAN,CAAD,CA7BwD;AA8B1EG,uCAAM2B,aA9BoE,IA8BpD,CAAC,CAAC,GAAD,EAAM9B,QAAN,CAAD,CA9BoD;AA+B1EG,uCAAM4B,KA/BoE,IA+B5D,CAAC,CAAC,EAAD,EAAK/B,QAAL,CAAD,CA/B4D,mBAAtE,C","sourcesContent":["import { KeyboardEventCodes as Codes } from './KeyboardEventCodes';\n\nexport type Location = number;\nexport type KeyCode = number;\n\nconst STANDARD = 0; //KeyboardEvent.DOM_KEY_LOCATION_STANDARD;\nconst NUMPAD = 3; //KeyboardEvent.DOM_KEY_LOCATION_NUMPAD;\n\nexport const KeyboardMapKeys: { [code in Codes]: Array<[KeyCode, Location]> } = {\n [Codes.Unidentified]: [[0, 0]],\n [Codes.End]: [[35, STANDARD]],\n [Codes.Escape]: [[27, STANDARD]],\n [Codes.Equal]: [[187, STANDARD]],\n [Codes.Backspace]: [[8, STANDARD]],\n [Codes.Enter]: [[13, STANDARD]],\n [Codes.NumpadEnter]: [[13, NUMPAD]],\n [Codes.Home]: [[36, STANDARD]],\n [Codes.Delete]: [[46, STANDARD]],\n [Codes.Insert]: [[45, STANDARD]],\n [Codes.PageUp]: [[33, STANDARD]],\n [Codes.PageDown]: [[34, STANDARD]],\n [Codes.Tab]: [[9, STANDARD]],\n [Codes.CapsLock]: [[20, STANDARD]],\n [Codes.KeyA]: [[65, STANDARD]],\n [Codes.KeyC]: [[67, STANDARD]],\n [Codes.KeyV]: [[86, STANDARD]],\n [Codes.KeyX]: [[88, STANDARD]],\n [Codes.NumpadDecimal]: [\n [110, NUMPAD],\n [46, NUMPAD],\n ],\n [Codes.NumpadSubtract]: [[109, NUMPAD]],\n [Codes.NumpadDivide]: [[111, NUMPAD]],\n [Codes.Comma]: [[188, STANDARD]],\n [Codes.Minus]: [[189, STANDARD]],\n [Codes.Period]: [[190, STANDARD]],\n [Codes.Slash]: [[191, STANDARD]],\n [Codes.Backslash]: [[220, STANDARD]],\n [Codes.IntlBackslash]: [[226, STANDARD]],\n [Codes.Space]: [[32, STANDARD]],\n};\n"]}
1
+ {"version":3,"sources":["KeyboardMapKeys.ts"],"names":["STANDARD","NUMPAD","KeyboardMapKeys","Codes","Unidentified","End","Escape","Equal","Backspace","Enter","NumpadEnter","Home","Delete","Insert","PageUp","PageDown","Tab","CapsLock","KeyA","KeyC","KeyV","KeyX","NumpadDecimal","NumpadSubtract","NumpadDivide","Comma","Minus","Period","Slash","Backslash","IntlBackslash","Space"],"mappings":"wEAAA,0D;;;;;;AAMA,IAAMA,QAAQ,GAAG,CAAjB,C,CAAoB;AACpB,IAAMC,MAAM,GAAG,CAAf,C,CAAkB;;AAEX,IAAMC,eAAmD;AAC7DC,uCAAMC,YADuD,IACxC,CAAC,CAAC,CAAD,EAAI,CAAJ,CAAD,CADwC;AAE7DD,uCAAME,GAFuD,IAEjD,CAAC,CAAC,EAAD,EAAKL,QAAL,CAAD,CAFiD;AAG7DG,uCAAMG,MAHuD,IAG9C,CAAC,CAAC,EAAD,EAAKN,QAAL,CAAD,CAH8C;AAI7DG,uCAAMI,KAJuD,IAI/C,CAAC,CAAC,GAAD,EAAMP,QAAN,CAAD,CAJ+C;AAK7DG,uCAAMK,SALuD,IAK3C,CAAC,CAAC,CAAD,EAAIR,QAAJ,CAAD,CAL2C;AAM7DG,uCAAMM,KANuD,IAM/C,CAAC,CAAC,EAAD,EAAKT,QAAL,CAAD,CAN+C;AAO7DG,uCAAMO,WAPuD,IAOzC,CAAC,CAAC,EAAD,EAAKT,MAAL,CAAD,CAPyC;AAQ7DE,uCAAMQ,IARuD,IAQhD,CAAC,CAAC,EAAD,EAAKX,QAAL,CAAD,CARgD;AAS7DG,uCAAMS,MATuD,IAS9C,CAAC,CAAC,EAAD,EAAKZ,QAAL,CAAD,CAT8C;AAU7DG,uCAAMU,MAVuD,IAU9C,CAAC,CAAC,EAAD,EAAKb,QAAL,CAAD,CAV8C;AAW7DG,uCAAMW,MAXuD,IAW9C,CAAC,CAAC,EAAD,EAAKd,QAAL,CAAD,CAX8C;AAY7DG,uCAAMY,QAZuD,IAY5C,CAAC,CAAC,EAAD,EAAKf,QAAL,CAAD,CAZ4C;AAa7DG,uCAAMa,GAbuD,IAajD,CAAC,CAAC,CAAD,EAAIhB,QAAJ,CAAD,CAbiD;AAc7DG,uCAAMc,QAduD,IAc5C,CAAC,CAAC,EAAD,EAAKjB,QAAL,CAAD,CAd4C;AAe7DG,uCAAMe,IAfuD,IAehD,CAAC,CAAC,EAAD,EAAKlB,QAAL,CAAD,CAfgD;AAgB7DG,uCAAMgB,IAhBuD,IAgBhD,CAAC,CAAC,EAAD,EAAKnB,QAAL,CAAD,CAhBgD;AAiB7DG,uCAAMiB,IAjBuD,IAiBhD,CAAC,CAAC,EAAD,EAAKpB,QAAL,CAAD,CAjBgD;AAkB7DG,uCAAMkB,IAlBuD,IAkBhD,CAAC,CAAC,EAAD,EAAKrB,QAAL,CAAD,CAlBgD;AAmB7DG,uCAAMmB,aAnBuD,IAmBvC;AACrB,CAAC,GAAD,EAAMrB,MAAN,CADqB;AAErB,CAAC,EAAD,EAAKA,MAAL,CAFqB,CAnBuC;;AAuB7DE,uCAAMoB,cAvBuD,IAuBtC,CAAC,CAAC,GAAD,EAAMtB,MAAN,CAAD,CAvBsC;AAwB7DE,uCAAMqB,YAxBuD,IAwBxC,CAAC,CAAC,GAAD,EAAMvB,MAAN,CAAD,CAxBwC;AAyB7DE,uCAAMsB,KAzBuD,IAyB/C,CAAC,CAAC,GAAD,EAAMzB,QAAN,CAAD,CAzB+C;AA0B7DG,uCAAMuB,KA1BuD,IA0B/C,CAAC,CAAC,GAAD,EAAM1B,QAAN,CAAD,CA1B+C;AA2B7DG,uCAAMwB,MA3BuD,IA2B9C,CAAC,CAAC,GAAD,EAAM3B,QAAN,CAAD,CA3B8C;AA4B7DG,uCAAMyB,KA5BuD,IA4B/C,CAAC,CAAC,GAAD,EAAM5B,QAAN,CAAD,CA5B+C;AA6B7DG,uCAAM0B,SA7BuD,IA6B3C,CAAC,CAAC,GAAD,EAAM7B,QAAN,CAAD,CA7B2C;AA8B7DG,uCAAM2B,aA9BuD,IA8BvC,CAAC,CAAC,GAAD,EAAM9B,QAAN,CAAD,CA9BuC;AA+B7DG,uCAAM4B,KA/BuD,IA+B/C,CAAC,CAAC,EAAD,EAAK/B,QAAL,CAAD,CA/B+C,mBAAzD,C","sourcesContent":["import { KeyboardEventCodes as Codes } from './KeyboardEventCodes';\n\nexport type Location = number;\nexport type KeyCode = number;\nexport type KeyboardKey = [KeyCode, Location];\n\nconst STANDARD = 0; //KeyboardEvent.DOM_KEY_LOCATION_STANDARD;\nconst NUMPAD = 3; //KeyboardEvent.DOM_KEY_LOCATION_NUMPAD;\n\nexport const KeyboardMapKeys: { [code in Codes]: KeyboardKey[] } = {\n [Codes.Unidentified]: [[0, 0]],\n [Codes.End]: [[35, STANDARD]],\n [Codes.Escape]: [[27, STANDARD]],\n [Codes.Equal]: [[187, STANDARD]],\n [Codes.Backspace]: [[8, STANDARD]],\n [Codes.Enter]: [[13, STANDARD]],\n [Codes.NumpadEnter]: [[13, NUMPAD]],\n [Codes.Home]: [[36, STANDARD]],\n [Codes.Delete]: [[46, STANDARD]],\n [Codes.Insert]: [[45, STANDARD]],\n [Codes.PageUp]: [[33, STANDARD]],\n [Codes.PageDown]: [[34, STANDARD]],\n [Codes.Tab]: [[9, STANDARD]],\n [Codes.CapsLock]: [[20, STANDARD]],\n [Codes.KeyA]: [[65, STANDARD]],\n [Codes.KeyC]: [[67, STANDARD]],\n [Codes.KeyV]: [[86, STANDARD]],\n [Codes.KeyX]: [[88, STANDARD]],\n [Codes.NumpadDecimal]: [\n [110, NUMPAD],\n [46, NUMPAD],\n ],\n [Codes.NumpadSubtract]: [[109, NUMPAD]],\n [Codes.NumpadDivide]: [[111, NUMPAD]],\n [Codes.Comma]: [[188, STANDARD]],\n [Codes.Minus]: [[189, STANDARD]],\n [Codes.Period]: [[190, STANDARD]],\n [Codes.Slash]: [[191, STANDARD]],\n [Codes.Backslash]: [[220, STANDARD]],\n [Codes.IntlBackslash]: [[226, STANDARD]],\n [Codes.Space]: [[32, STANDARD]],\n};\n"]}
@@ -4,14 +4,16 @@ var _KeyboardEventCodes = require("./KeyboardEventCodes");
4
4
  var _KeyboardMapKeys = require("./KeyboardMapKeys");
5
5
 
6
6
  function extractCode(e) {
7
- e = e.nativeEvent || e;
8
- if (e.code) {
9
- return e.code;
7
+ var event = e.nativeEvent || e;
8
+ if (event.code) {
9
+ return event.code;
10
10
  }
11
- var keyCode = e.keyCode || e.which;
12
- var location = e.location;
11
+
12
+ var keyCode = event.keyCode || event.which;
13
+ var location = event.location;
13
14
  var mapped = Object.entries(_KeyboardMapKeys.KeyboardMapKeys).find(function (_ref) {var set = _ref[1];return (
14
15
  set.some(function (_ref2) {var _keyCode = _ref2[0],_location = _ref2[1];return _keyCode === keyCode && _location === location;}));});
15
16
 
17
+
16
18
  return mapped ? mapped[0] : _KeyboardEventCodes.KeyboardEventCodes.Unidentified;
17
19
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["extractCode.ts"],"names":["extractCode","e","nativeEvent","code","keyCode","which","location","mapped","Object","entries","KeyboardMapKeys","find","set","some","_keyCode","_location","Codes","Unidentified"],"mappings":";;AAEA;AACA;;AAEO,SAASA,WAAT,CAAqBC,CAArB,EAAiF;AACtFA,EAAAA,CAAC,GAAIA,CAAD,CAAwCC,WAAxC,IAAuDD,CAA3D;AACA,MAAIA,CAAC,CAACE,IAAN,EAAY;AACV,WAAOF,CAAC,CAACE,IAAT;AACD;AACD,MAAMC,OAAO,GAAGH,CAAC,CAACG,OAAF,IAAaH,CAAC,CAACI,KAA/B;AACA,MAAMC,QAAQ,GAAGL,CAAC,CAACK,QAAnB;AACA,MAAMC,MAAM,GAAIC,MAAM,CAACC,OAAR,CAA+DC,gCAA/D,EAAgFC,IAAhF,CAAqF,qBAAIC,GAAJ;AAClGA,MAAAA,GAAG,CAACC,IAAJ,CAAS,sBAAEC,QAAF,YAAYC,SAAZ,mBAA2BD,QAAQ,KAAKV,OAAb,IAAwBW,SAAS,KAAKT,QAAjE,EAAT,CADkG,GAArF,CAAf;;AAGA,SAAOC,MAAM,GAAGA,MAAM,CAAC,CAAD,CAAT,GAAeS,uCAAMC,YAAlC;AACD","sourcesContent":["import { Entries } from '../../../typings/utility-types';\n\nimport { KeyboardEventCodes as Codes } from './KeyboardEventCodes';\nimport { KeyboardMapKeys, KeyCode, Location } from './KeyboardMapKeys';\n\nexport function extractCode(e: React.KeyboardEvent<HTMLElement> | KeyboardEvent): Codes {\n e = (e as React.KeyboardEvent<HTMLElement>).nativeEvent || e;\n if (e.code) {\n return e.code as Codes;\n }\n const keyCode = e.keyCode || e.which;\n const location = e.location;\n const mapped = (Object.entries as Entries<Codes, Array<[KeyCode, Location]>>)(KeyboardMapKeys).find(([, set]) =>\n set.some(([_keyCode, _location]) => _keyCode === keyCode && _location === location),\n );\n return mapped ? mapped[0] : Codes.Unidentified;\n}\n"]}
1
+ {"version":3,"sources":["extractCode.ts"],"names":["extractCode","e","event","nativeEvent","code","keyCode","which","location","mapped","Object","entries","KeyboardMapKeys","find","set","some","_keyCode","_location","Codes","Unidentified"],"mappings":";;AAEA;AACA;;AAEO,SAASA,WAAT,CAAqBC,CAArB,EAAiF;AACtF,MAAMC,KAAK,GAAID,CAAD,CAAwCE,WAAxC,IAAuDF,CAArE;AACA,MAAIC,KAAK,CAACE,IAAV,EAAgB;AACd,WAAOF,KAAK,CAACE,IAAb;AACD;;AAED,MAAMC,OAAO,GAAGH,KAAK,CAACG,OAAN,IAAiBH,KAAK,CAACI,KAAvC;AACA,MAAMC,QAAQ,GAAGL,KAAK,CAACK,QAAvB;AACA,MAAMC,MAAM,GAAIC,MAAM,CAACC,OAAR,CAAkDC,gCAAlD,EAAmEC,IAAnE,CAAwE,qBAAIC,GAAJ;AACrFA,MAAAA,GAAG,CAACC,IAAJ,CAAS,sBAAEC,QAAF,YAAYC,SAAZ,mBAA2BD,QAAQ,KAAKV,OAAb,IAAwBW,SAAS,KAAKT,QAAjE,EAAT,CADqF,GAAxE,CAAf;;;AAIA,SAAOC,MAAM,GAAGA,MAAM,CAAC,CAAD,CAAT,GAAeS,uCAAMC,YAAlC;AACD","sourcesContent":["import { Entries } from '../../../typings/utility-types';\n\nimport { KeyboardEventCodes as Codes } from './KeyboardEventCodes';\nimport { KeyboardKey, KeyboardMapKeys } from './KeyboardMapKeys';\n\nexport function extractCode(e: React.KeyboardEvent<HTMLElement> | KeyboardEvent): Codes {\n const event = (e as React.KeyboardEvent<HTMLElement>).nativeEvent || e;\n if (event.code) {\n return event.code as Codes;\n }\n\n const keyCode = event.keyCode || event.which;\n const location = event.location;\n const mapped = (Object.entries as Entries<Codes, KeyboardKey[]>)(KeyboardMapKeys).find(([, set]) =>\n set.some(([_keyCode, _location]) => _keyCode === keyCode && _location === location),\n );\n\n return mapped ? mapped[0] : Codes.Unidentified;\n}\n"]}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Определяет поддерживает ли браузер аттрибут `placeholder` для тега `input`
3
+ *
4
+ * Равен true, если браузеру нужен полифил для placeholder. Иначе - false
5
+ */
6
+ export declare const needsPolyfillPlaceholder: boolean;
@@ -0,0 +1,19 @@
1
+ "use strict";exports.__esModule = true;exports.needsPolyfillPlaceholder = void 0;var _client = require("./client");
2
+
3
+ var needsPolyfillPlaceholderInternal = function needsPolyfillPlaceholderInternal() {
4
+ if (_client.canUseDOM) {
5
+ var supportsPlaceholder = ('placeholder' in document.createElement('input'));
6
+ if (!supportsPlaceholder || _client.isIE11) {
7
+ return true;
8
+ }
9
+ }
10
+
11
+ return false;
12
+ };
13
+
14
+ /**
15
+ * Определяет поддерживает ли браузер аттрибут `placeholder` для тега `input`
16
+ *
17
+ * Равен true, если браузеру нужен полифил для placeholder. Иначе - false
18
+ */
19
+ var needsPolyfillPlaceholder = needsPolyfillPlaceholderInternal();exports.needsPolyfillPlaceholder = needsPolyfillPlaceholder;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["needsPolyfillPlaceholder.ts"],"names":["needsPolyfillPlaceholderInternal","canUseDOM","supportsPlaceholder","document","createElement","isIE11","needsPolyfillPlaceholder"],"mappings":"iFAAA;;AAEA,IAAMA,gCAAgC,GAAG,SAAnCA,gCAAmC,GAAM;AAC7C,MAAIC,iBAAJ,EAAe;AACb,QAAMC,mBAAmB,IAAG,iBAAiBC,QAAQ,CAACC,aAAT,CAAuB,OAAvB,CAApB,CAAzB;AACA,QAAI,CAACF,mBAAD,IAAwBG,cAA5B,EAAoC;AAClC,aAAO,IAAP;AACD;AACF;;AAED,SAAO,KAAP;AACD,CATD;;AAWA;AACA;AACA;AACA;AACA;AACO,IAAMC,wBAAwB,GAAGN,gCAAgC,EAAjE,C","sourcesContent":["import { canUseDOM, isIE11 } from './client';\n\nconst needsPolyfillPlaceholderInternal = () => {\n if (canUseDOM) {\n const supportsPlaceholder = 'placeholder' in document.createElement('input');\n if (!supportsPlaceholder || isIE11) {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * Определяет поддерживает ли браузер аттрибут `placeholder` для тега `input`\n *\n * Равен true, если браузеру нужен полифил для placeholder. Иначе - false\n */\nexport const needsPolyfillPlaceholder = needsPolyfillPlaceholderInternal();\n"]}
@@ -1,3 +1,12 @@
1
1
  import React from 'react';
2
2
  import { Nullable } from '../../typings/utility-types';
3
+ /**
4
+ * Extracts component's root HTMLElement out of it's instance
5
+ * following the "StrictMode support convention" (@see README.md#strictmode, #2518).
6
+ *
7
+ * Replaces findDOMNode but falls back to it if "convention" is not respected.
8
+ *
9
+ * @param instance Component's instance provided by React.Ref or `this` inside class-components.
10
+ * @returns Component's root HTMLElement or null
11
+ */
3
12
  export declare const getRootNode: (instance: Nullable<React.ReactInstance>) => Nullable<HTMLElement>;
@@ -1,27 +1,59 @@
1
- "use strict";exports.__esModule = true;exports.getRootNode = void 0;var _reactDom = require("react-dom");
1
+ "use strict";exports.__esModule = true;exports.getRootNode = void 0;
2
+ var _reactDom = require("react-dom");
2
3
 
3
4
 
4
5
 
5
6
  var _SSRSafe = require("../SSRSafe");
6
7
  var _client = require("../client");
7
- var _utils = require("../utils");
8
+
9
+ var _rootNodeDecorator = require("./rootNodeDecorator"); /* eslint-disable react/no-find-dom-node */
10
+
11
+ /**
12
+ * Extracts component's root HTMLElement out of it's instance
13
+ * following the "StrictMode support convention" (@see README.md#strictmode, #2518).
14
+ *
15
+ * Replaces findDOMNode but falls back to it if "convention" is not respected.
16
+ *
17
+ * @param instance Component's instance provided by React.Ref or `this` inside class-components.
18
+ * @returns Component's root HTMLElement or null
19
+ */
8
20
 
9
21
  var getRootNode = function getRootNode(instance) {
10
- if (!_client.canUseDOM) return null;
11
- if ((0, _SSRSafe.isHTMLElement)(instance) || instance === null) {
22
+ if (!_client.canUseDOM || !instance) {
23
+ // instance can be `null` if component was unmounted
24
+ // also checking undefined for convinient usage
25
+ return null;
26
+ }
27
+
28
+ if ((0, _SSRSafe.isHTMLElement)(instance)) {
29
+ // instance can be a HTMLElement already if comming
30
+ // from Refs of intrinsic elements (<div />, <button />, etc.)
12
31
  return instance;
13
32
  }
14
33
 
15
- var instanceAsAny = instance;
16
- var node;
17
- if (instanceAsAny && (0, _utils.isFunction)(instanceAsAny.getRootNode)) {
18
- node = instanceAsAny.getRootNode();
34
+ var rootNode;
35
+
36
+ if ((0, _rootNodeDecorator.isInstanceWithRootNode)(instance)) {
37
+ // it happened to be that native Node interface also has
38
+ // the "getRootNode" method, but we can ignore it here
39
+ // because we'd already checked the instance on being an HTMLElement
40
+ // which is a subclass of Node, so, just fixing types here
41
+ if (!(0, _SSRSafe.isNode)(instance)) {
42
+ rootNode = instance.getRootNode();
43
+ }
19
44
  }
20
45
 
21
- if (node !== undefined) {
22
- return node;
46
+ if (rootNode !== undefined) {
47
+ // at this point, it is rather HTMLElement (what we are looking for)
48
+ // or null (which is also OK, e.g. Popup/Tooltip/Hint before opening), so, just return it
49
+ return rootNode;
23
50
  }
24
51
 
25
- node = (0, _reactDom.findDOMNode)(instance);
26
- return node instanceof HTMLElement ? node : null;
52
+ // node is undefined, which means that the instance's root node getter doesn't exists or returns the undefined
53
+ // anyway, it tell us that the convention is not respected (by the component itself or its children),
54
+ // so, we have to fall back to the deprecated findDOMNode, which always works but breaks StrictMode
55
+ rootNode = (0, _reactDom.findDOMNode)(instance);
56
+
57
+ // the findDOMNode can also return Text, but we are only intrested in HTMLElements, so just filter it
58
+ return (0, _SSRSafe.isHTMLElement)(rootNode) ? rootNode : null;
27
59
  };exports.getRootNode = getRootNode;
@@ -1 +1 @@
1
- {"version":3,"sources":["getRootNode.ts"],"names":["getRootNode","instance","canUseDOM","instanceAsAny","node","undefined","HTMLElement"],"mappings":"oEAAA;;;;AAIA;AACA;AACA;;AAEO,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,QAAD,EAAoE;AAC7F,MAAI,CAACC,iBAAL,EAAgB,OAAO,IAAP;AAChB,MAAI,4BAAcD,QAAd,KAA2BA,QAAQ,KAAK,IAA5C,EAAkD;AAChD,WAAOA,QAAP;AACD;;AAED,MAAME,aAAa,GAAGF,QAAtB;AACA,MAAIG,IAAJ;AACA,MAAID,aAAa,IAAI,uBAAWA,aAAa,CAACH,WAAzB,CAArB,EAA4D;AAC1DI,IAAAA,IAAI,GAAGD,aAAa,CAACH,WAAd,EAAP;AACD;;AAED,MAAII,IAAI,KAAKC,SAAb,EAAwB;AACtB,WAAOD,IAAP;AACD;;AAEDA,EAAAA,IAAI,GAAG,2BAAYH,QAAZ,CAAP;AACA,SAAOG,IAAI,YAAYE,WAAhB,GAA8BF,IAA9B,GAAqC,IAA5C;AACD,CAlBM,C","sourcesContent":["import { findDOMNode } from 'react-dom';\nimport React from 'react';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { isHTMLElement } from '../SSRSafe';\nimport { canUseDOM } from '../client';\nimport { isFunction } from '../utils';\n\nexport const getRootNode = (instance: Nullable<React.ReactInstance>): Nullable<HTMLElement> => {\n if (!canUseDOM) return null;\n if (isHTMLElement(instance) || instance === null) {\n return instance;\n }\n\n const instanceAsAny = instance as any;\n let node;\n if (instanceAsAny && isFunction(instanceAsAny.getRootNode)) {\n node = instanceAsAny.getRootNode();\n }\n\n if (node !== undefined) {\n return node;\n }\n\n node = findDOMNode(instance);\n return node instanceof HTMLElement ? node : null;\n};\n"]}
1
+ {"version":3,"sources":["getRootNode.ts"],"names":["getRootNode","instance","canUseDOM","rootNode","undefined"],"mappings":";AACA;;;;AAIA;AACA;;AAEA,wD,CARA;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,QAAD,EAAoE;AAC7F,MAAI,CAACC,iBAAD,IAAc,CAACD,QAAnB,EAA6B;AAC3B;AACA;AACA,WAAO,IAAP;AACD;;AAED,MAAI,4BAAcA,QAAd,CAAJ,EAA6B;AAC3B;AACA;AACA,WAAOA,QAAP;AACD;;AAED,MAAIE,QAAJ;;AAEA,MAAI,+CAAuBF,QAAvB,CAAJ,EAAsC;AACpC;AACA;AACA;AACA;AACA,QAAI,CAAC,qBAAOA,QAAP,CAAL,EAAuB;AACrBE,MAAAA,QAAQ,GAAGF,QAAQ,CAACD,WAAT,EAAX;AACD;AACF;;AAED,MAAIG,QAAQ,KAAKC,SAAjB,EAA4B;AAC1B;AACA;AACA,WAAOD,QAAP;AACD;;AAED;AACA;AACA;AACAA,EAAAA,QAAQ,GAAG,2BAAYF,QAAZ,CAAX;;AAEA;AACA,SAAO,4BAAcE,QAAd,IAA0BA,QAA1B,GAAqC,IAA5C;AACD,CAtCM,C","sourcesContent":["/* eslint-disable react/no-find-dom-node */\nimport { findDOMNode } from 'react-dom';\nimport React from 'react';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { isHTMLElement, isNode } from '../SSRSafe';\nimport { canUseDOM } from '../client';\n\nimport { isInstanceWithRootNode } from './rootNodeDecorator';\n\n/**\n * Extracts component's root HTMLElement out of it's instance\n * following the \"StrictMode support convention\" (@see README.md#strictmode, #2518).\n *\n * Replaces findDOMNode but falls back to it if \"convention\" is not respected.\n *\n * @param instance Component's instance provided by React.Ref or `this` inside class-components.\n * @returns Component's root HTMLElement or null\n */\n\nexport const getRootNode = (instance: Nullable<React.ReactInstance>): Nullable<HTMLElement> => {\n if (!canUseDOM || !instance) {\n // instance can be `null` if component was unmounted\n // also checking undefined for convinient usage\n return null;\n }\n\n if (isHTMLElement(instance)) {\n // instance can be a HTMLElement already if comming\n // from Refs of intrinsic elements (<div />, <button />, etc.)\n return instance;\n }\n\n let rootNode;\n\n if (isInstanceWithRootNode(instance)) {\n // it happened to be that native Node interface also has\n // the \"getRootNode\" method, but we can ignore it here\n // because we'd already checked the instance on being an HTMLElement\n // which is a subclass of Node, so, just fixing types here\n if (!isNode(instance)) {\n rootNode = instance.getRootNode();\n }\n }\n\n if (rootNode !== undefined) {\n // at this point, it is rather HTMLElement (what we are looking for)\n // or null (which is also OK, e.g. Popup/Tooltip/Hint before opening), so, just return it\n return rootNode;\n }\n\n // node is undefined, which means that the instance's root node getter doesn't exists or returns the undefined\n // anyway, it tell us that the convention is not respected (by the component itself or its children),\n // so, we have to fall back to the deprecated findDOMNode, which always works but breaks StrictMode\n rootNode = findDOMNode(instance);\n\n // the findDOMNode can also return Text, but we are only intrested in HTMLElements, so just filter it\n return isHTMLElement(rootNode) ? rootNode : null;\n};\n"]}
@@ -1,11 +1,27 @@
1
1
  import React from 'react';
2
+ import EventEmitter from 'eventemitter3';
2
3
  import { Nullable } from '../../typings/utility-types';
3
4
  export declare type TSetRootNode = (e: Nullable<React.ReactNode>) => void;
4
- export declare function rootNode<T extends new (...args: any[]) => React.Component>(Component: T): {
5
+ export declare type TRootNodeSubscription = {
6
+ remove: () => void;
7
+ };
8
+ export interface InstanceWithRootNode {
9
+ getRootNode: () => Nullable<HTMLElement>;
10
+ addRootNodeChangeListener?: (callback: (node: Nullable<HTMLElement>) => void) => TRootNodeSubscription;
11
+ }
12
+ interface ComponentWithDefaultRootNode {
13
+ defaultRootNode?: HTMLElement | null;
14
+ }
15
+ interface DecoratableClassComponent extends ComponentWithDefaultRootNode {
16
+ new (...args: any[]): React.Component;
17
+ }
18
+ export declare function rootNode<T extends DecoratableClassComponent>(Component: T): {
5
19
  new (...args: any[]): {
6
20
  rootNode: Nullable<HTMLElement>;
21
+ rootNodeEmitter: EventEmitter<string | symbol, any>;
7
22
  setRootNode: (instance: Nullable<React.ReactInstance>) => void;
8
23
  getRootNode: () => Nullable<HTMLElement>;
24
+ addRootNodeChangeListener: (callback: (node: Nullable<HTMLElement>) => void) => TRootNodeSubscription;
9
25
  context: any;
10
26
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<{}>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
11
27
  forceUpdate(callback?: (() => void) | undefined): void;
@@ -30,4 +46,7 @@ export declare function rootNode<T extends new (...args: any[]) => React.Compone
30
46
  componentWillUpdate?(nextProps: Readonly<{}>, nextState: Readonly<{}>, nextContext: any): void;
31
47
  UNSAFE_componentWillUpdate?(nextProps: Readonly<{}>, nextState: Readonly<{}>, nextContext: any): void;
32
48
  };
49
+ defaultRootNode?: HTMLElement | null | undefined;
33
50
  } & T;
51
+ export declare const isInstanceWithRootNode: (instance: unknown) => instance is InstanceWithRootNode;
52
+ export {};
@@ -1,24 +1,57 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.rootNode = rootNode;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.isInstanceWithRootNode = void 0;exports.rootNode = rootNode;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
2
+
3
+ var _eventemitter = _interopRequireDefault(require("eventemitter3"));
4
+
5
+
6
+
7
+ var _getRootNode = require("./getRootNode"); /* eslint-disable react/display-name */
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
2
22
 
3
23
 
4
24
 
5
- var _getRootNode = require("./getRootNode");
6
25
 
7
26
 
8
27
 
9
28
  function rootNode(Component) {
10
29
  var rootNode = /*#__PURE__*/function (_Component) {(0, _inheritsLoose2.default)(rootNode, _Component);
11
30
 
31
+
12
32
  function rootNode() {var _this;
13
- _this = _Component.call(this, arguments.length <= 0 ? undefined : arguments[0]) || this;_this.
33
+ _this = _Component.call(this, arguments.length <= 0 ? undefined : arguments[0]) || this;_this.rootNode = Component.defaultRootNode;_this.rootNodeEmitter = new _eventemitter.default();_this.
14
34
 
15
35
 
16
36
  setRootNode = function (instance) {
17
- _this.rootNode = (0, _getRootNode.getRootNode)(instance);
37
+ var _rootNode = (0, _getRootNode.getRootNode)(instance);
38
+ if (_rootNode !== _this.rootNode) {
39
+ _this.rootNode = _rootNode;
40
+ _this.rootNodeEmitter.emit('change', _rootNode);
41
+ }
18
42
  };_this.
19
43
 
20
44
  getRootNode = function () {
21
45
  return _this.rootNode;
46
+ };_this.
47
+
48
+ addRootNodeChangeListener = function (callback) {
49
+ _this.rootNodeEmitter.addListener('change', callback);
50
+ return {
51
+ remove: function remove() {
52
+ _this.rootNodeEmitter.removeListener('change', callback);
53
+ } };
54
+
22
55
  };return _this;}return rootNode;}(Component);
23
56
 
24
57
 
@@ -28,4 +61,8 @@ function rootNode(Component) {
28
61
  }
29
62
 
30
63
  return rootNode;
31
- }
64
+ }
65
+
66
+ var isInstanceWithRootNode = function isInstanceWithRootNode(instance) {
67
+ return Boolean(instance) && Object.prototype.hasOwnProperty.call(instance, 'getRootNode');
68
+ };exports.isInstanceWithRootNode = isInstanceWithRootNode;
@@ -1 +1 @@
1
- {"version":3,"sources":["rootNodeDecorator.tsx"],"names":["rootNode","Component","setRootNode","instance","getRootNode","nameDescriptor","Object","getOwnPropertyDescriptor","configurable","defineProperty","value","name"],"mappings":";;;;AAIA;;;;AAIO,SAASA,QAAT,CAAqEC,SAArE,EAAmF;AACxF,MAAMD,QAAQ;;AAEZ,wBAAmC;AACjC,8FADiC;;;AAI5BE,MAAAA,WAJ4B,GAId,UAACC,QAAD,EAA6C;AAChE,cAAKH,QAAL,GAAgB,8BAAYG,QAAZ,CAAhB;AACD,OANkC;;AAQ5BC,MAAAA,WAR4B,GAQd,YAA6B;AAChD,eAAO,MAAKJ,QAAZ;AACD,OAVkC,cAElC,CAJW,kBAAiBC,SAAjB,CAAd;;;AAeA,MAAMI,cAAc,GAAGC,MAAM,CAACC,wBAAP,CAAgCP,QAAhC,EAA0C,MAA1C,CAAvB;AACA,MAAI,CAACK,cAAD,IAAmBA,cAAc,CAACG,YAAtC,EAAoD;AAClDF,IAAAA,MAAM,CAACG,cAAP,CAAsBT,QAAtB,EAAgC,MAAhC,EAAwC,EAAEU,KAAK,EAAET,SAAS,CAACU,IAAnB,EAAxC;AACD;;AAED,SAAOX,QAAP;AACD","sourcesContent":["import React from 'react';\n\nimport { Nullable } from '../../typings/utility-types';\n\nimport { getRootNode } from './getRootNode';\n\nexport type TSetRootNode = (e: Nullable<React.ReactNode>) => void;\n\nexport function rootNode<T extends new (...args: any[]) => React.Component>(Component: T) {\n const rootNode = class extends Component {\n public rootNode: Nullable<HTMLElement>;\n public constructor(...args: any[]) {\n super(args[0]);\n }\n\n public setRootNode = (instance: Nullable<React.ReactInstance>) => {\n this.rootNode = getRootNode(instance);\n };\n\n public getRootNode = (): Nullable<HTMLElement> => {\n return this.rootNode;\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"]}
1
+ {"version":3,"sources":["rootNodeDecorator.tsx"],"names":["rootNode","Component","defaultRootNode","rootNodeEmitter","EventEmitter","setRootNode","instance","emit","getRootNode","addRootNodeChangeListener","callback","addListener","remove","removeListener","nameDescriptor","Object","getOwnPropertyDescriptor","configurable","defineProperty","value","name","isInstanceWithRootNode","Boolean","prototype","hasOwnProperty","call"],"mappings":";;AAEA;;;;AAIA,4C,CANA;;;;;;;;;;;;;;;;;;;;;AA2BO,SAASA,QAAT,CAAuDC,SAAvD,EAAqE;AAC1E,MAAMD,QAAQ;;;AAGZ,wBAAmC;AACjC,8FADiC,MAF5BA,QAE4B,GAFMC,SAAS,CAACC,eAEhB,OAD5BC,eAC4B,GADV,IAAIC,qBAAJ,EACU;;;AAI5BC,MAAAA,WAJ4B,GAId,UAACC,QAAD,EAA6C;AAChE,YAAMN,SAAQ,GAAG,8BAAYM,QAAZ,CAAjB;AACA,YAAIN,SAAQ,KAAK,MAAKA,QAAtB,EAAgC;AAC9B,gBAAKA,QAAL,GAAgBA,SAAhB;AACA,gBAAKG,eAAL,CAAqBI,IAArB,CAA0B,QAA1B,EAAoCP,SAApC;AACD;AACF,OAVkC;;AAY5BQ,MAAAA,WAZ4B,GAYd,YAA6B;AAChD,eAAO,MAAKR,QAAZ;AACD,OAdkC;;AAgB5BS,MAAAA,yBAhB4B,GAgBA,UAACC,QAAD,EAA4E;AAC7G,cAAKP,eAAL,CAAqBQ,WAArB,CAAiC,QAAjC,EAA2CD,QAA3C;AACA,eAAO;AACLE,UAAAA,MAAM,EAAE,kBAAM;AACZ,kBAAKT,eAAL,CAAqBU,cAArB,CAAoC,QAApC,EAA8CH,QAA9C;AACD,WAHI,EAAP;;AAKD,OAvBkC,cAElC,CALW,kBAAiBT,SAAjB,CAAd;;;AA6BA,MAAMa,cAAc,GAAGC,MAAM,CAACC,wBAAP,CAAgChB,QAAhC,EAA0C,MAA1C,CAAvB;AACA,MAAI,CAACc,cAAD,IAAmBA,cAAc,CAACG,YAAtC,EAAoD;AAClDF,IAAAA,MAAM,CAACG,cAAP,CAAsBlB,QAAtB,EAAgC,MAAhC,EAAwC,EAAEmB,KAAK,EAAElB,SAAS,CAACmB,IAAnB,EAAxC;AACD;;AAED,SAAOpB,QAAP;AACD;;AAEM,IAAMqB,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACf,QAAD,EAAyD;AAC7F,SAAOgB,OAAO,CAAChB,QAAD,CAAP,IAAqBS,MAAM,CAACQ,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCnB,QAArC,EAA+C,aAA/C,CAA5B;AACD,CAFM,C","sourcesContent":["/* eslint-disable react/display-name */\nimport React from 'react';\nimport EventEmitter from 'eventemitter3';\n\nimport { Nullable } from '../../typings/utility-types';\n\nimport { getRootNode } from './getRootNode';\n\nexport type TSetRootNode = (e: Nullable<React.ReactNode>) => void;\n\nexport type TRootNodeSubscription = {\n remove: () => void;\n};\n\nexport interface InstanceWithRootNode {\n getRootNode: () => Nullable<HTMLElement>;\n addRootNodeChangeListener?: (callback: (node: Nullable<HTMLElement>) => void) => TRootNodeSubscription;\n}\n\ninterface ComponentWithDefaultRootNode {\n defaultRootNode?: HTMLElement | 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<HTMLElement> = 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<HTMLElement> => {\n return this.rootNode;\n };\n\n public addRootNodeChangeListener = (callback: (node: Nullable<HTMLElement>) => 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,5 +1,7 @@
1
1
  "use strict";exports.__esModule = true;exports.truncate = void 0;var truncate = function truncate(truncateString, maxLength, separator) {if (separator === void 0) {separator = '...';}
2
- if (truncateString.length <= maxLength) return truncateString;
2
+ if (truncateString.length <= maxLength) {
3
+ return truncateString;
4
+ }
3
5
 
4
6
  var separatorLength = separator.length;
5
7
  var charsCountToShow = maxLength - separatorLength;
@@ -1 +1 @@
1
- {"version":3,"sources":["stringUtils.ts"],"names":["truncate","truncateString","maxLength","separator","length","separatorLength","charsCountToShow","frontCharsCount","Math","ceil","backCharsCount","floor","substr"],"mappings":"iEAAO,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CAACC,cAAD,EAAyBC,SAAzB,EAA4CC,SAA5C,EAAkE,KAAtBA,SAAsB,cAAtBA,SAAsB,GAAV,KAAU;AACxF,MAAIF,cAAc,CAACG,MAAf,IAAyBF,SAA7B,EAAwC,OAAOD,cAAP;;AAExC,MAAMI,eAAe,GAAGF,SAAS,CAACC,MAAlC;AACA,MAAME,gBAAgB,GAAGJ,SAAS,GAAGG,eAArC;;AAEA,MAAME,eAAe,GAAGC,IAAI,CAACC,IAAL,CAAUH,gBAAgB,GAAG,CAA7B,CAAxB;AACA,MAAMI,cAAc,GAAGF,IAAI,CAACG,KAAL,CAAWL,gBAAgB,GAAG,CAA9B,CAAvB;;AAEA,cAAUL,cAAc,CAACW,MAAf,CAAsB,CAAtB,EAAyBL,eAAzB,CAAV,GAAsDJ,SAAtD,GAAkEF,cAAc,CAACW,MAAf;AAChEX,EAAAA,cAAc,CAACG,MAAf,GAAwBM,cADwC,CAAlE;;AAGD,CAZM,C","sourcesContent":["export const truncate = (truncateString: string, maxLength: number, separator = '...') => {\n if (truncateString.length <= maxLength) return truncateString;\n\n const separatorLength = separator.length;\n const charsCountToShow = maxLength - separatorLength;\n\n const frontCharsCount = Math.ceil(charsCountToShow / 2);\n const backCharsCount = Math.floor(charsCountToShow / 2);\n\n return `${truncateString.substr(0, frontCharsCount)}${separator}${truncateString.substr(\n truncateString.length - backCharsCount,\n )}`;\n};\n"]}
1
+ {"version":3,"sources":["stringUtils.ts"],"names":["truncate","truncateString","maxLength","separator","length","separatorLength","charsCountToShow","frontCharsCount","Math","ceil","backCharsCount","floor","substr"],"mappings":"iEAAO,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CAACC,cAAD,EAAyBC,SAAzB,EAA4CC,SAA5C,EAAkE,KAAtBA,SAAsB,cAAtBA,SAAsB,GAAV,KAAU;AACxF,MAAIF,cAAc,CAACG,MAAf,IAAyBF,SAA7B,EAAwC;AACtC,WAAOD,cAAP;AACD;;AAED,MAAMI,eAAe,GAAGF,SAAS,CAACC,MAAlC;AACA,MAAME,gBAAgB,GAAGJ,SAAS,GAAGG,eAArC;;AAEA,MAAME,eAAe,GAAGC,IAAI,CAACC,IAAL,CAAUH,gBAAgB,GAAG,CAA7B,CAAxB;AACA,MAAMI,cAAc,GAAGF,IAAI,CAACG,KAAL,CAAWL,gBAAgB,GAAG,CAA9B,CAAvB;;AAEA,cAAUL,cAAc,CAACW,MAAf,CAAsB,CAAtB,EAAyBL,eAAzB,CAAV,GAAsDJ,SAAtD,GAAkEF,cAAc,CAACW,MAAf;AAChEX,EAAAA,cAAc,CAACG,MAAf,GAAwBM,cADwC,CAAlE;;AAGD,CAdM,C","sourcesContent":["export const truncate = (truncateString: string, maxLength: number, separator = '...') => {\n if (truncateString.length <= maxLength) {\n return truncateString;\n }\n\n const separatorLength = separator.length;\n const charsCountToShow = maxLength - separatorLength;\n\n const frontCharsCount = Math.ceil(charsCountToShow / 2);\n const backCharsCount = Math.floor(charsCountToShow / 2);\n\n return `${truncateString.substr(0, frontCharsCount)}${separator}${truncateString.substr(\n truncateString.length - backCharsCount,\n )}`;\n};\n"]}
@@ -34,14 +34,14 @@ ColorFactory = /*#__PURE__*/function () {function ColorFactory() {}ColorFactory.
34
34
  (0, _warning.default)(false, "Invalid type of input (" + typeof input + "), expected a string. Returning transparent color");
35
35
  return new _ColorObject.ColorObject([0, 0, 0], 1.0, 'transparent');
36
36
  }
37
- input = input.toLowerCase().trim();
37
+ var lowercasedTrimmedInput = input.toLowerCase().trim();
38
38
 
39
- if (input === 'transparent') {
39
+ if (lowercasedTrimmedInput === 'transparent') {
40
40
  return new _ColorObject.ColorObject([0, 0, 0], 0, 'transparent');
41
- } else if (this.isKeyword(input)) {
42
- return this.fromKeyword(input);
43
- } else if (input.startsWith('rgb')) {
44
- var parts = (0, _ColorHelpers.extractColorParts)(input, RGB_REGEX, RGBA_REGEX);
41
+ } else if (this.isKeyword(lowercasedTrimmedInput)) {
42
+ return this.fromKeyword(lowercasedTrimmedInput);
43
+ } else if (lowercasedTrimmedInput.startsWith('rgb')) {
44
+ var parts = (0, _ColorHelpers.extractColorParts)(lowercasedTrimmedInput, RGB_REGEX, RGBA_REGEX);
45
45
  var _parseRGBParts = (0, _ColorHelpers.parseRGBParts)(parts),r = _parseRGBParts.r,g = _parseRGBParts.g,b = _parseRGBParts.b,a = _parseRGBParts.a;
46
46
 
47
47
  r = (0, _ColorHelpers.clamp)(r, 255);
@@ -50,8 +50,8 @@ ColorFactory = /*#__PURE__*/function () {function ColorFactory() {}ColorFactory.
50
50
  a = (0, _ColorHelpers.clamp)(a, 1);
51
51
 
52
52
  return this.fromRGB(r, g, b, a);
53
- } else if (input.startsWith('hsl')) {
54
- var _parts = (0, _ColorHelpers.extractColorParts)(input, HSL_REGEX, HSLA_REGEX);
53
+ } else if (lowercasedTrimmedInput.startsWith('hsl')) {
54
+ var _parts = (0, _ColorHelpers.extractColorParts)(lowercasedTrimmedInput, HSL_REGEX, HSLA_REGEX);
55
55
  var _parseHSLParts = (0, _ColorHelpers.parseHSLParts)(_parts),h = _parseHSLParts.h,s = _parseHSLParts.s,l = _parseHSLParts.l,_a = _parseHSLParts.a;
56
56
 
57
57
  h = (0, _ColorHelpers.clamp)(h, 360);
@@ -62,7 +62,7 @@ ColorFactory = /*#__PURE__*/function () {function ColorFactory() {}ColorFactory.
62
62
  return this.fromHSL(h, s, l, _a);
63
63
  }
64
64
 
65
- return this.fromHex(input);
65
+ return this.fromHex(lowercasedTrimmedInput);
66
66
  };ColorFactory.
67
67
 
68
68
  isKeyword = function isKeyword(input) {
@@ -1 +1 @@
1
- {"version":3,"sources":["ColorFactory.ts"],"names":["RGB_REGEX","RGBA_REGEX","HSL_REGEX","HSLA_REGEX","HEX_REGEX","ColorFactory","create","input","cache","Object","freeze","instantiate","ColorObject","toLowerCase","trim","isKeyword","fromKeyword","startsWith","parts","r","g","b","a","fromRGB","h","s","l","fromHSL","fromHex","prototype","hasOwnProperty","call","ColorKeywords","keyword","hexString","type","test","Error","colorCode","substring","rgb","length","match","forEach","c","i","parseInt","split","gray","Math","round","hDeg","t1","t2"],"mappings":"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","sourcesContent":["import warning from 'warning';\n\nimport { clamp, extractColorParts, hue2rgb, parseHSLParts, parseRGBParts } from './ColorHelpers';\nimport { ColorKeywords } from './ColorKeywords';\nimport { ColorKeywordsType, ColorObject, ColorType, RGBTuple } from './ColorObject';\n\ninterface ColorFactoryCacheType {\n [key: string]: ColorObject;\n}\n\nconst RGB_REGEX =\n /rgb\\(\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*\\)/;\nconst RGBA_REGEX =\n /rgba\\(\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*\\)/;\nconst HSL_REGEX =\n /hsl\\(\\s*(\\d{1,3})\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*\\)/;\nconst HSLA_REGEX =\n /hsla\\(\\s*(\\d{1,3})\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*\\)/;\nconst HEX_REGEX = /^#([0-9a-f]{3}|[0-9a-f]{6})$/;\n\nexport class ColorFactory {\n public static create(input: string) {\n if (!this.cache[input]) {\n this.cache[input] = Object.freeze(this.instantiate(input));\n }\n\n return this.cache[input];\n }\n\n private static cache: ColorFactoryCacheType = Object.create(null);\n\n private static instantiate(input: string) {\n if (typeof input !== 'string') {\n warning(false, `Invalid type of input (${typeof input}), expected a string. Returning transparent color`);\n return new ColorObject([0, 0, 0], 1.0, 'transparent');\n }\n input = input.toLowerCase().trim();\n\n if (input === 'transparent') {\n return new ColorObject([0, 0, 0], 0, 'transparent');\n } else if (this.isKeyword(input)) {\n return this.fromKeyword(input);\n } else if (input.startsWith('rgb')) {\n const parts = extractColorParts(input, 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 (input.startsWith('hsl')) {\n const parts = extractColorParts(input, 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(input);\n }\n\n private static isKeyword(input: string): input is ColorKeywordsType {\n return Object.prototype.hasOwnProperty.call(ColorKeywords, input);\n }\n\n private static fromKeyword(keyword: ColorKeywordsType) {\n return this.fromHex(ColorKeywords[keyword], keyword);\n }\n\n private static fromHex(hexString: string, type: ColorType = 'hex') {\n if (!HEX_REGEX.test(hexString)) {\n throw new Error(`${hexString} is not a valid hex color string`);\n }\n\n const colorCode = hexString.substring(1);\n const rgb: RGBTuple = [0, 0, 0];\n if (colorCode.length === 6) {\n colorCode.match(/.{2}/g)!.forEach((c, i) => {\n rgb[i] = parseInt(c, 16);\n });\n } else if (colorCode.length === 3) {\n colorCode.split('').forEach((c, i) => {\n rgb[i] = parseInt(c + c, 16);\n });\n }\n return new ColorObject(rgb, 1.0, type);\n }\n\n private static fromRGB(r: number, g: number, b: number, a = 1.0) {\n return new ColorObject([r, g, b], a, a < 1 ? 'rgba' : 'rgb');\n }\n\n private static fromHSL(h: number, s: number, l: number, a = 1.0) {\n if (s === 0) {\n const gray = Math.round(l * 255);\n return new ColorObject([gray, gray, gray], a, a < 1 ? 'hsla' : 'hsl');\n }\n\n const hDeg = h / 360;\n const t1 = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const t2 = l * 2 - t1;\n\n const r = hue2rgb(hDeg + 1 / 3, t1, t2);\n const g = hue2rgb(hDeg, t1, t2);\n const b = hue2rgb(hDeg - 1 / 3, t1, t2);\n\n const rgb: RGBTuple = [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];\n return new ColorObject(rgb, a, a < 1 ? 'hsla' : 'hsl');\n }\n}\n"]}
1
+ {"version":3,"sources":["ColorFactory.ts"],"names":["RGB_REGEX","RGBA_REGEX","HSL_REGEX","HSLA_REGEX","HEX_REGEX","ColorFactory","create","input","cache","Object","freeze","instantiate","ColorObject","lowercasedTrimmedInput","toLowerCase","trim","isKeyword","fromKeyword","startsWith","parts","r","g","b","a","fromRGB","h","s","l","fromHSL","fromHex","prototype","hasOwnProperty","call","ColorKeywords","keyword","hexString","type","test","Error","colorCode","substring","rgb","length","match","forEach","c","i","parseInt","split","gray","Math","round","hDeg","t1","t2"],"mappings":"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","sourcesContent":["import warning from 'warning';\n\nimport { clamp, extractColorParts, hue2rgb, parseHSLParts, parseRGBParts } from './ColorHelpers';\nimport { ColorKeywords } from './ColorKeywords';\nimport { ColorKeywordsType, ColorObject, ColorType, RGBTuple } from './ColorObject';\n\ninterface ColorFactoryCacheType {\n [key: string]: ColorObject;\n}\n\nconst RGB_REGEX =\n /rgb\\(\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*\\)/;\nconst RGBA_REGEX =\n /rgba\\(\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*\\)/;\nconst HSL_REGEX =\n /hsl\\(\\s*(\\d{1,3})\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*\\)/;\nconst HSLA_REGEX =\n /hsla\\(\\s*(\\d{1,3})\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*\\)/;\nconst HEX_REGEX = /^#([0-9a-f]{3}|[0-9a-f]{6})$/;\n\nexport class ColorFactory {\n public static create(input: string) {\n if (!this.cache[input]) {\n this.cache[input] = Object.freeze(this.instantiate(input));\n }\n\n return this.cache[input];\n }\n\n private static cache: ColorFactoryCacheType = Object.create(null);\n\n private static instantiate(input: string) {\n if (typeof input !== 'string') {\n warning(false, `Invalid type of input (${typeof input}), expected a string. Returning transparent color`);\n return new ColorObject([0, 0, 0], 1.0, 'transparent');\n }\n const lowercasedTrimmedInput = input.toLowerCase().trim();\n\n if (lowercasedTrimmedInput === 'transparent') {\n return new ColorObject([0, 0, 0], 0, 'transparent');\n } else if (this.isKeyword(lowercasedTrimmedInput)) {\n return this.fromKeyword(lowercasedTrimmedInput);\n } else if (lowercasedTrimmedInput.startsWith('rgb')) {\n const parts = extractColorParts(lowercasedTrimmedInput, RGB_REGEX, RGBA_REGEX);\n let { r, g, b, a } = parseRGBParts(parts);\n\n r = clamp(r, 255);\n g = clamp(g, 255);\n b = clamp(b, 255);\n a = clamp(a, 1);\n\n return this.fromRGB(r, g, b, a);\n } else if (lowercasedTrimmedInput.startsWith('hsl')) {\n const parts = extractColorParts(lowercasedTrimmedInput, HSL_REGEX, HSLA_REGEX);\n let { h, s, l, a } = parseHSLParts(parts);\n\n h = clamp(h, 360);\n s = clamp(s, 1);\n l = clamp(l, 1);\n a = clamp(a, 1);\n\n return this.fromHSL(h, s, l, a);\n }\n\n return this.fromHex(lowercasedTrimmedInput);\n }\n\n private static isKeyword(input: string): input is ColorKeywordsType {\n return Object.prototype.hasOwnProperty.call(ColorKeywords, input);\n }\n\n private static fromKeyword(keyword: ColorKeywordsType) {\n return this.fromHex(ColorKeywords[keyword], keyword);\n }\n\n private static fromHex(hexString: string, type: ColorType = 'hex') {\n if (!HEX_REGEX.test(hexString)) {\n throw new Error(`${hexString} is not a valid hex color string`);\n }\n\n const colorCode = hexString.substring(1);\n const rgb: RGBTuple = [0, 0, 0];\n if (colorCode.length === 6) {\n colorCode.match(/.{2}/g)!.forEach((c, i) => {\n rgb[i] = parseInt(c, 16);\n });\n } else if (colorCode.length === 3) {\n colorCode.split('').forEach((c, i) => {\n rgb[i] = parseInt(c + c, 16);\n });\n }\n return new ColorObject(rgb, 1.0, type);\n }\n\n private static fromRGB(r: number, g: number, b: number, a = 1.0) {\n return new ColorObject([r, g, b], a, a < 1 ? 'rgba' : 'rgb');\n }\n\n private static fromHSL(h: number, s: number, l: number, a = 1.0) {\n if (s === 0) {\n const gray = Math.round(l * 255);\n return new ColorObject([gray, gray, gray], a, a < 1 ? 'hsla' : 'hsl');\n }\n\n const hDeg = h / 360;\n const t1 = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const t2 = l * 2 - t1;\n\n const r = hue2rgb(hDeg + 1 / 3, t1, t2);\n const g = hue2rgb(hDeg, t1, t2);\n const b = hue2rgb(hDeg - 1 / 3, t1, t2);\n\n const rgb: RGBTuple = [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];\n return new ColorObject(rgb, a, a < 1 ? 'hsla' : 'hsl');\n }\n}\n"]}
@@ -18,3 +18,4 @@ export declare function parseHSLParts(parts: string[]): {
18
18
  export declare function parseToInteger(part: string, size: number): number;
19
19
  export declare function parseToFloat(part: string): number;
20
20
  export declare function hue2rgb(hue: number, t1: number, t2: number): number;
21
+ export declare const isColor: (input: string) => boolean;
@@ -1,4 +1,6 @@
1
- "use strict";exports.__esModule = true;exports.clamp = clamp;exports.extractColorParts = extractColorParts;exports.floatFromPercent = floatFromPercent;exports.hue2rgb = hue2rgb;exports.integerFromPercent = integerFromPercent;exports.parseHSLParts = parseHSLParts;exports.parseRGBParts = parseRGBParts;exports.parseToFloat = parseToFloat;exports.parseToInteger = parseToInteger;exports.roundToPrecision = roundToPrecision;function clamp(val, max) {if (max === void 0) {max = 1;}
1
+ "use strict";exports.__esModule = true;exports.clamp = clamp;exports.extractColorParts = extractColorParts;exports.floatFromPercent = floatFromPercent;exports.hue2rgb = hue2rgb;exports.integerFromPercent = integerFromPercent;exports.isColor = void 0;exports.parseHSLParts = parseHSLParts;exports.parseRGBParts = parseRGBParts;exports.parseToFloat = parseToFloat;exports.parseToInteger = parseToInteger;exports.roundToPrecision = roundToPrecision;var _utils = require("../utils");
2
+
3
+ function clamp(val, max) {if (max === void 0) {max = 1;}
2
4
  return Math.min(max, Math.max(0, val));
3
5
  }
4
6
 
@@ -78,21 +80,42 @@ function parseToFloat(part) {
78
80
  return part.endsWith('%') ? floatFromPercent(part) : parseFloat(part);
79
81
  }
80
82
 
81
- function hue2rgb(hue, t1, t2) {
83
+ var calculateHue = function calculateHue(hue) {
82
84
  if (hue < 0) {
83
- hue += 1;
85
+ return hue + 1;
84
86
  }
87
+
85
88
  if (hue > 1) {
86
- hue -= 1;
89
+ return hue - 1;
87
90
  }
88
- if (hue < 1 / 6) {
89
- return t2 + (t1 - t2) * 6 * hue;
91
+
92
+ return hue;
93
+ };
94
+
95
+ function hue2rgb(hue, t1, t2) {
96
+ var calculatedHue = calculateHue(hue);
97
+
98
+ if (calculatedHue < 1 / 6) {
99
+ return t2 + (t1 - t2) * 6 * calculatedHue;
90
100
  }
91
- if (hue < 1 / 2) {
101
+
102
+ if (calculatedHue < 1 / 2) {
92
103
  return t1;
93
104
  }
94
- if (hue < 2 / 3) {
95
- return t2 + (t1 - t2) * (2 / 3 - hue) * 6;
105
+
106
+ if (calculatedHue < 2 / 3) {
107
+ return t2 + (t1 - t2) * (2 / 3 - calculatedHue) * 6;
96
108
  }
109
+
97
110
  return t2;
98
- }
111
+ }
112
+
113
+ var isColor = function isColor(input) {
114
+ var colorStarters = ['#', 'rgb', 'hsl'];
115
+
116
+ if (input) {
117
+ return (0, _utils.startsWithOneOf)(colorStarters, input);
118
+ }
119
+
120
+ return false;
121
+ };exports.isColor = isColor;
@@ -1 +1 @@
1
- {"version":3,"sources":["ColorHelpers.ts"],"names":["clamp","val","max","Math","min","integerFromPercent","n","size","round","parseFloat","floatFromPercent","toFixed","roundToPrecision","precision","extractColorParts","input","solidRegex","alphaRegex","parts","exec","Error","parseRGBParts","r","parseToInteger","g","b","a","parseToFloat","isNaN","parseHSLParts","h","parseInt","s","l","part","endsWith","hue2rgb","hue","t1","t2"],"mappings":"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","sourcesContent":["export function clamp(val: number, max = 1) {\n return Math.min(max, Math.max(0, val));\n}\n\nexport function integerFromPercent(n: string, size: number) {\n return Math.round((parseFloat(n) * size) / 100);\n}\n\nexport function floatFromPercent(n: string) {\n return parseFloat((parseFloat(n) / 100).toFixed(5));\n}\n\nexport function roundToPrecision(n: number, precision = 2) {\n return parseFloat(n.toFixed(precision));\n}\n\nexport function extractColorParts(input: string, solidRegex: RegExp, alphaRegex?: RegExp) {\n let parts = solidRegex.exec(input);\n if (!parts && alphaRegex) {\n parts = alphaRegex.exec(input);\n }\n\n if (!parts) {\n throw new Error(`${input} does not match color patterns: [\n ${solidRegex}\n ${alphaRegex}\n ]`);\n }\n\n return parts;\n}\n\nexport function parseRGBParts(parts: string[]) {\n const r = parseToInteger(parts[1], 255);\n const g = parseToInteger(parts[2], 255);\n const b = parseToInteger(parts[3], 255);\n const a = parts[4] ? parseToFloat(parts[4]) : 1.0;\n\n if (isNaN(r)) {\n throw new Error(`Could not parse red=${parts[1]} to number`);\n }\n if (isNaN(g)) {\n throw new Error(`Could not parse green=${parts[2]} to number`);\n }\n if (isNaN(b)) {\n throw new Error(`Could not parse blue=${parts[3]} to number`);\n }\n if (isNaN(a)) {\n throw new Error(`Could not parse alpha=${parts[4]} to number`);\n }\n return { r, g, b, a };\n}\n\nexport function parseHSLParts(parts: string[]) {\n const h = parseInt(parts[1], 10);\n const s = parseToFloat(parts[2]);\n const l = parseToFloat(parts[3]);\n const a = parts[4] ? parseToFloat(parts[4]) : 1.0;\n\n if (isNaN(h)) {\n throw new Error(`Could not parse hue=${parts[1]} to number`);\n } else if (isNaN(s)) {\n throw new Error(`Could not parse saturation=${parts[2]} to number`);\n } else if (isNaN(l)) {\n throw new Error(`Could not parse lightness=${parts[3]} to number`);\n } else if (isNaN(a)) {\n throw new Error(`Could not parse alpha=${parts[4]} to number`);\n }\n\n return { h, s, l, a };\n}\n\nexport function parseToInteger(part: string, size: number) {\n return part.endsWith('%') ? integerFromPercent(part, size) : parseInt(part, 10);\n}\n\nexport function parseToFloat(part: string) {\n return part.endsWith('%') ? floatFromPercent(part) : parseFloat(part);\n}\n\nexport function hue2rgb(hue: number, t1: number, t2: number) {\n if (hue < 0) {\n hue += 1;\n }\n if (hue > 1) {\n hue -= 1;\n }\n if (hue < 1 / 6) {\n return t2 + (t1 - t2) * 6 * hue;\n }\n if (hue < 1 / 2) {\n return t1;\n }\n if (hue < 2 / 3) {\n return t2 + (t1 - t2) * (2 / 3 - hue) * 6;\n }\n return t2;\n}\n"]}
1
+ {"version":3,"sources":["ColorHelpers.ts"],"names":["clamp","val","max","Math","min","integerFromPercent","n","size","round","parseFloat","floatFromPercent","toFixed","roundToPrecision","precision","extractColorParts","input","solidRegex","alphaRegex","parts","exec","Error","parseRGBParts","r","parseToInteger","g","b","a","parseToFloat","isNaN","parseHSLParts","h","parseInt","s","l","part","endsWith","calculateHue","hue","hue2rgb","t1","t2","calculatedHue","isColor","colorStarters"],"mappings":"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","sourcesContent":["import { startsWithOneOf } from '../utils';\n\nexport function clamp(val: number, max = 1) {\n return Math.min(max, Math.max(0, val));\n}\n\nexport function integerFromPercent(n: string, size: number) {\n return Math.round((parseFloat(n) * size) / 100);\n}\n\nexport function floatFromPercent(n: string) {\n return parseFloat((parseFloat(n) / 100).toFixed(5));\n}\n\nexport function roundToPrecision(n: number, precision = 2) {\n return parseFloat(n.toFixed(precision));\n}\n\nexport function extractColorParts(input: string, solidRegex: RegExp, alphaRegex?: RegExp) {\n let parts = solidRegex.exec(input);\n if (!parts && alphaRegex) {\n parts = alphaRegex.exec(input);\n }\n\n if (!parts) {\n throw new Error(`${input} does not match color patterns: [\n ${solidRegex}\n ${alphaRegex}\n ]`);\n }\n\n return parts;\n}\n\nexport function parseRGBParts(parts: string[]) {\n const r = parseToInteger(parts[1], 255);\n const g = parseToInteger(parts[2], 255);\n const b = parseToInteger(parts[3], 255);\n const a = parts[4] ? parseToFloat(parts[4]) : 1.0;\n\n if (isNaN(r)) {\n throw new Error(`Could not parse red=${parts[1]} to number`);\n }\n if (isNaN(g)) {\n throw new Error(`Could not parse green=${parts[2]} to number`);\n }\n if (isNaN(b)) {\n throw new Error(`Could not parse blue=${parts[3]} to number`);\n }\n if (isNaN(a)) {\n throw new Error(`Could not parse alpha=${parts[4]} to number`);\n }\n return { r, g, b, a };\n}\n\nexport function parseHSLParts(parts: string[]) {\n const h = parseInt(parts[1], 10);\n const s = parseToFloat(parts[2]);\n const l = parseToFloat(parts[3]);\n const a = parts[4] ? parseToFloat(parts[4]) : 1.0;\n\n if (isNaN(h)) {\n throw new Error(`Could not parse hue=${parts[1]} to number`);\n } else if (isNaN(s)) {\n throw new Error(`Could not parse saturation=${parts[2]} to number`);\n } else if (isNaN(l)) {\n throw new Error(`Could not parse lightness=${parts[3]} to number`);\n } else if (isNaN(a)) {\n throw new Error(`Could not parse alpha=${parts[4]} to number`);\n }\n\n return { h, s, l, a };\n}\n\nexport function parseToInteger(part: string, size: number) {\n return part.endsWith('%') ? integerFromPercent(part, size) : parseInt(part, 10);\n}\n\nexport function parseToFloat(part: string) {\n return part.endsWith('%') ? floatFromPercent(part) : parseFloat(part);\n}\n\nconst calculateHue = (hue: number) => {\n if (hue < 0) {\n return hue + 1;\n }\n\n if (hue > 1) {\n return hue - 1;\n }\n\n return hue;\n};\n\nexport function hue2rgb(hue: number, t1: number, t2: number) {\n const calculatedHue = calculateHue(hue);\n\n if (calculatedHue < 1 / 6) {\n return t2 + (t1 - t2) * 6 * calculatedHue;\n }\n\n if (calculatedHue < 1 / 2) {\n return t1;\n }\n\n if (calculatedHue < 2 / 3) {\n return t2 + (t1 - t2) * (2 / 3 - calculatedHue) * 6;\n }\n\n return t2;\n}\n\nexport const isColor = (input: string) => {\n const colorStarters = ['#', 'rgb', 'hsl'];\n\n if (input) {\n return startsWithOneOf(colorStarters, input);\n }\n\n return false;\n};\n"]}
@@ -63,8 +63,9 @@ ColorObject = /*#__PURE__*/function () {
63
63
  '#' +
64
64
  this.rgb.
65
65
  map(function (c) {
66
- c = (0, _ColorHelpers.clamp)(Math.round(c), 255);
67
- return (c < 16 ? '0' : '') + c.toString(16);
66
+ var clamped = (0, _ColorHelpers.clamp)(Math.round(c), 255);
67
+
68
+ return (clamped < 16 ? '0' : '') + clamped.toString(16);
68
69
  }).
69
70
  join(''));
70
71