@skbkontur/react-ui 4.0.6 → 4.1.2

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 (573) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +1 -1
  3. package/cjs/components/Autocomplete/Autocomplete.js +8 -4
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.d.ts +1 -5
  6. package/cjs/components/Button/Button.js +4 -12
  7. package/cjs/components/Button/Button.js.map +1 -1
  8. package/cjs/components/Checkbox/Checkbox.d.ts +5 -0
  9. package/cjs/components/Checkbox/Checkbox.js +29 -1
  10. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  11. package/cjs/components/Checkbox/Checkbox.styles.d.ts +1 -0
  12. package/cjs/components/Checkbox/Checkbox.styles.js +27 -24
  13. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  14. package/cjs/components/CurrencyInput/CurrencyHelper.js +18 -12
  15. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  16. package/cjs/components/CurrencyInput/CurrencyInput.js +15 -7
  17. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  18. package/cjs/components/CurrencyInput/CurrencyInputHelper.js +7 -5
  19. package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  20. package/cjs/components/CurrencyInput/CursorHelper.js +19 -16
  21. package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
  22. package/cjs/components/DateInput/DateInput.js +5 -1
  23. package/cjs/components/DateInput/DateInput.js.map +1 -1
  24. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +2 -2
  25. package/cjs/components/DateInput/helpers/InternalDateMediator.js +12 -2
  26. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  27. package/cjs/components/DateInput/helpers/inputNumber.d.ts +1 -1
  28. package/cjs/components/DateInput/helpers/inputNumber.js +45 -12
  29. package/cjs/components/DateInput/helpers/inputNumber.js.map +1 -1
  30. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -4
  31. package/cjs/components/DropdownMenu/DropdownMenu.js +2 -16
  32. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  33. package/cjs/components/FileUploader/FileUploader.js +8 -5
  34. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  35. package/cjs/components/FileUploader/FileUploader.styles.d.ts +3 -2
  36. package/cjs/components/FileUploader/FileUploader.styles.js +21 -15
  37. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  38. package/cjs/components/Gapped/Gapped.js +4 -3
  39. package/cjs/components/Gapped/Gapped.js.map +1 -1
  40. package/cjs/components/GlobalLoader/GlobalLoader.js +3 -5
  41. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  42. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js +5 -7
  43. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -1
  44. package/cjs/components/Group/Group.js +74 -31
  45. package/cjs/components/Group/Group.js.map +1 -1
  46. package/cjs/components/Input/Input.d.ts +1 -5
  47. package/cjs/components/Input/Input.js +14 -21
  48. package/cjs/components/Input/Input.js.map +1 -1
  49. package/cjs/components/Kebab/Kebab.d.ts +2 -13
  50. package/cjs/components/Kebab/Kebab.js +5 -29
  51. package/cjs/components/Kebab/Kebab.js.map +1 -1
  52. package/cjs/components/MenuItem/MenuItem.styles.js +3 -2
  53. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  54. package/cjs/components/Modal/Modal.js +2 -1
  55. package/cjs/components/Modal/Modal.js.map +1 -1
  56. package/cjs/components/Modal/Modal.styles.js +10 -6
  57. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  58. package/cjs/components/Modal/ModalFooter.js +1 -1
  59. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  60. package/cjs/components/Modal/ModalHeader.js +1 -1
  61. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  62. package/cjs/components/Paging/Paging.d.ts +13 -3
  63. package/cjs/components/Paging/Paging.js +15 -4
  64. package/cjs/components/Paging/Paging.js.map +1 -1
  65. package/cjs/components/Paging/PagingDefaultComponent.d.ts +9 -0
  66. package/cjs/components/Paging/PagingDefaultComponent.js +21 -0
  67. package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -0
  68. package/cjs/components/PasswordInput/PasswordInput.d.ts +2 -0
  69. package/cjs/components/PasswordInput/PasswordInput.js +23 -6
  70. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  71. package/cjs/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
  72. package/cjs/components/PasswordInput/PasswordInputIcon.js +15 -0
  73. package/cjs/components/PasswordInput/PasswordInputIcon.js.map +1 -0
  74. package/cjs/components/Radio/Radio.styles.js +4 -7
  75. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  76. package/cjs/components/RadioGroup/RadioGroup.js +1 -1
  77. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  78. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +7 -2
  79. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +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/Select/Select.js +33 -15
  83. package/cjs/components/Select/Select.js.map +1 -1
  84. package/cjs/components/SidePage/SidePage.js +2 -1
  85. package/cjs/components/SidePage/SidePage.js.map +1 -1
  86. package/cjs/components/Spinner/Spinner.d.ts +0 -1
  87. package/cjs/components/Spinner/Spinner.js +1 -5
  88. package/cjs/components/Spinner/Spinner.js.map +1 -1
  89. package/cjs/components/Spinner/SpinnerFallbackAnimation.js +16 -5
  90. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  91. package/cjs/components/Switcher/Switcher.styles.js +2 -2
  92. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  93. package/cjs/components/Textarea/Textarea.d.ts +2 -2
  94. package/cjs/components/Textarea/Textarea.js +6 -6
  95. package/cjs/components/Textarea/Textarea.js.map +1 -1
  96. package/cjs/components/Textarea/TextareaCounter.d.ts +1 -2
  97. package/cjs/components/Textarea/TextareaCounter.js +15 -6
  98. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  99. package/cjs/components/Toast/ToastView.js +1 -1
  100. package/cjs/components/Toast/ToastView.js.map +1 -1
  101. package/cjs/components/Toast/ToastView.styles.d.ts +1 -1
  102. package/cjs/components/Toast/ToastView.styles.js +3 -2
  103. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  104. package/cjs/components/Toggle/Toggle.d.ts +1 -1
  105. package/cjs/components/Toggle/Toggle.js.map +1 -1
  106. package/cjs/components/Toggle/Toggle.styles.js +12 -10
  107. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  108. package/cjs/components/Token/Token.js +14 -2
  109. package/cjs/components/Token/Token.js.map +1 -1
  110. package/cjs/components/Token/Token.styles.js +13 -6
  111. package/cjs/components/Token/Token.styles.js.map +1 -1
  112. package/cjs/components/TokenInput/TokenInput.d.ts +10 -0
  113. package/cjs/components/TokenInput/TokenInput.js +30 -12
  114. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  115. package/cjs/components/TokenInput/TokenInput.styles.js +3 -2
  116. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  117. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  118. package/cjs/components/Tooltip/Tooltip.js +5 -2
  119. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  120. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +1 -1
  121. package/cjs/components/TooltipMenu/TooltipMenu.js +2 -0
  122. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  123. package/cjs/hooks/useDrop.js +3 -1
  124. package/cjs/hooks/useDrop.js.map +1 -1
  125. package/cjs/index.d.ts +2 -0
  126. package/cjs/index.js +2 -0
  127. package/cjs/index.js.map +1 -1
  128. package/cjs/internal/Calendar/Calendar.js +3 -3
  129. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  130. package/cjs/internal/Calendar/CalendarDateShape.d.ts +1 -1
  131. package/cjs/internal/Calendar/MonthViewModel.js +36 -17
  132. package/cjs/internal/Calendar/MonthViewModel.js.map +1 -1
  133. package/cjs/internal/CommonWrapper/CommonWrapper.js +3 -3
  134. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  135. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +6 -1
  136. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  137. package/cjs/internal/CustomComboBox/CustomComboBox.js +3 -2
  138. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  139. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +16 -16
  140. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +35 -35
  141. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  142. package/cjs/internal/DateSelect/DateSelect.js +22 -11
  143. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  144. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +3 -1
  145. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
  146. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +14 -10
  147. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -1
  148. package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -1
  149. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  150. package/cjs/internal/InternalMenu/InternalMenu.js +5 -12
  151. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  152. package/cjs/internal/InternalMenu/InternalMenu.styles.js +2 -2
  153. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  154. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -0
  155. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js +16 -0
  156. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js.map +1 -0
  157. package/cjs/internal/MaskedInput/MaskedInput.js +9 -2
  158. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  159. package/cjs/internal/Menu/Menu.js +14 -18
  160. package/cjs/internal/Menu/Menu.js.map +1 -1
  161. package/cjs/internal/Menu/Menu.styles.js +5 -3
  162. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  163. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  164. package/cjs/internal/Popup/Popup.d.ts +1 -0
  165. package/cjs/internal/Popup/Popup.js +8 -9
  166. package/cjs/internal/Popup/Popup.js.map +1 -1
  167. package/cjs/internal/PopupMenu/PopupMenu.d.ts +4 -0
  168. package/cjs/internal/PopupMenu/PopupMenu.js +13 -0
  169. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  170. package/cjs/internal/PopupMenu/validatePositions.js +6 -6
  171. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  172. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +1 -0
  173. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
  174. package/cjs/internal/RenderContainer/RenderInnerContainer.js +9 -1
  175. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  176. package/cjs/internal/RenderLayer/RenderLayer.js +4 -1
  177. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  178. package/cjs/internal/ThemePlayground/Playground.js +11 -19
  179. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  180. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +4 -0
  181. package/cjs/internal/ThemePlayground/SizesGroup.js +20 -0
  182. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -0
  183. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -0
  184. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +14 -2
  185. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  186. package/cjs/internal/ThemePlayground/ThemeEditor.js +6 -1
  187. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  188. package/cjs/internal/ThemePlayground/VariableValue.js +18 -6
  189. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  190. package/cjs/internal/ThemePlayground/constants.d.ts +3 -1
  191. package/cjs/internal/ThemePlayground/constants.js +3 -1
  192. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  193. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +4 -7
  194. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  195. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  196. package/cjs/internal/ThemeShowcase/VariablesCollector.js +5 -6
  197. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  198. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +2 -1
  199. package/cjs/internal/ZIndex/ZIndexStorage.js +13 -6
  200. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  201. package/cjs/internal/icons/16px/index.d.ts +19 -19
  202. package/cjs/internal/icons/16px/index.js +45 -38
  203. package/cjs/internal/icons/16px/index.js.map +1 -1
  204. package/cjs/internal/icons/20px/svg.js +6 -0
  205. package/cjs/internal/icons/20px/svg.js.map +1 -1
  206. package/cjs/internal/themes/DefaultTheme.d.ts +20 -1
  207. package/cjs/internal/themes/DefaultTheme.js +40 -5
  208. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  209. package/cjs/internal/themes/NotFlat.d.ts +6 -0
  210. package/cjs/internal/themes/NotFlat.js +12 -2
  211. package/cjs/internal/themes/NotFlat.js.map +1 -1
  212. package/cjs/internal/themes/Theme2022.d.ts +66 -0
  213. package/cjs/internal/themes/Theme2022.js +100 -0
  214. package/cjs/internal/themes/Theme2022.js.map +1 -0
  215. package/cjs/internal/themes/Theme2022Dark.d.ts +5 -0
  216. package/cjs/internal/themes/Theme2022Dark.js +9 -0
  217. package/cjs/internal/themes/Theme2022Dark.js.map +1 -0
  218. package/cjs/lib/animation/index.d.ts +1 -1
  219. package/cjs/lib/animation/index.js +3 -3
  220. package/cjs/lib/animation/index.js.map +1 -1
  221. package/cjs/lib/date/InternalDate.js +23 -9
  222. package/cjs/lib/date/InternalDate.js.map +1 -1
  223. package/cjs/lib/date/InternalDateCalculator.js +16 -2
  224. package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
  225. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  226. package/cjs/lib/date/InternalDateGetter.js +27 -7
  227. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  228. package/cjs/lib/date/InternalDateTransformer.js +11 -2
  229. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  230. package/cjs/lib/date/InternalDateValidator.js +52 -17
  231. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  232. package/cjs/lib/date/types.d.ts +4 -0
  233. package/cjs/lib/date/types.js.map +1 -1
  234. package/cjs/lib/events/MouseDrag.js +5 -1
  235. package/cjs/lib/events/MouseDrag.js.map +1 -1
  236. package/cjs/lib/events/keyboard/extractCode.js +7 -5
  237. package/cjs/lib/events/keyboard/extractCode.js.map +1 -1
  238. package/cjs/lib/needsPolyfillPlaceholder.d.ts +6 -0
  239. package/cjs/lib/needsPolyfillPlaceholder.js +19 -0
  240. package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -0
  241. package/cjs/lib/rootNode/getRootNode.d.ts +9 -0
  242. package/cjs/lib/rootNode/getRootNode.js +37 -8
  243. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  244. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +9 -1
  245. package/cjs/lib/rootNode/rootNodeDecorator.js +11 -2
  246. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  247. package/cjs/lib/stringUtils.js +3 -1
  248. package/cjs/lib/stringUtils.js.map +1 -1
  249. package/cjs/lib/styles/ColorFactory.js +9 -9
  250. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  251. package/cjs/lib/styles/ColorHelpers.d.ts +1 -0
  252. package/cjs/lib/styles/ColorHelpers.js +33 -10
  253. package/cjs/lib/styles/ColorHelpers.js.map +1 -1
  254. package/cjs/lib/styles/ColorObject.js +3 -2
  255. package/cjs/lib/styles/ColorObject.js.map +1 -1
  256. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
  257. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js +9 -0
  258. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -0
  259. package/cjs/lib/taskWithDelayAndMinimalDuration.js +3 -1
  260. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  261. package/cjs/lib/theming/Emotion.js +5 -2
  262. package/cjs/lib/theming/Emotion.js.map +1 -1
  263. package/cjs/lib/theming/ThemeFactory.js +5 -1
  264. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  265. package/cjs/lib/theming/ThemeHelpers.js +7 -2
  266. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  267. package/cjs/lib/theming/themes/Theme2022.d.ts +1 -0
  268. package/cjs/lib/theming/themes/Theme2022.js +6 -0
  269. package/cjs/lib/theming/themes/Theme2022.js.map +1 -0
  270. package/cjs/lib/theming/themes/Theme2022Dark.d.ts +1 -0
  271. package/cjs/lib/theming/themes/Theme2022Dark.js +9 -0
  272. package/cjs/lib/theming/themes/Theme2022Dark.js.map +1 -0
  273. package/cjs/lib/utils.d.ts +15 -0
  274. package/cjs/lib/utils.js +45 -9
  275. package/cjs/lib/utils.js.map +1 -1
  276. package/components/Autocomplete/Autocomplete/Autocomplete.js +6 -5
  277. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  278. package/components/Button/Button/Button.js +4 -10
  279. package/components/Button/Button/Button.js.map +1 -1
  280. package/components/Button/Button.d.ts +1 -5
  281. package/components/Checkbox/Checkbox/Checkbox.js +29 -2
  282. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  283. package/components/Checkbox/Checkbox.d.ts +5 -0
  284. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +22 -18
  285. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  286. package/components/Checkbox/Checkbox.styles.d.ts +1 -0
  287. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js +12 -11
  288. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  289. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +15 -7
  290. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  291. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js +7 -1
  292. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
  293. package/components/CurrencyInput/CursorHelper/CursorHelper.js +18 -11
  294. package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
  295. package/components/DateInput/DateInput/DateInput.js +9 -1
  296. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  297. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +16 -10
  298. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  299. package/components/DateInput/helpers/InternalDateMediator.d.ts +2 -2
  300. package/components/DateInput/helpers/inputNumber/inputNumber.js +53 -16
  301. package/components/DateInput/helpers/inputNumber/inputNumber.js.map +1 -1
  302. package/components/DateInput/helpers/inputNumber.d.ts +1 -1
  303. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +3 -16
  304. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  305. package/components/DropdownMenu/DropdownMenu.d.ts +1 -4
  306. package/components/FileUploader/FileUploader/FileUploader.js +9 -7
  307. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  308. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +15 -12
  309. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  310. package/components/FileUploader/FileUploader.styles.d.ts +3 -2
  311. package/components/Gapped/Gapped/Gapped.js +4 -3
  312. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  313. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +5 -7
  314. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  315. package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js +1 -2
  316. package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js.map +1 -1
  317. package/components/Group/Group/Group.js +62 -30
  318. package/components/Group/Group/Group.js.map +1 -1
  319. package/components/Input/Input/Input.js +7 -25
  320. package/components/Input/Input/Input.js.map +1 -1
  321. package/components/Input/Input.d.ts +1 -5
  322. package/components/Kebab/Kebab/Kebab.js +3 -13
  323. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  324. package/components/Kebab/Kebab.d.ts +2 -13
  325. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +1 -1
  326. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  327. package/components/Modal/Modal/Modal.js +2 -1
  328. package/components/Modal/Modal/Modal.js.map +1 -1
  329. package/components/Modal/Modal.styles/Modal.styles.js +4 -4
  330. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  331. package/components/Modal/ModalFooter/ModalFooter.js +1 -1
  332. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  333. package/components/Modal/ModalHeader/ModalHeader.js +1 -1
  334. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  335. package/components/Paging/Paging/Paging.js +13 -14
  336. package/components/Paging/Paging/Paging.js.map +1 -1
  337. package/components/Paging/Paging.d.ts +13 -3
  338. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js +19 -0
  339. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -0
  340. package/components/Paging/PagingDefaultComponent/package.json +6 -0
  341. package/components/Paging/PagingDefaultComponent.d.ts +9 -0
  342. package/components/PasswordInput/PasswordInput/PasswordInput.js +27 -8
  343. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  344. package/components/PasswordInput/PasswordInput.d.ts +2 -0
  345. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js +15 -0
  346. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js.map +1 -0
  347. package/components/PasswordInput/PasswordInputIcon/package.json +6 -0
  348. package/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
  349. package/components/Radio/Radio.styles/Radio.styles.js +2 -1
  350. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  351. package/components/RadioGroup/RadioGroup/RadioGroup.js +2 -2
  352. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  353. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +5 -0
  354. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  355. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +3 -3
  356. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  357. package/components/Select/Select/Select.js +31 -15
  358. package/components/Select/Select/Select.js.map +1 -1
  359. package/components/SidePage/SidePage/SidePage.js +2 -1
  360. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  361. package/components/Spinner/Spinner/Spinner.js +6 -2
  362. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  363. package/components/Spinner/Spinner.d.ts +0 -1
  364. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +18 -4
  365. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  366. package/components/Switcher/Switcher.styles/Switcher.styles.js +1 -1
  367. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  368. package/components/Textarea/Textarea/Textarea.js +6 -6
  369. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  370. package/components/Textarea/Textarea.d.ts +2 -2
  371. package/components/Textarea/TextareaCounter/TextareaCounter.js +11 -2
  372. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  373. package/components/Textarea/TextareaCounter.d.ts +1 -2
  374. package/components/Toast/ToastView/ToastView.js +1 -1
  375. package/components/Toast/ToastView/ToastView.js.map +1 -1
  376. package/components/Toast/ToastView.styles/ToastView.styles.js +2 -2
  377. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  378. package/components/Toast/ToastView.styles.d.ts +1 -1
  379. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  380. package/components/Toggle/Toggle.d.ts +1 -1
  381. package/components/Toggle/Toggle.styles/Toggle.styles.js +3 -4
  382. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  383. package/components/Token/Token/Token.js +12 -1
  384. package/components/Token/Token/Token.js.map +1 -1
  385. package/components/Token/Token.styles/Token.styles.js +11 -4
  386. package/components/Token/Token.styles/Token.styles.js.map +1 -1
  387. package/components/TokenInput/TokenInput/TokenInput.js +25 -16
  388. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  389. package/components/TokenInput/TokenInput.d.ts +10 -0
  390. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +1 -1
  391. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  392. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  393. package/components/Tooltip/Tooltip/Tooltip.js +5 -2
  394. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  395. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +2 -0
  396. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  397. package/components/TooltipMenu/TooltipMenu.d.ts +1 -1
  398. package/hooks/useDrop/useDrop.js +5 -1
  399. package/hooks/useDrop/useDrop.js.map +1 -1
  400. package/index.d.ts +2 -0
  401. package/index.js +2 -0
  402. package/index.js.map +1 -1
  403. package/internal/Calendar/Calendar/Calendar.js +6 -4
  404. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  405. package/internal/Calendar/CalendarDateShape.d.ts +1 -1
  406. package/internal/Calendar/MonthViewModel/MonthViewModel.js +35 -18
  407. package/internal/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
  408. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +3 -3
  409. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  410. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +23 -15
  411. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  412. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +18 -17
  413. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  414. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +35 -35
  415. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  416. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +16 -16
  417. package/internal/DateSelect/DateSelect/DateSelect.js +21 -15
  418. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  419. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +5 -1
  420. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
  421. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +2 -0
  422. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -1
  423. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  424. package/internal/InputLikeText/InputLikeText.d.ts +1 -1
  425. package/internal/InternalMenu/InternalMenu/InternalMenu.js +14 -21
  426. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  427. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +1 -1
  428. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  429. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/addIconPaddingIfPartOfMenu.js +14 -0
  430. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/addIconPaddingIfPartOfMenu.js.map +1 -0
  431. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/package.json +6 -0
  432. package/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -0
  433. package/internal/MaskedInput/MaskedInput/MaskedInput.js +10 -3
  434. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  435. package/internal/Menu/Menu/Menu.js +11 -19
  436. package/internal/Menu/Menu/Menu.js.map +1 -1
  437. package/internal/Menu/Menu.styles/Menu.styles.js +1 -1
  438. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  439. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  440. package/internal/Popup/Popup/Popup.js +8 -7
  441. package/internal/Popup/Popup/Popup.js.map +1 -1
  442. package/internal/Popup/Popup.d.ts +1 -0
  443. package/internal/PopupMenu/PopupMenu/PopupMenu.js +8 -0
  444. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  445. package/internal/PopupMenu/PopupMenu.d.ts +4 -0
  446. package/internal/PopupMenu/validatePositions/validatePositions.js +6 -6
  447. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  448. package/internal/RenderContainer/RenderContainerTypes.d.ts +1 -0
  449. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +11 -2
  450. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  451. package/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
  452. package/internal/RenderLayer/RenderLayer/RenderLayer.js +5 -1
  453. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  454. package/internal/ThemePlayground/Playground/Playground.js +15 -29
  455. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  456. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +29 -0
  457. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -0
  458. package/internal/ThemePlayground/SizesGroup/package.json +6 -0
  459. package/internal/ThemePlayground/SizesGroup.d.ts +4 -0
  460. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +14 -2
  461. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  462. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -0
  463. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js +5 -1
  464. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  465. package/internal/ThemePlayground/VariableValue/VariableValue.js +16 -5
  466. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  467. package/internal/ThemePlayground/constants/constants.js +2 -0
  468. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  469. package/internal/ThemePlayground/constants.d.ts +3 -1
  470. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +3 -6
  471. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  472. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +4 -6
  473. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  474. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  475. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +12 -6
  476. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  477. package/internal/ZIndex/ZIndexStorage.d.ts +2 -1
  478. package/internal/icons/16px/index/index.js +28 -20
  479. package/internal/icons/16px/index/index.js.map +1 -1
  480. package/internal/icons/16px/index.d.ts +19 -19
  481. package/internal/icons/20px/svg/svg.js +5 -0
  482. package/internal/icons/20px/svg/svg.js.map +1 -1
  483. package/internal/themes/DefaultTheme/DefaultTheme.js +48 -4
  484. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  485. package/internal/themes/DefaultTheme.d.ts +20 -1
  486. package/internal/themes/NotFlat/NotFlat.js +15 -0
  487. package/internal/themes/NotFlat/NotFlat.js.map +1 -1
  488. package/internal/themes/NotFlat.d.ts +6 -0
  489. package/internal/themes/Theme2022/Theme2022.js +78 -0
  490. package/internal/themes/Theme2022/Theme2022.js.map +1 -0
  491. package/internal/themes/Theme2022/package.json +6 -0
  492. package/internal/themes/Theme2022.d.ts +66 -0
  493. package/internal/themes/Theme2022Dark/Theme2022Dark.js +17 -0
  494. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
  495. package/internal/themes/Theme2022Dark/package.json +6 -0
  496. package/internal/themes/Theme2022Dark.d.ts +5 -0
  497. package/lib/animation/index/index.js +1 -1
  498. package/lib/animation/index/index.js.map +1 -1
  499. package/lib/animation/index.d.ts +1 -1
  500. package/lib/date/InternalDate/InternalDate.js +16 -1
  501. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  502. package/lib/date/InternalDateCalculator/InternalDateCalculator.js +14 -2
  503. package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
  504. package/lib/date/InternalDateGetter/InternalDateGetter.js +23 -7
  505. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  506. package/lib/date/InternalDateGetter.d.ts +1 -1
  507. package/lib/date/InternalDateTransformer/InternalDateTransformer.js +11 -1
  508. package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
  509. package/lib/date/InternalDateValidator/InternalDateValidator.js +75 -34
  510. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  511. package/lib/date/types/types.js.map +1 -1
  512. package/lib/date/types.d.ts +4 -0
  513. package/lib/events/MouseDrag/MouseDrag.js +5 -1
  514. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  515. package/lib/events/keyboard/extractCode/extractCode.js +5 -5
  516. package/lib/events/keyboard/extractCode/extractCode.js.map +1 -1
  517. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +21 -0
  518. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -0
  519. package/lib/needsPolyfillPlaceholder/package.json +6 -0
  520. package/lib/needsPolyfillPlaceholder.d.ts +6 -0
  521. package/lib/rootNode/getRootNode/getRootNode.js +36 -8
  522. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  523. package/lib/rootNode/getRootNode.d.ts +9 -0
  524. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +3 -1
  525. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  526. package/lib/rootNode/rootNodeDecorator.d.ts +9 -1
  527. package/lib/stringUtils/stringUtils.js +4 -1
  528. package/lib/stringUtils/stringUtils.js.map +1 -1
  529. package/lib/styles/ColorFactory/ColorFactory.js +9 -9
  530. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  531. package/lib/styles/ColorHelpers/ColorHelpers.js +26 -9
  532. package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
  533. package/lib/styles/ColorHelpers.d.ts +1 -0
  534. package/lib/styles/ColorObject/ColorObject.js +2 -2
  535. package/lib/styles/ColorObject/ColorObject.js.map +1 -1
  536. package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js +9 -0
  537. package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js.map +1 -0
  538. package/lib/styles/getLabGrotesqueBaselineCompensation/package.json +6 -0
  539. package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
  540. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +4 -1
  541. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
  542. package/lib/theming/Emotion/Emotion.js +5 -2
  543. package/lib/theming/Emotion/Emotion.js.map +1 -1
  544. package/lib/theming/ThemeFactory/ThemeFactory.js +5 -2
  545. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  546. package/lib/theming/ThemeHelpers/ThemeHelpers.js +5 -1
  547. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  548. package/lib/theming/themes/Theme2022/Theme2022.js +4 -0
  549. package/lib/theming/themes/Theme2022/Theme2022.js.map +1 -0
  550. package/lib/theming/themes/Theme2022/package.json +6 -0
  551. package/lib/theming/themes/Theme2022.d.ts +1 -0
  552. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js +5 -0
  553. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
  554. package/lib/theming/themes/Theme2022Dark/package.json +6 -0
  555. package/lib/theming/themes/Theme2022Dark.d.ts +1 -0
  556. package/lib/utils/utils.js +42 -6
  557. package/lib/utils/utils.js.map +1 -1
  558. package/lib/utils.d.ts +15 -0
  559. package/package.json +5 -3
  560. package/cjs/components/Button/Corners.d.ts +0 -6
  561. package/cjs/components/Button/Corners.js +0 -5
  562. package/cjs/components/Button/Corners.js.map +0 -1
  563. package/cjs/lib/polyfillPlaceholder.d.ts +0 -1
  564. package/cjs/lib/polyfillPlaceholder.js +0 -17
  565. package/cjs/lib/polyfillPlaceholder.js.map +0 -1
  566. package/components/Button/Corners/Corners.js +0 -6
  567. package/components/Button/Corners/Corners.js.map +0 -1
  568. package/components/Button/Corners/package.json +0 -6
  569. package/components/Button/Corners.d.ts +0 -6
  570. package/lib/polyfillPlaceholder/package.json +0 -6
  571. package/lib/polyfillPlaceholder/polyfillPlaceholder.js +0 -12
  572. package/lib/polyfillPlaceholder/polyfillPlaceholder.js.map +0 -1
  573. package/lib/polyfillPlaceholder.d.ts +0 -1
@@ -1,30 +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
8
 
8
- var _rootNodeDecorator = require("./rootNodeDecorator");
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
+ */
9
20
 
10
21
  var getRootNode = function getRootNode(instance) {
11
- if (!_client.canUseDOM) return null;
12
- 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.)
13
31
  return instance;
14
32
  }
15
33
 
16
34
  var rootNode;
17
35
 
18
- // it happened to be that native Node interface also has
19
- // the "getRootNode" method, but we dont expect it here
20
- if ((0, _rootNodeDecorator.isInstanceWithRootNode)(instance) && !(0, _SSRSafe.isNode)(instance)) {
21
- rootNode = instance.getRootNode();
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
+ }
22
44
  }
23
45
 
24
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
25
49
  return rootNode;
26
50
  }
27
51
 
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
28
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
29
58
  return (0, _SSRSafe.isHTMLElement)(rootNode) ? rootNode : null;
30
59
  };exports.getRootNode = getRootNode;
@@ -1 +1 @@
1
- {"version":3,"sources":["getRootNode.ts"],"names":["getRootNode","instance","canUseDOM","rootNode","undefined"],"mappings":"oEAAA;;;;AAIA;AACA;;AAEA;;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,MAAIE,QAAJ;;AAEA;AACA;AACA,MAAI,+CAAuBF,QAAvB,KAAoC,CAAC,qBAAOA,QAAP,CAAzC,EAA2D;AACzDE,IAAAA,QAAQ,GAAGF,QAAQ,CAACD,WAAT,EAAX;AACD;;AAED,MAAIG,QAAQ,KAAKC,SAAjB,EAA4B;AAC1B,WAAOD,QAAP;AACD;;AAEDA,EAAAA,QAAQ,GAAG,2BAAYF,QAAZ,CAAX;AACA,SAAO,4BAAcE,QAAd,IAA0BA,QAA1B,GAAqC,IAA5C;AACD,CApBM,C","sourcesContent":["import { 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\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 let rootNode;\n\n // it happened to be that native Node interface also has\n // the \"getRootNode\" method, but we dont expect it here\n if (isInstanceWithRootNode(instance) && !isNode(instance)) {\n rootNode = instance.getRootNode();\n }\n\n if (rootNode !== undefined) {\n return rootNode;\n }\n\n rootNode = findDOMNode(instance);\n return isHTMLElement(rootNode) ? rootNode : 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"]}
@@ -9,7 +9,13 @@ export interface InstanceWithRootNode {
9
9
  getRootNode: () => Nullable<HTMLElement>;
10
10
  addRootNodeChangeListener?: (callback: (node: Nullable<HTMLElement>) => void) => TRootNodeSubscription;
11
11
  }
12
- export declare function rootNode<T extends new (...args: any[]) => React.Component>(Component: T): {
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): {
13
19
  new (...args: any[]): {
14
20
  rootNode: Nullable<HTMLElement>;
15
21
  rootNodeEmitter: EventEmitter<string | symbol, any>;
@@ -40,5 +46,7 @@ export declare function rootNode<T extends new (...args: any[]) => React.Compone
40
46
  componentWillUpdate?(nextProps: Readonly<{}>, nextState: Readonly<{}>, nextContext: any): void;
41
47
  UNSAFE_componentWillUpdate?(nextProps: Readonly<{}>, nextState: Readonly<{}>, nextContext: any): void;
42
48
  };
49
+ defaultRootNode?: HTMLElement | null | undefined;
43
50
  } & T;
44
51
  export declare const isInstanceWithRootNode: (instance: unknown) => instance is InstanceWithRootNode;
52
+ export {};
@@ -1,9 +1,18 @@
1
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
+
2
3
  var _eventemitter = _interopRequireDefault(require("eventemitter3"));
3
4
 
4
5
 
5
6
 
6
- var _getRootNode = require("./getRootNode");
7
+ var _getRootNode = require("./getRootNode"); /* eslint-disable react/display-name */
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
7
16
 
8
17
 
9
18
 
@@ -21,7 +30,7 @@ function rootNode(Component) {
21
30
 
22
31
 
23
32
  function rootNode() {var _this;
24
- _this = _Component.call(this, arguments.length <= 0 ? undefined : arguments[0]) || this;_this.rootNode = null;_this.rootNodeEmitter = new _eventemitter.default();_this.
33
+ _this = _Component.call(this, arguments.length <= 0 ? undefined : arguments[0]) || this;_this.rootNode = Component.defaultRootNode;_this.rootNodeEmitter = new _eventemitter.default();_this.
25
34
 
26
35
 
27
36
  setRootNode = function (instance) {
@@ -1 +1 @@
1
- {"version":3,"sources":["rootNodeDecorator.tsx"],"names":["rootNode","Component","rootNodeEmitter","EventEmitter","setRootNode","instance","emit","getRootNode","addRootNodeChangeListener","callback","addListener","remove","removeListener","nameDescriptor","Object","getOwnPropertyDescriptor","configurable","defineProperty","value","name","isInstanceWithRootNode","Boolean","prototype","hasOwnProperty","call"],"mappings":";AACA;;;;AAIA;;;;;;;;;;;;;AAaO,SAASA,QAAT,CAAqEC,SAArE,EAAmF;AACxF,MAAMD,QAAQ;;;AAGZ,wBAAmC;AACjC,8FADiC,MAF5BA,QAE4B,GAFM,IAEN,OAD5BE,eAC4B,GADV,IAAIC,qBAAJ,EACU;;;AAI5BC,MAAAA,WAJ4B,GAId,UAACC,QAAD,EAA6C;AAChE,YAAML,SAAQ,GAAG,8BAAYK,QAAZ,CAAjB;AACA,YAAIL,SAAQ,KAAK,MAAKA,QAAtB,EAAgC;AAC9B,gBAAKA,QAAL,GAAgBA,SAAhB;AACA,gBAAKE,eAAL,CAAqBI,IAArB,CAA0B,QAA1B,EAAoCN,SAApC;AACD;AACF,OAVkC;;AAY5BO,MAAAA,WAZ4B,GAYd,YAA6B;AAChD,eAAO,MAAKP,QAAZ;AACD,OAdkC;;AAgB5BQ,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,kBAAiBR,SAAjB,CAAd;;;AA6BA,MAAMY,cAAc,GAAGC,MAAM,CAACC,wBAAP,CAAgCf,QAAhC,EAA0C,MAA1C,CAAvB;AACA,MAAI,CAACa,cAAD,IAAmBA,cAAc,CAACG,YAAtC,EAAoD;AAClDF,IAAAA,MAAM,CAACG,cAAP,CAAsBjB,QAAtB,EAAgC,MAAhC,EAAwC,EAAEkB,KAAK,EAAEjB,SAAS,CAACkB,IAAnB,EAAxC;AACD;;AAED,SAAOnB,QAAP;AACD;;AAEM,IAAMoB,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":["import 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\nexport function rootNode<T extends new (...args: any[]) => React.Component>(Component: T) {\n const rootNode = class extends Component implements InstanceWithRootNode {\n public rootNode: Nullable<HTMLElement> = null;\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
+ {"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
 
@@ -1 +1 @@
1
- {"version":3,"sources":["ColorObject.ts"],"names":["ColorObject","rgb","alpha","type","luma","r","g","b","Math","pow","toHEXString","map","c","round","toString","join","toRGB","a","toRGBString","toHSL","max","min","hDeg","s","l","d","h","toHSLString","hsl","toColorString","clone"],"mappings":"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","sourcesContent":["import warning from 'warning';\n\nimport { clamp, roundToPrecision } from './ColorHelpers';\nimport { ColorKeywords } from './ColorKeywords';\n\nexport type RGBTuple = [number, number, number];\nexport type ColorKeywordsType = keyof typeof ColorKeywords;\nexport type ColorType = 'rgb' | 'rgba' | 'hsl' | 'hsla' | 'hex' | 'transparent' | ColorKeywordsType;\n\ninterface ColorHSLA {\n h: number;\n s: number;\n l: number;\n a: number;\n}\n\ninterface ColorRGBA {\n r: number;\n g: number;\n b: number;\n a: number;\n}\n\nexport interface ColorObjectType {\n rgb: RGBTuple;\n alpha: number;\n type: ColorType;\n luma(): number;\n toRGB(): ColorRGBA;\n toHSL(): ColorHSLA;\n toHEXString(): string;\n toRGBString(): string;\n toHSLString(): string;\n}\n\nexport class ColorObject implements ColorObjectType {\n public rgb: RGBTuple;\n public alpha: number;\n public type: ColorType;\n\n constructor(rgb: RGBTuple, alpha: number, type: ColorType) {\n this.rgb = rgb;\n this.alpha = alpha;\n this.type = type;\n }\n\n public luma() {\n let r = this.rgb[0] / 255;\n let g = this.rgb[1] / 255;\n let b = this.rgb[2] / 255;\n\n r = r <= 0.03928 ? r / 12.92 : Math.pow((r + 0.055) / 1.055, 2.4);\n g = g <= 0.03928 ? g / 12.92 : Math.pow((g + 0.055) / 1.055, 2.4);\n b = b <= 0.03928 ? b / 12.92 : Math.pow((b + 0.055) / 1.055, 2.4);\n\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n }\n\n public toHEXString() {\n warning(this.alpha === 1, `There is an alpha channel=${this.alpha}, converting to HEX will discard opacity`);\n\n return (\n '#' +\n this.rgb\n .map((c) => {\n c = clamp(Math.round(c), 255);\n return (c < 16 ? '0' : '') + c.toString(16);\n })\n .join('')\n );\n }\n\n public toRGB() {\n return { r: this.rgb[0], g: this.rgb[1], b: this.rgb[2], a: this.alpha };\n }\n\n public toRGBString() {\n return this.alpha < 1\n ? `rgba(${this.rgb[0]}, ${this.rgb[1]}, ${this.rgb[2]}, ${this.alpha})`\n : `rgb(${this.rgb[0]}, ${this.rgb[1]}, ${this.rgb[2]})`;\n }\n\n public toHSL() {\n const r = this.rgb[0] / 255;\n const g = this.rgb[1] / 255;\n const b = this.rgb[2] / 255;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n\n let hDeg = 0;\n let s = 0;\n const l = (max + min) / 2;\n\n if (max !== min) {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n hDeg = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n hDeg = (b - r) / d + 2;\n break;\n case b:\n hDeg = (r - g) / d + 4;\n break;\n }\n hDeg = Math.round(hDeg * 60);\n }\n\n return {\n h: hDeg,\n s: roundToPrecision(s, 2),\n l: roundToPrecision(l, 2),\n a: this.alpha,\n };\n }\n\n public toHSLString() {\n const hsl = this.toHSL();\n return hsl.a < 1\n ? `hsla(${hsl.h}, ${hsl.s * 100}%, ${hsl.l * 100}%, ${hsl.a})`\n : `hsl(${hsl.h}, ${hsl.s * 100}%, ${hsl.l * 100}%)`;\n }\n\n public toColorString(type: ColorType = this.type) {\n switch (type) {\n case 'rgb':\n case 'rgba': {\n return this.toRGBString();\n }\n case 'hsl':\n case 'hsla': {\n return this.toHSLString();\n }\n case 'transparent': {\n return `transparent`;\n }\n default:\n return this.toHEXString();\n }\n }\n\n public clone() {\n const { rgb, alpha, type } = this;\n return new ColorObject(rgb, alpha, type);\n }\n}\n"]}
1
+ {"version":3,"sources":["ColorObject.ts"],"names":["ColorObject","rgb","alpha","type","luma","r","g","b","Math","pow","toHEXString","map","c","clamped","round","toString","join","toRGB","a","toRGBString","toHSL","max","min","hDeg","s","l","d","h","toHSLString","hsl","toColorString","clone"],"mappings":"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","sourcesContent":["import warning from 'warning';\n\nimport { clamp, roundToPrecision } from './ColorHelpers';\nimport { ColorKeywords } from './ColorKeywords';\n\nexport type RGBTuple = [number, number, number];\nexport type ColorKeywordsType = keyof typeof ColorKeywords;\nexport type ColorType = 'rgb' | 'rgba' | 'hsl' | 'hsla' | 'hex' | 'transparent' | ColorKeywordsType;\n\ninterface ColorHSLA {\n h: number;\n s: number;\n l: number;\n a: number;\n}\n\ninterface ColorRGBA {\n r: number;\n g: number;\n b: number;\n a: number;\n}\n\nexport interface ColorObjectType {\n rgb: RGBTuple;\n alpha: number;\n type: ColorType;\n luma(): number;\n toRGB(): ColorRGBA;\n toHSL(): ColorHSLA;\n toHEXString(): string;\n toRGBString(): string;\n toHSLString(): string;\n}\n\nexport class ColorObject implements ColorObjectType {\n public rgb: RGBTuple;\n public alpha: number;\n public type: ColorType;\n\n constructor(rgb: RGBTuple, alpha: number, type: ColorType) {\n this.rgb = rgb;\n this.alpha = alpha;\n this.type = type;\n }\n\n public luma() {\n let r = this.rgb[0] / 255;\n let g = this.rgb[1] / 255;\n let b = this.rgb[2] / 255;\n\n r = r <= 0.03928 ? r / 12.92 : Math.pow((r + 0.055) / 1.055, 2.4);\n g = g <= 0.03928 ? g / 12.92 : Math.pow((g + 0.055) / 1.055, 2.4);\n b = b <= 0.03928 ? b / 12.92 : Math.pow((b + 0.055) / 1.055, 2.4);\n\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n }\n\n public toHEXString() {\n warning(this.alpha === 1, `There is an alpha channel=${this.alpha}, converting to HEX will discard opacity`);\n\n return (\n '#' +\n this.rgb\n .map((c) => {\n const clamped = clamp(Math.round(c), 255);\n\n return (clamped < 16 ? '0' : '') + clamped.toString(16);\n })\n .join('')\n );\n }\n\n public toRGB() {\n return { r: this.rgb[0], g: this.rgb[1], b: this.rgb[2], a: this.alpha };\n }\n\n public toRGBString() {\n return this.alpha < 1\n ? `rgba(${this.rgb[0]}, ${this.rgb[1]}, ${this.rgb[2]}, ${this.alpha})`\n : `rgb(${this.rgb[0]}, ${this.rgb[1]}, ${this.rgb[2]})`;\n }\n\n public toHSL() {\n const r = this.rgb[0] / 255;\n const g = this.rgb[1] / 255;\n const b = this.rgb[2] / 255;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n\n let hDeg = 0;\n let s = 0;\n const l = (max + min) / 2;\n\n if (max !== min) {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n hDeg = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n hDeg = (b - r) / d + 2;\n break;\n case b:\n hDeg = (r - g) / d + 4;\n break;\n }\n hDeg = Math.round(hDeg * 60);\n }\n\n return {\n h: hDeg,\n s: roundToPrecision(s, 2),\n l: roundToPrecision(l, 2),\n a: this.alpha,\n };\n }\n\n public toHSLString() {\n const hsl = this.toHSL();\n return hsl.a < 1\n ? `hsla(${hsl.h}, ${hsl.s * 100}%, ${hsl.l * 100}%, ${hsl.a})`\n : `hsl(${hsl.h}, ${hsl.s * 100}%, ${hsl.l * 100}%)`;\n }\n\n public toColorString(type: ColorType = this.type) {\n switch (type) {\n case 'rgb':\n case 'rgba': {\n return this.toRGBString();\n }\n case 'hsl':\n case 'hsla': {\n return this.toHSLString();\n }\n case 'transparent': {\n return `transparent`;\n }\n default:\n return this.toHEXString();\n }\n }\n\n public clone() {\n const { rgb, alpha, type } = this;\n return new ColorObject(rgb, alpha, type);\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare const getLabGrotesqueBaselineCompensation: (fontSize: number, compensation: number, isChrome: boolean) => number;
@@ -0,0 +1,9 @@
1
+ "use strict";exports.__esModule = true;exports.getLabGrotesqueBaselineCompensation = void 0;var getLabGrotesqueBaselineCompensation = function getLabGrotesqueBaselineCompensation(fontSize, compensation, isChrome) {
2
+ if (fontSize < 16 && !isChrome) {
3
+ return compensation;
4
+ } else if (fontSize === 16 && isChrome) {
5
+ return -compensation;
6
+ }
7
+
8
+ return 0;
9
+ };exports.getLabGrotesqueBaselineCompensation = getLabGrotesqueBaselineCompensation;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["getLabGrotesqueBaselineCompensation.ts"],"names":["getLabGrotesqueBaselineCompensation","fontSize","compensation","isChrome"],"mappings":"4FAAO,IAAMA,mCAAmC,GAAG,SAAtCA,mCAAsC,CAACC,QAAD,EAAmBC,YAAnB,EAAyCC,QAAzC,EAA+D;AAChH,MAAIF,QAAQ,GAAG,EAAX,IAAiB,CAACE,QAAtB,EAAgC;AAC9B,WAAOD,YAAP;AACD,GAFD,MAEO,IAAID,QAAQ,KAAK,EAAb,IAAmBE,QAAvB,EAAiC;AACtC,WAAO,CAACD,YAAR;AACD;;AAED,SAAO,CAAP;AACD,CARM,C","sourcesContent":["export const getLabGrotesqueBaselineCompensation = (fontSize: number, compensation: number, isChrome: boolean) => {\n if (fontSize < 16 && !isChrome) {\n return compensation;\n } else if (fontSize === 16 && isChrome) {\n return -compensation;\n }\n\n return 0;\n};\n"]}
@@ -61,7 +61,9 @@ function TaskWithDelayAndMinimalDuration(initialValues) {var _this = this;this.i
61
61
  };this.
62
62
 
63
63
  stop = function () {
64
- if (!_this.isTaskActive) return;
64
+ if (!_this.isTaskActive) {
65
+ return;
66
+ }
65
67
 
66
68
  _this.isTaskActive = false;
67
69
 
@@ -1 +1 @@
1
- {"version":3,"sources":["taskWithDelayAndMinimalDuration.ts"],"names":["TaskWithDelayAndMinimalDuration","initialValues","isTaskActive","setTimeoutBeforeTaskStart","timeoutBeforeTaskStart","setTimeout","taskParams","taskStartCallback","clearTimeoutBeforeTaskStart","setTimeoutBeforeTaskStop","delayBeforeTaskStart","timeoutBeforeTaskStop","taskStopCallback","clearTimeoutBeforeTaskStop","durationOfTask","clearTimeout","start","update","updateData","stop","clearTask"],"mappings":";;;;;;;;;AASaA,+B;;;;;;AAMX,yCAAYC,aAAZ,EAAiE,uBAFzDC,YAEyD,GAF1C,KAE0C;;;;AAIzDC,EAAAA,yBAJyD,GAI7B,YAAM;AACxC,IAAA,KAAI,CAACC,sBAAL,GAA8BC,UAAU,CAAC,YAAM;AAC7C,MAAA,KAAI,CAACH,YAAL,IAAqB,KAAI,CAACI,UAAL,CAAgBC,iBAAhB,EAArB;AACA,MAAA,KAAI,CAACC,2BAAL;AACA,MAAA,KAAI,CAACC,wBAAL;AACD,KAJuC,EAIrC,KAAI,CAACH,UAAL,CAAgBI,oBAJqB,CAAxC;AAKD,GAVgE;;AAYzDD,EAAAA,wBAZyD,GAY9B,YAAM;AACvC,IAAA,KAAI,CAACE,qBAAL,GAA6BN,UAAU,CAAC,YAAM;AAC5C,OAAC,KAAI,CAACH,YAAN,IAAsB,KAAI,CAACI,UAAL,CAAgBM,gBAAhB,EAAtB;AACA,MAAA,KAAI,CAACC,0BAAL;AACD,KAHsC,EAGpC,KAAI,CAACP,UAAL,CAAgBQ,cAHoB,CAAvC;AAID,GAjBgE;;AAmBzDN,EAAAA,2BAnByD,GAmB3B,YAAM;AAC1C,IAAA,KAAI,CAACJ,sBAAL,IAA+BW,YAAY,CAAC,KAAI,CAACX,sBAAN,CAA3C;AACA,IAAA,KAAI,CAACA,sBAAL,GAA8B,IAA9B;AACD,GAtBgE;;AAwBzDS,EAAAA,0BAxByD,GAwB5B,YAAM;AACzC,IAAA,KAAI,CAACF,qBAAL,IAA8BI,YAAY,CAAC,KAAI,CAACJ,qBAAN,CAA1C;AACA,IAAA,KAAI,CAACA,qBAAL,GAA6B,IAA7B;AACD,GA3BgE;;AA6B1DK,EAAAA,KA7B0D,GA6BlD,YAAM;AACnB,QAAI,KAAI,CAACd,YAAT,EAAuB;AACrB;AACD;;AAED,IAAA,KAAI,CAACA,YAAL,GAAoB,IAApB;;AAEA,QAAI,KAAI,CAACE,sBAAT,EAAiC;AAC/B,MAAA,KAAI,CAACI,2BAAL;AACD;;AAED,IAAA,KAAI,CAACL,yBAAL;AACD,GAzCgE;;AA2C1Dc,EAAAA,MA3C0D,GA2CjD,UAACC,UAAD,EAA+D;AAC7E,IAAA,KAAI,CAACZ,UAAL,8BAAuB,KAAI,CAACA,UAA5B,EAA2CY,UAA3C;AACD,GA7CgE;;AA+C1DC,EAAAA,IA/C0D,GA+CnD,YAAM;AAClB,QAAI,CAAC,KAAI,CAACjB,YAAV,EAAwB;;AAExB,IAAA,KAAI,CAACA,YAAL,GAAoB,KAApB;;AAEA,QAAI,CAAC,KAAI,CAACE,sBAAN,IAAgC,CAAC,KAAI,CAACO,qBAA1C,EAAiE;AAC/D,MAAA,KAAI,CAACL,UAAL,CAAgBM,gBAAhB;AACD;;AAED,QAAI,KAAI,CAACR,sBAAT,EAAiC;AAC/B,MAAA,KAAI,CAACI,2BAAL;AACD;AACF,GA3DgE;;AA6D1DY,EAAAA,SA7D0D,GA6D9C,YAAM;AACvB,IAAA,KAAI,CAACZ,2BAAL;AACA,IAAA,KAAI,CAACK,0BAAL;AACD,GAhEgE,CAC/D,KAAKP,UAAL,GAAkBL,aAAlB,CACD,C","sourcesContent":["import { Nullable } from '../typings/utility-types';\n\nexport interface TaskWithDelayAndMinimalDurationProps {\n delayBeforeTaskStart: number;\n durationOfTask: number;\n taskStartCallback: () => void;\n taskStopCallback: () => void;\n}\n\nexport class TaskWithDelayAndMinimalDuration {\n private timeoutBeforeTaskStart: Nullable<NodeJS.Timeout>;\n private timeoutBeforeTaskStop: Nullable<NodeJS.Timeout>;\n private taskParams: TaskWithDelayAndMinimalDurationProps;\n private isTaskActive = false;\n\n constructor(initialValues: TaskWithDelayAndMinimalDurationProps) {\n this.taskParams = initialValues;\n }\n\n private setTimeoutBeforeTaskStart = () => {\n this.timeoutBeforeTaskStart = setTimeout(() => {\n this.isTaskActive && this.taskParams.taskStartCallback();\n this.clearTimeoutBeforeTaskStart();\n this.setTimeoutBeforeTaskStop();\n }, this.taskParams.delayBeforeTaskStart);\n };\n\n private setTimeoutBeforeTaskStop = () => {\n this.timeoutBeforeTaskStop = setTimeout(() => {\n !this.isTaskActive && this.taskParams.taskStopCallback();\n this.clearTimeoutBeforeTaskStop();\n }, this.taskParams.durationOfTask);\n };\n\n private clearTimeoutBeforeTaskStart = () => {\n this.timeoutBeforeTaskStart && clearTimeout(this.timeoutBeforeTaskStart);\n this.timeoutBeforeTaskStart = null;\n };\n\n private clearTimeoutBeforeTaskStop = () => {\n this.timeoutBeforeTaskStop && clearTimeout(this.timeoutBeforeTaskStop);\n this.timeoutBeforeTaskStop = null;\n };\n\n public start = () => {\n if (this.isTaskActive) {\n return;\n }\n\n this.isTaskActive = true;\n\n if (this.timeoutBeforeTaskStart) {\n this.clearTimeoutBeforeTaskStart();\n }\n\n this.setTimeoutBeforeTaskStart();\n };\n\n public update = (updateData: Partial<TaskWithDelayAndMinimalDurationProps>) => {\n this.taskParams = { ...this.taskParams, ...updateData };\n };\n\n public stop = () => {\n if (!this.isTaskActive) return;\n\n this.isTaskActive = false;\n\n if (!this.timeoutBeforeTaskStart && !this.timeoutBeforeTaskStop) {\n this.taskParams.taskStopCallback();\n }\n\n if (this.timeoutBeforeTaskStart) {\n this.clearTimeoutBeforeTaskStart();\n }\n };\n\n public clearTask = () => {\n this.clearTimeoutBeforeTaskStart();\n this.clearTimeoutBeforeTaskStop();\n };\n}\n"]}
1
+ {"version":3,"sources":["taskWithDelayAndMinimalDuration.ts"],"names":["TaskWithDelayAndMinimalDuration","initialValues","isTaskActive","setTimeoutBeforeTaskStart","timeoutBeforeTaskStart","setTimeout","taskParams","taskStartCallback","clearTimeoutBeforeTaskStart","setTimeoutBeforeTaskStop","delayBeforeTaskStart","timeoutBeforeTaskStop","taskStopCallback","clearTimeoutBeforeTaskStop","durationOfTask","clearTimeout","start","update","updateData","stop","clearTask"],"mappings":";;;;;;;;;AASaA,+B;;;;;;AAMX,yCAAYC,aAAZ,EAAiE,uBAFzDC,YAEyD,GAF1C,KAE0C;;;;AAIzDC,EAAAA,yBAJyD,GAI7B,YAAM;AACxC,IAAA,KAAI,CAACC,sBAAL,GAA8BC,UAAU,CAAC,YAAM;AAC7C,MAAA,KAAI,CAACH,YAAL,IAAqB,KAAI,CAACI,UAAL,CAAgBC,iBAAhB,EAArB;AACA,MAAA,KAAI,CAACC,2BAAL;AACA,MAAA,KAAI,CAACC,wBAAL;AACD,KAJuC,EAIrC,KAAI,CAACH,UAAL,CAAgBI,oBAJqB,CAAxC;AAKD,GAVgE;;AAYzDD,EAAAA,wBAZyD,GAY9B,YAAM;AACvC,IAAA,KAAI,CAACE,qBAAL,GAA6BN,UAAU,CAAC,YAAM;AAC5C,OAAC,KAAI,CAACH,YAAN,IAAsB,KAAI,CAACI,UAAL,CAAgBM,gBAAhB,EAAtB;AACA,MAAA,KAAI,CAACC,0BAAL;AACD,KAHsC,EAGpC,KAAI,CAACP,UAAL,CAAgBQ,cAHoB,CAAvC;AAID,GAjBgE;;AAmBzDN,EAAAA,2BAnByD,GAmB3B,YAAM;AAC1C,IAAA,KAAI,CAACJ,sBAAL,IAA+BW,YAAY,CAAC,KAAI,CAACX,sBAAN,CAA3C;AACA,IAAA,KAAI,CAACA,sBAAL,GAA8B,IAA9B;AACD,GAtBgE;;AAwBzDS,EAAAA,0BAxByD,GAwB5B,YAAM;AACzC,IAAA,KAAI,CAACF,qBAAL,IAA8BI,YAAY,CAAC,KAAI,CAACJ,qBAAN,CAA1C;AACA,IAAA,KAAI,CAACA,qBAAL,GAA6B,IAA7B;AACD,GA3BgE;;AA6B1DK,EAAAA,KA7B0D,GA6BlD,YAAM;AACnB,QAAI,KAAI,CAACd,YAAT,EAAuB;AACrB;AACD;;AAED,IAAA,KAAI,CAACA,YAAL,GAAoB,IAApB;;AAEA,QAAI,KAAI,CAACE,sBAAT,EAAiC;AAC/B,MAAA,KAAI,CAACI,2BAAL;AACD;;AAED,IAAA,KAAI,CAACL,yBAAL;AACD,GAzCgE;;AA2C1Dc,EAAAA,MA3C0D,GA2CjD,UAACC,UAAD,EAA+D;AAC7E,IAAA,KAAI,CAACZ,UAAL,8BAAuB,KAAI,CAACA,UAA5B,EAA2CY,UAA3C;AACD,GA7CgE;;AA+C1DC,EAAAA,IA/C0D,GA+CnD,YAAM;AAClB,QAAI,CAAC,KAAI,CAACjB,YAAV,EAAwB;AACtB;AACD;;AAED,IAAA,KAAI,CAACA,YAAL,GAAoB,KAApB;;AAEA,QAAI,CAAC,KAAI,CAACE,sBAAN,IAAgC,CAAC,KAAI,CAACO,qBAA1C,EAAiE;AAC/D,MAAA,KAAI,CAACL,UAAL,CAAgBM,gBAAhB;AACD;;AAED,QAAI,KAAI,CAACR,sBAAT,EAAiC;AAC/B,MAAA,KAAI,CAACI,2BAAL;AACD;AACF,GA7DgE;;AA+D1DY,EAAAA,SA/D0D,GA+D9C,YAAM;AACvB,IAAA,KAAI,CAACZ,2BAAL;AACA,IAAA,KAAI,CAACK,0BAAL;AACD,GAlEgE,CAC/D,KAAKP,UAAL,GAAkBL,aAAlB,CACD,C","sourcesContent":["import { Nullable } from '../typings/utility-types';\n\nexport interface TaskWithDelayAndMinimalDurationProps {\n delayBeforeTaskStart: number;\n durationOfTask: number;\n taskStartCallback: () => void;\n taskStopCallback: () => void;\n}\n\nexport class TaskWithDelayAndMinimalDuration {\n private timeoutBeforeTaskStart: Nullable<NodeJS.Timeout>;\n private timeoutBeforeTaskStop: Nullable<NodeJS.Timeout>;\n private taskParams: TaskWithDelayAndMinimalDurationProps;\n private isTaskActive = false;\n\n constructor(initialValues: TaskWithDelayAndMinimalDurationProps) {\n this.taskParams = initialValues;\n }\n\n private setTimeoutBeforeTaskStart = () => {\n this.timeoutBeforeTaskStart = setTimeout(() => {\n this.isTaskActive && this.taskParams.taskStartCallback();\n this.clearTimeoutBeforeTaskStart();\n this.setTimeoutBeforeTaskStop();\n }, this.taskParams.delayBeforeTaskStart);\n };\n\n private setTimeoutBeforeTaskStop = () => {\n this.timeoutBeforeTaskStop = setTimeout(() => {\n !this.isTaskActive && this.taskParams.taskStopCallback();\n this.clearTimeoutBeforeTaskStop();\n }, this.taskParams.durationOfTask);\n };\n\n private clearTimeoutBeforeTaskStart = () => {\n this.timeoutBeforeTaskStart && clearTimeout(this.timeoutBeforeTaskStart);\n this.timeoutBeforeTaskStart = null;\n };\n\n private clearTimeoutBeforeTaskStop = () => {\n this.timeoutBeforeTaskStop && clearTimeout(this.timeoutBeforeTaskStop);\n this.timeoutBeforeTaskStop = null;\n };\n\n public start = () => {\n if (this.isTaskActive) {\n return;\n }\n\n this.isTaskActive = true;\n\n if (this.timeoutBeforeTaskStart) {\n this.clearTimeoutBeforeTaskStart();\n }\n\n this.setTimeoutBeforeTaskStart();\n };\n\n public update = (updateData: Partial<TaskWithDelayAndMinimalDurationProps>) => {\n this.taskParams = { ...this.taskParams, ...updateData };\n };\n\n public stop = () => {\n if (!this.isTaskActive) {\n return;\n }\n\n this.isTaskActive = false;\n\n if (!this.timeoutBeforeTaskStart && !this.timeoutBeforeTaskStop) {\n this.taskParams.taskStopCallback();\n }\n\n if (this.timeoutBeforeTaskStart) {\n this.clearTimeoutBeforeTaskStart();\n }\n };\n\n public clearTask = () => {\n this.clearTimeoutBeforeTaskStart();\n this.clearTimeoutBeforeTaskStop();\n };\n}\n"]}
@@ -17,7 +17,7 @@ var _createEmotion =
17
17
 
18
18
 
19
19
  function isZeroArgs(fn) {
20
- return fn.length == 0;
20
+ return fn.length === 0;
21
21
  }
22
22
 
23
23
  var memoize = function memoize(fn) {
@@ -35,7 +35,10 @@ var memoize = function memoize(fn) {
35
35
 
36
36
  var cache = new WeakMap();
37
37
  return function (arg) {
38
- if (!cache.has(arg)) cache.set(arg, fn(arg));
38
+ if (!cache.has(arg)) {
39
+ cache.set(arg, fn(arg));
40
+ }
41
+
39
42
  return cache.get(arg);
40
43
  };
41
44
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["Emotion.ts"],"names":["REACT_UI_PREFIX","Upgrade","getSpecificityClassName","scope","Array","getSpecificityLevel","fill","join","key","prepend","stylisPlugins","undefined","flush","hydrate","cx","merge","getRegisteredStyles","injectGlobal","keyframes","css","sheet","cache","isZeroArgs","fn","length","memoize","isCalled","result","WeakMap","arg","has","set","get","memoizeStyle","styles","Object","keys","forEach","className","prefix","component","app","classes","reduce","acc"],"mappings":"mbAAA;AACA;;AAEA;;;;AAIA,IAAMA,eAAe,GAAGC,kBAAQC,uBAAR,EAAxB;;AAEA,IAAMC,KAAK,GAAG,IAAIC,KAAJ,CAAUH,kBAAQI,mBAAR,EAAV,EAAyCC,IAAzC,OAAkDN,eAAlD,EAAqEO,IAArE,CAA0E,EAA1E,CAAd;;AAEO;AACL,6BAAc;AACZC,EAAAA,GAAG,EAAER,eADO;AAEZS,EAAAA,OAAO,EAAE,IAFG;AAGZC,EAAAA,aAAa,EAAEP,KAAK,GAAG,CAAC,qCAAiBA,KAAjB,CAAD,CAAH,GAA+BQ,SAHvC,EAAd,CADK,CAAQC,KAAR,kBAAQA,KAAR,CAAeC,OAAf,kBAAeA,OAAf,CAAwBC,EAAxB,kBAAwBA,EAAxB,CAA4BC,KAA5B,kBAA4BA,KAA5B,CAAmCC,mBAAnC,kBAAmCA,mBAAnC,CAAwDC,YAAxD,kBAAwDA,YAAxD,CAAsEC,SAAtE,kBAAsEA,SAAtE,CAAiFC,GAAjF,kBAAiFA,GAAjF,CAAsFC,KAAtF,kBAAsFA,KAAtF,CAA6FC,KAA7F,kBAA6FA,KAA7F,C;;;AAOP,SAASC,UAAT,CAAwDC,EAAxD,EAAyF;AACvF,SAAOA,EAAE,CAACC,MAAH,IAAa,CAApB;AACD;;AAED,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAAsBF,EAAtB,EAAuF;AACrG,MAAID,UAAU,CAACC,EAAD,CAAd,EAAoB;AAClB,QAAIG,QAAQ,GAAG,KAAf;AACA,QAAIC,MAAJ;AACA,WAAO,YAAM;AACX,UAAI,CAACD,QAAL,EAAe;AACbA,QAAAA,QAAQ,GAAG,IAAX;AACAC,QAAAA,MAAM,GAAGJ,EAAE,EAAX;AACD;AACD,aAAOI,MAAP;AACD,KAND;AAOD;;AAED,MAAMN,KAAK,GAAG,IAAIO,OAAJ,EAAd;AACA,SAAO,UAACC,GAAD,EAAY;AACjB,QAAI,CAACR,KAAK,CAACS,GAAN,CAAUD,GAAV,CAAL,EAAqBR,KAAK,CAACU,GAAN,CAAUF,GAAV,EAAeN,EAAE,CAACM,GAAD,CAAjB;AACrB,WAAOR,KAAK,CAACW,GAAN,CAAUH,GAAV,CAAP;AACD,GAHD;AAID,CAlBD;;AAoBO,IAAMI,YAAY,GAAG,SAAfA,YAAe;AAC1BC,MAD0B;AAEpB;AACNC,EAAAA,MAAM,CAACC,IAAP,CAAYF,MAAZ,EAAoBG,OAApB,CAA4B,UAACC,SAAD,UAAgBJ,MAAM,CAACI,SAAD,CAAN,GAA+Bb,OAAO,CAACS,MAAM,CAACI,SAAD,CAAP,CAAtD,EAA5B;AACA,SAAOJ,MAAP;AACD,CALM,C;;AAOA,IAAMK,MAAM;AACjB,SADWA,MACX,CAACC,SAAD,EAAoBC,GAApB,OAAoBA,GAApB,cAAoBA,GAApB,GAA0BzC,eAA1B;AACA,cAAmC0C,OAAnC;AACEP,QAAAA,MAAM,CAACC,IAAP,CAAYM,OAAZ,EAAqBC,MAArB,CAA4B,UAACC,GAAD,EAAMpC,GAAN,EAAc;AACxC,4CAAYoC,GAAZ,6BAAkBpC,GAAlB,IAA2BiC,GAA3B,SAAkCD,SAAlC,SAA+CE,OAAO,CAAClC,GAAD,CAAtD;AACD,SAFD,EAEG,EAFH,CADF,GADA,GADK,C","sourcesContent":["import createEmotion from '@emotion/css/create-instance';\nimport extraScopePlugin from 'stylis-plugin-extra-scope';\n\nimport { Upgrade } from '../Upgrades';\n\nimport { Theme } from './Theme';\n\nconst REACT_UI_PREFIX = Upgrade.getSpecificityClassName();\n\nconst scope = new Array(Upgrade.getSpecificityLevel()).fill(`.${REACT_UI_PREFIX}`).join('');\n\nexport const { flush, hydrate, cx, merge, getRegisteredStyles, injectGlobal, keyframes, css, sheet, cache } =\n createEmotion({\n key: REACT_UI_PREFIX,\n prepend: true,\n stylisPlugins: scope ? [extraScopePlugin(scope)] : undefined,\n });\n\nfunction isZeroArgs<R, T extends (...args: any[]) => R>(fn: T | Function): fn is () => R {\n return fn.length == 0;\n}\n\nconst memoize = <A extends object, R>(fn: (() => R) | ((arg: A) => R)): (() => R) | ((arg: A) => R) => {\n if (isZeroArgs(fn)) {\n let isCalled = false;\n let result: R;\n return () => {\n if (!isCalled) {\n isCalled = true;\n result = fn();\n }\n return result;\n };\n }\n\n const cache = new WeakMap();\n return (arg: A) => {\n if (!cache.has(arg)) cache.set(arg, fn(arg));\n return cache.get(arg);\n };\n};\n\nexport const memoizeStyle = <S extends { [className: string]: (() => string) | ((t: Theme) => string) }>(\n styles: S,\n): S => {\n Object.keys(styles).forEach((className) => (styles[className as keyof S] = memoize(styles[className]) as S[keyof S]));\n return styles;\n};\n\nexport const prefix =\n (component: string, app = REACT_UI_PREFIX) =>\n <T extends Record<string, string>>(classes: T): T =>\n Object.keys(classes).reduce((acc, key) => {\n return { ...acc, [key]: `${app}-${component}-${classes[key]}` };\n }, {} as T);\n"]}
1
+ {"version":3,"sources":["Emotion.ts"],"names":["REACT_UI_PREFIX","Upgrade","getSpecificityClassName","scope","Array","getSpecificityLevel","fill","join","key","prepend","stylisPlugins","undefined","flush","hydrate","cx","merge","getRegisteredStyles","injectGlobal","keyframes","css","sheet","cache","isZeroArgs","fn","length","memoize","isCalled","result","WeakMap","arg","has","set","get","memoizeStyle","styles","Object","keys","forEach","className","prefix","component","app","classes","reduce","acc"],"mappings":"mbAAA;AACA;;AAEA;;;;AAIA,IAAMA,eAAe,GAAGC,kBAAQC,uBAAR,EAAxB;;AAEA,IAAMC,KAAK,GAAG,IAAIC,KAAJ,CAAUH,kBAAQI,mBAAR,EAAV,EAAyCC,IAAzC,OAAkDN,eAAlD,EAAqEO,IAArE,CAA0E,EAA1E,CAAd;;AAEO;AACL,6BAAc;AACZC,EAAAA,GAAG,EAAER,eADO;AAEZS,EAAAA,OAAO,EAAE,IAFG;AAGZC,EAAAA,aAAa,EAAEP,KAAK,GAAG,CAAC,qCAAiBA,KAAjB,CAAD,CAAH,GAA+BQ,SAHvC,EAAd,CADK,CAAQC,KAAR,kBAAQA,KAAR,CAAeC,OAAf,kBAAeA,OAAf,CAAwBC,EAAxB,kBAAwBA,EAAxB,CAA4BC,KAA5B,kBAA4BA,KAA5B,CAAmCC,mBAAnC,kBAAmCA,mBAAnC,CAAwDC,YAAxD,kBAAwDA,YAAxD,CAAsEC,SAAtE,kBAAsEA,SAAtE,CAAiFC,GAAjF,kBAAiFA,GAAjF,CAAsFC,KAAtF,kBAAsFA,KAAtF,CAA6FC,KAA7F,kBAA6FA,KAA7F,C;;;AAOP,SAASC,UAAT,CAAwDC,EAAxD,EAAyF;AACvF,SAAOA,EAAE,CAACC,MAAH,KAAc,CAArB;AACD;;AAED,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAAsBF,EAAtB,EAAuF;AACrG,MAAID,UAAU,CAACC,EAAD,CAAd,EAAoB;AAClB,QAAIG,QAAQ,GAAG,KAAf;AACA,QAAIC,MAAJ;AACA,WAAO,YAAM;AACX,UAAI,CAACD,QAAL,EAAe;AACbA,QAAAA,QAAQ,GAAG,IAAX;AACAC,QAAAA,MAAM,GAAGJ,EAAE,EAAX;AACD;AACD,aAAOI,MAAP;AACD,KAND;AAOD;;AAED,MAAMN,KAAK,GAAG,IAAIO,OAAJ,EAAd;AACA,SAAO,UAACC,GAAD,EAAY;AACjB,QAAI,CAACR,KAAK,CAACS,GAAN,CAAUD,GAAV,CAAL,EAAqB;AACnBR,MAAAA,KAAK,CAACU,GAAN,CAAUF,GAAV,EAAeN,EAAE,CAACM,GAAD,CAAjB;AACD;;AAED,WAAOR,KAAK,CAACW,GAAN,CAAUH,GAAV,CAAP;AACD,GAND;AAOD,CArBD;;AAuBO,IAAMI,YAAY,GAAG,SAAfA,YAAe;AAC1BC,MAD0B;AAEpB;AACNC,EAAAA,MAAM,CAACC,IAAP,CAAYF,MAAZ,EAAoBG,OAApB,CAA4B,UAACC,SAAD,UAAgBJ,MAAM,CAACI,SAAD,CAAN,GAA+Bb,OAAO,CAACS,MAAM,CAACI,SAAD,CAAP,CAAtD,EAA5B;AACA,SAAOJ,MAAP;AACD,CALM,C;;AAOA,IAAMK,MAAM;AACjB,SADWA,MACX,CAACC,SAAD,EAAoBC,GAApB,OAAoBA,GAApB,cAAoBA,GAApB,GAA0BzC,eAA1B;AACA,cAAmC0C,OAAnC;AACEP,QAAAA,MAAM,CAACC,IAAP,CAAYM,OAAZ,EAAqBC,MAArB,CAA4B,UAACC,GAAD,EAAMpC,GAAN,EAAc;AACxC,4CAAYoC,GAAZ,6BAAkBpC,GAAlB,IAA2BiC,GAA3B,SAAkCD,SAAlC,SAA+CE,OAAO,CAAClC,GAAD,CAAtD;AACD,SAFD,EAEG,EAFH,CADF,GADA,GADK,C","sourcesContent":["import createEmotion from '@emotion/css/create-instance';\nimport extraScopePlugin from 'stylis-plugin-extra-scope';\n\nimport { Upgrade } from '../Upgrades';\n\nimport { Theme } from './Theme';\n\nconst REACT_UI_PREFIX = Upgrade.getSpecificityClassName();\n\nconst scope = new Array(Upgrade.getSpecificityLevel()).fill(`.${REACT_UI_PREFIX}`).join('');\n\nexport const { flush, hydrate, cx, merge, getRegisteredStyles, injectGlobal, keyframes, css, sheet, cache } =\n createEmotion({\n key: REACT_UI_PREFIX,\n prepend: true,\n stylisPlugins: scope ? [extraScopePlugin(scope)] : undefined,\n });\n\nfunction isZeroArgs<R, T extends (...args: any[]) => R>(fn: T | Function): fn is () => R {\n return fn.length === 0;\n}\n\nconst memoize = <A extends object, R>(fn: (() => R) | ((arg: A) => R)): (() => R) | ((arg: A) => R) => {\n if (isZeroArgs(fn)) {\n let isCalled = false;\n let result: R;\n return () => {\n if (!isCalled) {\n isCalled = true;\n result = fn();\n }\n return result;\n };\n }\n\n const cache = new WeakMap();\n return (arg: A) => {\n if (!cache.has(arg)) {\n cache.set(arg, fn(arg));\n }\n\n return cache.get(arg);\n };\n};\n\nexport const memoizeStyle = <S extends { [className: string]: (() => string) | ((t: Theme) => string) }>(\n styles: S,\n): S => {\n Object.keys(styles).forEach((className) => (styles[className as keyof S] = memoize(styles[className]) as S[keyof S]));\n return styles;\n};\n\nexport const prefix =\n (component: string, app = REACT_UI_PREFIX) =>\n <T extends Record<string, string>>(classes: T): T =>\n Object.keys(classes).reduce((acc, key) => {\n return { ...acc, [key]: `${app}-${component}-${classes[key]}` };\n }, {} as T);\n"]}
@@ -1,4 +1,5 @@
1
1
  "use strict";exports.__esModule = true;exports.ThemeFactory = void 0;var _DefaultTheme = require("../../internal/themes/DefaultTheme");
2
+ var _utils = require("../utils");
2
3
 
3
4
 
4
5
  var _ThemeHelpers = require("./ThemeHelpers");var
@@ -18,14 +19,17 @@ ThemeFactory = /*#__PURE__*/function () {function ThemeFactory() {}ThemeFactory.
18
19
 
19
20
  getKeys = function getKeys(theme) {
20
21
  var keys = [];
21
- while (theme != null) {
22
+ while ((0, _utils.isNonNullable)(theme)) {
22
23
  Object.keys(theme).forEach(function (key) {
23
24
  if (!keys.includes(key)) {
24
25
  keys.push(key);
25
26
  }
26
27
  });
28
+ // TODO: Enable `no-param-reassign` rule.
29
+ // eslint-disable-next-line no-param-reassign
27
30
  theme = Object.getPrototypeOf(theme);
28
31
  }
32
+
29
33
  return keys.sort();
30
34
  };ThemeFactory.
31
35
 
@@ -1 +1 @@
1
- {"version":3,"sources":["ThemeFactory.ts"],"names":["ThemeFactory","create","theme","baseTheme","base","DefaultThemeInternal","constructTheme","overrideDefaultTheme","getKeys","forEach","variableName","descriptor","Object","defineProperty","keys","key","includes","push","getPrototypeOf","sort","newTheme","propName","getOwnPropertyDescriptor","freeze"],"mappings":"qEAAA;;;AAGA,8C;;AAEaA,Y;AACGC,EAAAA,M,GAAd,gBAAmCC,KAAnC,EAAuDC,SAAvD,EAA+F;AAC7F,QAAMC,IAAI,GAAGD,SAAS,IAAIE,kCAA1B;AACA,WAAO,KAAKC,cAAL,CAAoBF,IAApB,EAA0BF,KAA1B,CAAP;AACD,G;;AAEaK,EAAAA,oB,GAAd,8BAAmCL,KAAnC,EAAiD;AAC/CF,IAAAA,YAAY,CAACQ,OAAb,CAAqBH,kCAArB,EAA2CI,OAA3C,CAAmD,UAACC,YAAD,EAAkB;AACnE,UAAMC,UAAU,GAAG,0CAAuBT,KAAvB,EAA8BQ,YAA9B,CAAnB;AACAE,MAAAA,MAAM,CAACC,cAAP,CAAsBR,kCAAtB,EAA4CK,YAA5C,EAA0DC,UAA1D;AACD,KAHD;AAID,G;;AAEaH,EAAAA,O,GAAd,iBAAuCN,KAAvC,EAAiD;AAC/C,QAAMY,IAAoB,GAAG,EAA7B;AACA,WAAOZ,KAAK,IAAI,IAAhB,EAAsB;AACnBU,MAAAA,MAAM,CAACE,IAAP,CAAYZ,KAAZ,CAAD,CAAoCO,OAApC,CAA4C,UAACM,GAAD,EAAS;AACnD,YAAI,CAACD,IAAI,CAACE,QAAL,CAAcD,GAAd,CAAL,EAAyB;AACvBD,UAAAA,IAAI,CAACG,IAAL,CAAUF,GAAV;AACD;AACF,OAJD;AAKAb,MAAAA,KAAK,GAAGU,MAAM,CAACM,cAAP,CAAsBhB,KAAtB,CAAR;AACD;AACD,WAAOY,IAAI,CAACK,IAAL,EAAP;AACD,G;;AAEcb,EAAAA,c,GAAf,wBAA8BF,IAA9B,EAA2CF,KAA3C,EAA2D;AACzD,QAAMkB,QAAQ,GAAGR,MAAM,CAACX,MAAP,CAAcG,IAAd,CAAjB;AACAQ,IAAAA,MAAM,CAACE,IAAP,CAAYZ,KAAZ,EAAmBO,OAAnB,CAA2B,UAACY,QAAD,EAAc;AACvC,UAAMV,UAAU,GAAGC,MAAM,CAACU,wBAAP,CAAgCpB,KAAhC,EAAuCmB,QAAvC,CAAnB;AACAT,MAAAA,MAAM,CAACC,cAAP,CAAsBO,QAAtB,EAAgCC,QAAhC,EAA0CV,UAA1C;AACD,KAHD;;AAKA,WAAOC,MAAM,CAACW,MAAP,CAAcH,QAAd,CAAP;AACD,G","sourcesContent":["import { DefaultThemeInternal } from '../../internal/themes/DefaultTheme';\n\nimport { Theme, ThemeIn } from './Theme';\nimport { findPropertyDescriptor } from './ThemeHelpers';\n\nexport class ThemeFactory {\n public static create<T extends {}>(theme: ThemeIn & T, baseTheme?: Theme): Readonly<Theme & T> {\n const base = baseTheme || DefaultThemeInternal;\n return this.constructTheme(base, theme);\n }\n\n public static overrideDefaultTheme(theme: Theme) {\n ThemeFactory.getKeys(DefaultThemeInternal).forEach((variableName) => {\n const descriptor = findPropertyDescriptor(theme, variableName);\n Object.defineProperty(DefaultThemeInternal, variableName, descriptor);\n });\n }\n\n public static getKeys<T extends Theme>(theme: T) {\n const keys: Array<keyof T> = [];\n while (theme != null) {\n (Object.keys(theme) as typeof keys).forEach((key) => {\n if (!keys.includes(key)) {\n keys.push(key);\n }\n });\n theme = Object.getPrototypeOf(theme);\n }\n return keys.sort();\n }\n\n private static constructTheme(base: Theme, theme: ThemeIn) {\n const newTheme = Object.create(base);\n Object.keys(theme).forEach((propName) => {\n const descriptor = Object.getOwnPropertyDescriptor(theme, propName)!;\n Object.defineProperty(newTheme, propName, descriptor);\n });\n\n return Object.freeze(newTheme);\n }\n}\n"]}
1
+ {"version":3,"sources":["ThemeFactory.ts"],"names":["ThemeFactory","create","theme","baseTheme","base","DefaultThemeInternal","constructTheme","overrideDefaultTheme","getKeys","forEach","variableName","descriptor","Object","defineProperty","keys","key","includes","push","getPrototypeOf","sort","newTheme","propName","getOwnPropertyDescriptor","freeze"],"mappings":"qEAAA;AACA;;;AAGA,8C;;AAEaA,Y;AACGC,EAAAA,M,GAAd,gBAAmCC,KAAnC,EAAuDC,SAAvD,EAA+F;AAC7F,QAAMC,IAAI,GAAGD,SAAS,IAAIE,kCAA1B;AACA,WAAO,KAAKC,cAAL,CAAoBF,IAApB,EAA0BF,KAA1B,CAAP;AACD,G;;AAEaK,EAAAA,oB,GAAd,8BAAmCL,KAAnC,EAAiD;AAC/CF,IAAAA,YAAY,CAACQ,OAAb,CAAqBH,kCAArB,EAA2CI,OAA3C,CAAmD,UAACC,YAAD,EAAkB;AACnE,UAAMC,UAAU,GAAG,0CAAuBT,KAAvB,EAA8BQ,YAA9B,CAAnB;AACAE,MAAAA,MAAM,CAACC,cAAP,CAAsBR,kCAAtB,EAA4CK,YAA5C,EAA0DC,UAA1D;AACD,KAHD;AAID,G;;AAEaH,EAAAA,O,GAAd,iBAAuCN,KAAvC,EAAiD;AAC/C,QAAMY,IAAoB,GAAG,EAA7B;AACA,WAAO,0BAAcZ,KAAd,CAAP,EAA6B;AAC1BU,MAAAA,MAAM,CAACE,IAAP,CAAYZ,KAAZ,CAAD,CAAoCO,OAApC,CAA4C,UAACM,GAAD,EAAS;AACnD,YAAI,CAACD,IAAI,CAACE,QAAL,CAAcD,GAAd,CAAL,EAAyB;AACvBD,UAAAA,IAAI,CAACG,IAAL,CAAUF,GAAV;AACD;AACF,OAJD;AAKA;AACA;AACAb,MAAAA,KAAK,GAAGU,MAAM,CAACM,cAAP,CAAsBhB,KAAtB,CAAR;AACD;;AAED,WAAOY,IAAI,CAACK,IAAL,EAAP;AACD,G;;AAEcb,EAAAA,c,GAAf,wBAA8BF,IAA9B,EAA2CF,KAA3C,EAA2D;AACzD,QAAMkB,QAAQ,GAAGR,MAAM,CAACX,MAAP,CAAcG,IAAd,CAAjB;AACAQ,IAAAA,MAAM,CAACE,IAAP,CAAYZ,KAAZ,EAAmBO,OAAnB,CAA2B,UAACY,QAAD,EAAc;AACvC,UAAMV,UAAU,GAAGC,MAAM,CAACU,wBAAP,CAAgCpB,KAAhC,EAAuCmB,QAAvC,CAAnB;AACAT,MAAAA,MAAM,CAACC,cAAP,CAAsBO,QAAtB,EAAgCC,QAAhC,EAA0CV,UAA1C;AACD,KAHD;;AAKA,WAAOC,MAAM,CAACW,MAAP,CAAcH,QAAd,CAAP;AACD,G","sourcesContent":["import { DefaultThemeInternal } from '../../internal/themes/DefaultTheme';\nimport { isNonNullable } from '../utils';\n\nimport { Theme, ThemeIn } from './Theme';\nimport { findPropertyDescriptor } from './ThemeHelpers';\n\nexport class ThemeFactory {\n public static create<T extends {}>(theme: ThemeIn & T, baseTheme?: Theme): Readonly<Theme & T> {\n const base = baseTheme || DefaultThemeInternal;\n return this.constructTheme(base, theme);\n }\n\n public static overrideDefaultTheme(theme: Theme) {\n ThemeFactory.getKeys(DefaultThemeInternal).forEach((variableName) => {\n const descriptor = findPropertyDescriptor(theme, variableName);\n Object.defineProperty(DefaultThemeInternal, variableName, descriptor);\n });\n }\n\n public static getKeys<T extends Theme>(theme: T) {\n const keys: Array<keyof T> = [];\n while (isNonNullable(theme)) {\n (Object.keys(theme) as typeof keys).forEach((key) => {\n if (!keys.includes(key)) {\n keys.push(key);\n }\n });\n // TODO: Enable `no-param-reassign` rule.\n // eslint-disable-next-line no-param-reassign\n theme = Object.getPrototypeOf(theme);\n }\n\n return keys.sort();\n }\n\n private static constructTheme(base: Theme, theme: ThemeIn) {\n const newTheme = Object.create(base);\n Object.keys(theme).forEach((propName) => {\n const descriptor = Object.getOwnPropertyDescriptor(theme, propName)!;\n Object.defineProperty(newTheme, propName, descriptor);\n });\n\n return Object.freeze(newTheme);\n }\n}\n"]}