@skbkontur/react-ui 4.1.0 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. package/CHANGELOG.md +15 -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.styles.js +4 -7
  9. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  10. package/cjs/components/CurrencyInput/CurrencyHelper.js +18 -12
  11. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  12. package/cjs/components/CurrencyInput/CurrencyInput.js +15 -7
  13. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  14. package/cjs/components/CurrencyInput/CurrencyInputHelper.js +7 -5
  15. package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  16. package/cjs/components/CurrencyInput/CursorHelper.js +19 -16
  17. package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
  18. package/cjs/components/DateInput/helpers/InternalDateMediator.js +8 -2
  19. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  20. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -4
  21. package/cjs/components/DropdownMenu/DropdownMenu.js +2 -16
  22. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  23. package/cjs/components/FileUploader/FileUploader.js +3 -1
  24. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  25. package/cjs/components/Gapped/Gapped.js +2 -2
  26. package/cjs/components/Gapped/Gapped.js.map +1 -1
  27. package/cjs/components/GlobalLoader/GlobalLoader.js +3 -5
  28. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  29. package/cjs/components/Group/Group.js +74 -31
  30. package/cjs/components/Group/Group.js.map +1 -1
  31. package/cjs/components/Input/Input.js.map +1 -1
  32. package/cjs/components/Kebab/Kebab.d.ts +2 -13
  33. package/cjs/components/Kebab/Kebab.js +5 -29
  34. package/cjs/components/Kebab/Kebab.js.map +1 -1
  35. package/cjs/components/Modal/Modal.js +2 -1
  36. package/cjs/components/Modal/Modal.js.map +1 -1
  37. package/cjs/components/Modal/ModalFooter.js +1 -1
  38. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  39. package/cjs/components/Modal/ModalHeader.js +1 -1
  40. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  41. package/cjs/components/Paging/Paging.d.ts +1 -1
  42. package/cjs/components/Paging/Paging.js +3 -3
  43. package/cjs/components/Paging/Paging.js.map +1 -1
  44. package/cjs/components/PasswordInput/PasswordInput.js +2 -1
  45. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  46. package/cjs/components/Radio/Radio.styles.js +4 -7
  47. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  48. package/cjs/components/RadioGroup/RadioGroup.js +1 -1
  49. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  50. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +1 -1
  51. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  52. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +3 -4
  53. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  54. package/cjs/components/Select/Select.js +30 -12
  55. package/cjs/components/Select/Select.js.map +1 -1
  56. package/cjs/components/SidePage/SidePage.js +2 -1
  57. package/cjs/components/SidePage/SidePage.js.map +1 -1
  58. package/cjs/components/Spinner/Spinner.d.ts +0 -1
  59. package/cjs/components/Spinner/Spinner.js +1 -5
  60. package/cjs/components/Spinner/Spinner.js.map +1 -1
  61. package/cjs/components/Spinner/SpinnerFallbackAnimation.js +16 -5
  62. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  63. package/cjs/components/Textarea/Textarea.js.map +1 -1
  64. package/cjs/components/Textarea/TextareaCounter.d.ts +1 -2
  65. package/cjs/components/Textarea/TextareaCounter.js +5 -4
  66. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  67. package/cjs/components/Toggle/Toggle.d.ts +1 -1
  68. package/cjs/components/Toggle/Toggle.js.map +1 -1
  69. package/cjs/components/Token/Token.js +14 -2
  70. package/cjs/components/Token/Token.js.map +1 -1
  71. package/cjs/components/Token/Token.styles.js +13 -6
  72. package/cjs/components/Token/Token.styles.js.map +1 -1
  73. package/cjs/components/TokenInput/TokenInput.js +13 -10
  74. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  75. package/cjs/components/Tooltip/Tooltip.js +5 -2
  76. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  77. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +1 -1
  78. package/cjs/components/TooltipMenu/TooltipMenu.js +2 -0
  79. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  80. package/cjs/hooks/useDrop.js +3 -1
  81. package/cjs/hooks/useDrop.js.map +1 -1
  82. package/cjs/internal/Calendar/Calendar.js +3 -3
  83. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  84. package/cjs/internal/Calendar/CalendarDateShape.d.ts +1 -1
  85. package/cjs/internal/Calendar/MonthViewModel.js +36 -17
  86. package/cjs/internal/Calendar/MonthViewModel.js.map +1 -1
  87. package/cjs/internal/CommonWrapper/CommonWrapper.js +3 -3
  88. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  89. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +6 -1
  90. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  91. package/cjs/internal/CustomComboBox/CustomComboBox.js +3 -2
  92. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  93. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +16 -16
  94. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +35 -35
  95. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  96. package/cjs/internal/DateSelect/DateSelect.js +22 -11
  97. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  98. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +3 -1
  99. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
  100. package/cjs/internal/InternalMenu/InternalMenu.js +4 -7
  101. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  102. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -0
  103. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js +16 -0
  104. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js.map +1 -0
  105. package/cjs/internal/MaskedInput/MaskedInput.js +7 -2
  106. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  107. package/cjs/internal/Menu/Menu.js +12 -13
  108. package/cjs/internal/Menu/Menu.js.map +1 -1
  109. package/cjs/internal/Popup/Popup.d.ts +1 -0
  110. package/cjs/internal/Popup/Popup.js +8 -9
  111. package/cjs/internal/Popup/Popup.js.map +1 -1
  112. package/cjs/internal/PopupMenu/PopupMenu.d.ts +4 -0
  113. package/cjs/internal/PopupMenu/PopupMenu.js +13 -0
  114. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  115. package/cjs/internal/PopupMenu/validatePositions.js +6 -6
  116. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  117. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +1 -1
  118. package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -1
  119. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  120. package/cjs/internal/RenderLayer/RenderLayer.js +4 -1
  121. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  122. package/cjs/internal/ThemePlayground/ThemeEditor.js +6 -1
  123. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  124. package/cjs/internal/ThemePlayground/VariableValue.js +18 -6
  125. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  126. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +4 -7
  127. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  128. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  129. package/cjs/internal/ThemeShowcase/VariablesCollector.js +5 -6
  130. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  131. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +2 -1
  132. package/cjs/internal/ZIndex/ZIndexStorage.js +13 -6
  133. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  134. package/cjs/internal/icons/16px/index.d.ts +19 -19
  135. package/cjs/internal/icons/16px/index.js +37 -38
  136. package/cjs/internal/icons/16px/index.js.map +1 -1
  137. package/cjs/lib/animation/index.d.ts +1 -1
  138. package/cjs/lib/animation/index.js +3 -3
  139. package/cjs/lib/animation/index.js.map +1 -1
  140. package/cjs/lib/date/InternalDate.js +23 -9
  141. package/cjs/lib/date/InternalDate.js.map +1 -1
  142. package/cjs/lib/date/InternalDateCalculator.js +16 -2
  143. package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
  144. package/cjs/lib/date/InternalDateGetter.js +23 -6
  145. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  146. package/cjs/lib/date/InternalDateTransformer.js +11 -2
  147. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  148. package/cjs/lib/date/InternalDateValidator.js +31 -6
  149. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  150. package/cjs/lib/events/keyboard/extractCode.js +7 -5
  151. package/cjs/lib/events/keyboard/extractCode.js.map +1 -1
  152. package/cjs/lib/rootNode/getRootNode.d.ts +9 -0
  153. package/cjs/lib/rootNode/getRootNode.js +34 -6
  154. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  155. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +9 -1
  156. package/cjs/lib/rootNode/rootNodeDecorator.js +9 -1
  157. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  158. package/cjs/lib/stringUtils.js +3 -1
  159. package/cjs/lib/stringUtils.js.map +1 -1
  160. package/cjs/lib/styles/ColorFactory.js +9 -9
  161. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  162. package/cjs/lib/styles/ColorHelpers.d.ts +1 -0
  163. package/cjs/lib/styles/ColorHelpers.js +33 -10
  164. package/cjs/lib/styles/ColorHelpers.js.map +1 -1
  165. package/cjs/lib/styles/ColorObject.js +3 -2
  166. package/cjs/lib/styles/ColorObject.js.map +1 -1
  167. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
  168. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js +9 -0
  169. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -0
  170. package/cjs/lib/taskWithDelayAndMinimalDuration.js +3 -1
  171. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  172. package/cjs/lib/theming/Emotion.js +5 -2
  173. package/cjs/lib/theming/Emotion.js.map +1 -1
  174. package/cjs/lib/theming/ThemeFactory.js +5 -1
  175. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  176. package/cjs/lib/theming/ThemeHelpers.js +7 -2
  177. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  178. package/cjs/lib/utils.d.ts +15 -0
  179. package/cjs/lib/utils.js +45 -9
  180. package/cjs/lib/utils.js.map +1 -1
  181. package/components/Autocomplete/Autocomplete/Autocomplete.js +6 -5
  182. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  183. package/components/Button/Button/Button.js +4 -10
  184. package/components/Button/Button/Button.js.map +1 -1
  185. package/components/Button/Button.d.ts +1 -5
  186. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +2 -1
  187. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  188. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js +12 -11
  189. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  190. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +15 -7
  191. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  192. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js +7 -1
  193. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
  194. package/components/CurrencyInput/CursorHelper/CursorHelper.js +18 -11
  195. package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
  196. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +7 -7
  197. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  198. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +3 -16
  199. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  200. package/components/DropdownMenu/DropdownMenu.d.ts +1 -4
  201. package/components/FileUploader/FileUploader/FileUploader.js +4 -1
  202. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  203. package/components/Gapped/Gapped/Gapped.js +2 -2
  204. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  205. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +5 -7
  206. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  207. package/components/Group/Group/Group.js +62 -30
  208. package/components/Group/Group/Group.js.map +1 -1
  209. package/components/Input/Input/Input.js.map +1 -1
  210. package/components/Kebab/Kebab/Kebab.js +3 -13
  211. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  212. package/components/Kebab/Kebab.d.ts +2 -13
  213. package/components/Modal/Modal/Modal.js +2 -1
  214. package/components/Modal/Modal/Modal.js.map +1 -1
  215. package/components/Modal/ModalFooter/ModalFooter.js +1 -1
  216. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  217. package/components/Modal/ModalHeader/ModalHeader.js +1 -1
  218. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  219. package/components/Paging/Paging/Paging.js +6 -5
  220. package/components/Paging/Paging/Paging.js.map +1 -1
  221. package/components/Paging/Paging.d.ts +1 -1
  222. package/components/PasswordInput/PasswordInput/PasswordInput.js +2 -1
  223. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  224. package/components/Radio/Radio.styles/Radio.styles.js +2 -1
  225. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  226. package/components/RadioGroup/RadioGroup/RadioGroup.js +2 -2
  227. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  228. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +1 -1
  229. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  230. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +3 -3
  231. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  232. package/components/Select/Select/Select.js +26 -12
  233. package/components/Select/Select/Select.js.map +1 -1
  234. package/components/SidePage/SidePage/SidePage.js +2 -1
  235. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  236. package/components/Spinner/Spinner/Spinner.js +6 -2
  237. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  238. package/components/Spinner/Spinner.d.ts +0 -1
  239. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +18 -4
  240. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  241. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  242. package/components/Textarea/TextareaCounter/TextareaCounter.js +2 -1
  243. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  244. package/components/Textarea/TextareaCounter.d.ts +1 -2
  245. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  246. package/components/Toggle/Toggle.d.ts +1 -1
  247. package/components/Token/Token/Token.js +12 -1
  248. package/components/Token/Token/Token.js.map +1 -1
  249. package/components/Token/Token.styles/Token.styles.js +11 -4
  250. package/components/Token/Token.styles/Token.styles.js.map +1 -1
  251. package/components/TokenInput/TokenInput/TokenInput.js +19 -14
  252. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  253. package/components/Tooltip/Tooltip/Tooltip.js +5 -2
  254. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  255. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +2 -0
  256. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  257. package/components/TooltipMenu/TooltipMenu.d.ts +1 -1
  258. package/hooks/useDrop/useDrop.js +5 -1
  259. package/hooks/useDrop/useDrop.js.map +1 -1
  260. package/internal/Calendar/Calendar/Calendar.js +6 -4
  261. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  262. package/internal/Calendar/CalendarDateShape.d.ts +1 -1
  263. package/internal/Calendar/MonthViewModel/MonthViewModel.js +35 -18
  264. package/internal/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
  265. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +3 -3
  266. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  267. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +23 -15
  268. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  269. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +18 -17
  270. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  271. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +35 -35
  272. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  273. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +16 -16
  274. package/internal/DateSelect/DateSelect/DateSelect.js +21 -15
  275. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  276. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +5 -1
  277. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
  278. package/internal/InternalMenu/InternalMenu/InternalMenu.js +13 -16
  279. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  280. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/addIconPaddingIfPartOfMenu.js +14 -0
  281. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/addIconPaddingIfPartOfMenu.js.map +1 -0
  282. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/package.json +6 -0
  283. package/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -0
  284. package/internal/MaskedInput/MaskedInput/MaskedInput.js +8 -3
  285. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  286. package/internal/Menu/Menu/Menu.js +9 -14
  287. package/internal/Menu/Menu/Menu.js.map +1 -1
  288. package/internal/Popup/Popup/Popup.js +8 -7
  289. package/internal/Popup/Popup/Popup.js.map +1 -1
  290. package/internal/Popup/Popup.d.ts +1 -0
  291. package/internal/PopupMenu/PopupMenu/PopupMenu.js +8 -0
  292. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  293. package/internal/PopupMenu/PopupMenu.d.ts +4 -0
  294. package/internal/PopupMenu/validatePositions/validatePositions.js +6 -6
  295. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  296. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +5 -2
  297. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  298. package/internal/RenderContainer/RenderInnerContainer.d.ts +1 -1
  299. package/internal/RenderLayer/RenderLayer/RenderLayer.js +5 -1
  300. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  301. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js +5 -1
  302. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  303. package/internal/ThemePlayground/VariableValue/VariableValue.js +16 -5
  304. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  305. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +3 -6
  306. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  307. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +4 -6
  308. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  309. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  310. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +12 -6
  311. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  312. package/internal/ZIndex/ZIndexStorage.d.ts +2 -1
  313. package/internal/icons/16px/index/index.js +21 -20
  314. package/internal/icons/16px/index/index.js.map +1 -1
  315. package/internal/icons/16px/index.d.ts +19 -19
  316. package/lib/animation/index/index.js +1 -1
  317. package/lib/animation/index/index.js.map +1 -1
  318. package/lib/animation/index.d.ts +1 -1
  319. package/lib/date/InternalDate/InternalDate.js +16 -1
  320. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  321. package/lib/date/InternalDateCalculator/InternalDateCalculator.js +14 -2
  322. package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
  323. package/lib/date/InternalDateGetter/InternalDateGetter.js +20 -6
  324. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  325. package/lib/date/InternalDateTransformer/InternalDateTransformer.js +11 -1
  326. package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
  327. package/lib/date/InternalDateValidator/InternalDateValidator.js +31 -4
  328. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  329. package/lib/events/keyboard/extractCode/extractCode.js +5 -5
  330. package/lib/events/keyboard/extractCode/extractCode.js.map +1 -1
  331. package/lib/rootNode/getRootNode/getRootNode.js +35 -8
  332. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  333. package/lib/rootNode/getRootNode.d.ts +9 -0
  334. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +1 -1
  335. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  336. package/lib/rootNode/rootNodeDecorator.d.ts +9 -1
  337. package/lib/stringUtils/stringUtils.js +4 -1
  338. package/lib/stringUtils/stringUtils.js.map +1 -1
  339. package/lib/styles/ColorFactory/ColorFactory.js +9 -9
  340. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  341. package/lib/styles/ColorHelpers/ColorHelpers.js +26 -9
  342. package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
  343. package/lib/styles/ColorHelpers.d.ts +1 -0
  344. package/lib/styles/ColorObject/ColorObject.js +2 -2
  345. package/lib/styles/ColorObject/ColorObject.js.map +1 -1
  346. package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js +9 -0
  347. package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js.map +1 -0
  348. package/lib/styles/getLabGrotesqueBaselineCompensation/package.json +6 -0
  349. package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
  350. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +4 -1
  351. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
  352. package/lib/theming/Emotion/Emotion.js +5 -2
  353. package/lib/theming/Emotion/Emotion.js.map +1 -1
  354. package/lib/theming/ThemeFactory/ThemeFactory.js +5 -2
  355. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  356. package/lib/theming/ThemeHelpers/ThemeHelpers.js +5 -1
  357. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  358. package/lib/utils/utils.js +42 -6
  359. package/lib/utils/utils.js.map +1 -1
  360. package/lib/utils.d.ts +15 -0
  361. package/package.json +4 -3
  362. package/cjs/components/Button/Corners.d.ts +0 -6
  363. package/cjs/components/Button/Corners.js +0 -5
  364. package/cjs/components/Button/Corners.js.map +0 -1
  365. package/components/Button/Corners/Corners.js +0 -6
  366. package/components/Button/Corners/Corners.js.map +0 -1
  367. package/components/Button/Corners/package.json +0 -6
  368. package/components/Button/Corners.d.ts +0 -6
@@ -53,10 +53,22 @@ export var InternalDateCalculator = /*#__PURE__*/function () {
53
53
  }
54
54
 
55
55
  if (isLoop) {
56
- return value < start ? end : value > end ? start : value;
56
+ if (value < start) {
57
+ return end;
58
+ } else if (value > end) {
59
+ return start;
60
+ }
61
+
62
+ return value;
63
+ }
64
+
65
+ if (value < start) {
66
+ return start;
67
+ } else if (value > end) {
68
+ return end;
57
69
  }
58
70
 
59
- return value < start ? start : value > end ? end : value;
71
+ return value;
60
72
  };
61
73
 
62
74
  return InternalDateCalculator;
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalDateCalculator.ts"],"names":["InternalDateGetter","InternalDateComponentType","InternalDateCalculator","calcRangeStartDateComponent","type","year","month","date","startYear","startMonth","startDate","Year","Month","getDefaultMin","calcRangeEndDateComponent","endYear","endMonth","endDate","getDefaultMax","calcShiftValueDateComponent","step","prevValue","start","end","isLoop","value","Number","Math","abs"],"mappings":"AAAA,SAASA,kBAAT,QAAmC,sBAAnC;AACA;;;;AAIEC,yBAJF;AAKO,SALP;;AAOA,WAAaC,sBAAb;AACgBC,EAAAA,2BADhB,GACE;AACEC,EAAAA,IADF;;;AAIyB,OAFrBC,IAEqB,QAFrBA,IAEqB,CAFfC,KAEe,QAFfA,KAEe,CAFRC,IAEQ,QAFRA,IAEQ,KADfC,SACe,SADrBH,IACqB,CADGI,UACH,SADJH,KACI,CADqBI,SACrB,SADeH,IACf;AACvB,QAAIH,IAAI,KAAKH,yBAAyB,CAACU,IAAvC,EAA6C;AAC3C,aAAOH,SAAP;AACD,KAFD,MAEO,IAAIJ,IAAI,KAAKH,yBAAyB,CAACW,KAAvC,EAA8C;AACnD,aAAOP,IAAI,KAAKG,SAAT,GAAqBC,UAArB,GAAkCT,kBAAkB,CAACa,aAAnB,CAAiCT,IAAjC,CAAzC;AACD;AACD,WAAOC,IAAI,KAAKG,SAAT,IAAsBF,KAAK,KAAKG,UAAhC,GAA6CC,SAA7C,GAAyDV,kBAAkB,CAACa,aAAnB,CAAiCT,IAAjC,CAAhE;AACD,GAZH;;AAcgBU,EAAAA,yBAdhB,GAcE;AACEV,EAAAA,IADF;;;AAIyB,OAFrBC,IAEqB,SAFrBA,IAEqB,CAFfC,KAEe,SAFfA,KAEe,CAFRC,IAEQ,SAFRA,IAEQ,KADfQ,OACe,SADrBV,IACqB,CADCW,QACD,SADNV,KACM,CADiBW,OACjB,SADWV,IACX;AACvB,QAAIH,IAAI,KAAKH,yBAAyB,CAACU,IAAvC,EAA6C;AAC3C,aAAOI,OAAP;AACD,KAFD,MAEO,IAAIX,IAAI,KAAKH,yBAAyB,CAACW,KAAvC,EAA8C;AACnD,aAAOP,IAAI,KAAKU,OAAT,GAAmBC,QAAnB,GAA8BhB,kBAAkB,CAACkB,aAAnB,CAAiCd,IAAjC,CAArC;AACD;AACD,WAAOC,IAAI,KAAKU,OAAT,IAAoBT,KAAK,KAAKU,QAA9B;AACHC,IAAAA,OADG;AAEHjB,IAAAA,kBAAkB,CAACkB,aAAnB,CAAiCd,IAAjC,EAAuC,EAAEC,IAAI,EAAJA,IAAF,EAAQC,KAAK,EAALA,KAAR,EAAeC,IAAI,EAAJA,IAAf,EAAvC,CAFJ;AAGD,GA3BH;;AA6BgBY,EAAAA,2BA7BhB,GA6BE;AACEC,EAAAA,IADF;AAEEC,EAAAA,SAFF;AAGEC,EAAAA,KAHF;AAIEC,EAAAA,GAJF;AAKEC,EAAAA,MALF;AAMyB,OADvBA,MACuB,cADvBA,MACuB,GADd,IACc;AACvB,QAAMC,KAAK,GAAGL,IAAI,GAAGM,MAAM,CAACL,SAAD,CAA3B;AACA,QAAID,IAAI,KAAK,CAAT,KAAeE,KAAK,GAAGG,KAAR,GAAgBE,IAAI,CAACC,GAAL,CAASR,IAAT,CAAhB,IAAkCK,KAAK,GAAGF,GAAR,GAAcI,IAAI,CAACC,GAAL,CAASR,IAAT,CAA/D,CAAJ,EAAoF;AAClF,aAAOA,IAAI,GAAG,CAAP,GAAWG,GAAX,GAAiBD,KAAxB;AACD;AACD,QAAIE,MAAJ,EAAY;AACV,aAAOC,KAAK,GAAGH,KAAR,GAAgBC,GAAhB,GAAsBE,KAAK,GAAGF,GAAR,GAAcD,KAAd,GAAsBG,KAAnD;AACD;AACD,WAAOA,KAAK,GAAGH,KAAR,GAAgBA,KAAhB,GAAwBG,KAAK,GAAGF,GAAR,GAAcA,GAAd,GAAoBE,KAAnD;AACD,GA5CH","sourcesContent":["import { InternalDateGetter } from './InternalDateGetter';\nimport {\n InternalDateComponent,\n InternalDateComponentRaw,\n InternalDateComponents,\n InternalDateComponentType,\n} from './types';\n\nexport class InternalDateCalculator {\n public static calcRangeStartDateComponent(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponents,\n { year: startYear, month: startMonth, date: startDate }: InternalDateComponents,\n ): InternalDateComponent {\n if (type === InternalDateComponentType.Year) {\n return startYear;\n } else if (type === InternalDateComponentType.Month) {\n return year === startYear ? startMonth : InternalDateGetter.getDefaultMin(type);\n }\n return year === startYear && month === startMonth ? startDate : InternalDateGetter.getDefaultMin(type);\n }\n\n public static calcRangeEndDateComponent(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponents,\n { year: endYear, month: endMonth, date: endDate }: InternalDateComponents,\n ): InternalDateComponent {\n if (type === InternalDateComponentType.Year) {\n return endYear;\n } else if (type === InternalDateComponentType.Month) {\n return year === endYear ? endMonth : InternalDateGetter.getDefaultMax(type);\n }\n return year === endYear && month === endMonth\n ? endDate\n : InternalDateGetter.getDefaultMax(type, { year, month, date });\n }\n\n public static calcShiftValueDateComponent(\n step: number,\n prevValue: InternalDateComponentRaw,\n start: number,\n end: number,\n isLoop = true,\n ): InternalDateComponent {\n const value = step + Number(prevValue);\n if (step !== 0 && (start - value > Math.abs(step) || value - end > Math.abs(step))) {\n return step < 0 ? end : start;\n }\n if (isLoop) {\n return value < start ? end : value > end ? start : value;\n }\n return value < start ? start : value > end ? end : value;\n }\n}\n"]}
1
+ {"version":3,"sources":["InternalDateCalculator.ts"],"names":["InternalDateGetter","InternalDateComponentType","InternalDateCalculator","calcRangeStartDateComponent","type","year","month","date","startYear","startMonth","startDate","Year","Month","getDefaultMin","calcRangeEndDateComponent","endYear","endMonth","endDate","getDefaultMax","calcShiftValueDateComponent","step","prevValue","start","end","isLoop","value","Number","Math","abs"],"mappings":"AAAA,SAASA,kBAAT,QAAmC,sBAAnC;AACA;;;;AAIEC,yBAJF;AAKO,SALP;;AAOA,WAAaC,sBAAb;AACgBC,EAAAA,2BADhB,GACE;AACEC,EAAAA,IADF;;;AAIyB,OAFrBC,IAEqB,QAFrBA,IAEqB,CAFfC,KAEe,QAFfA,KAEe,CAFRC,IAEQ,QAFRA,IAEQ,KADfC,SACe,SADrBH,IACqB,CADGI,UACH,SADJH,KACI,CADqBI,SACrB,SADeH,IACf;AACvB,QAAIH,IAAI,KAAKH,yBAAyB,CAACU,IAAvC,EAA6C;AAC3C,aAAOH,SAAP;AACD,KAFD,MAEO,IAAIJ,IAAI,KAAKH,yBAAyB,CAACW,KAAvC,EAA8C;AACnD,aAAOP,IAAI,KAAKG,SAAT,GAAqBC,UAArB,GAAkCT,kBAAkB,CAACa,aAAnB,CAAiCT,IAAjC,CAAzC;AACD;AACD,WAAOC,IAAI,KAAKG,SAAT,IAAsBF,KAAK,KAAKG,UAAhC,GAA6CC,SAA7C,GAAyDV,kBAAkB,CAACa,aAAnB,CAAiCT,IAAjC,CAAhE;AACD,GAZH;;AAcgBU,EAAAA,yBAdhB,GAcE;AACEV,EAAAA,IADF;;;AAIyB,OAFrBC,IAEqB,SAFrBA,IAEqB,CAFfC,KAEe,SAFfA,KAEe,CAFRC,IAEQ,SAFRA,IAEQ,KADfQ,OACe,SADrBV,IACqB,CADCW,QACD,SADNV,KACM,CADiBW,OACjB,SADWV,IACX;AACvB,QAAIH,IAAI,KAAKH,yBAAyB,CAACU,IAAvC,EAA6C;AAC3C,aAAOI,OAAP;AACD,KAFD,MAEO,IAAIX,IAAI,KAAKH,yBAAyB,CAACW,KAAvC,EAA8C;AACnD,aAAOP,IAAI,KAAKU,OAAT,GAAmBC,QAAnB,GAA8BhB,kBAAkB,CAACkB,aAAnB,CAAiCd,IAAjC,CAArC;AACD;AACD,WAAOC,IAAI,KAAKU,OAAT,IAAoBT,KAAK,KAAKU,QAA9B;AACHC,IAAAA,OADG;AAEHjB,IAAAA,kBAAkB,CAACkB,aAAnB,CAAiCd,IAAjC,EAAuC,EAAEC,IAAI,EAAJA,IAAF,EAAQC,KAAK,EAALA,KAAR,EAAeC,IAAI,EAAJA,IAAf,EAAvC,CAFJ;AAGD,GA3BH;;AA6BgBY,EAAAA,2BA7BhB,GA6BE;AACEC,EAAAA,IADF;AAEEC,EAAAA,SAFF;AAGEC,EAAAA,KAHF;AAIEC,EAAAA,GAJF;AAKEC,EAAAA,MALF;AAMyB,OADvBA,MACuB,cADvBA,MACuB,GADd,IACc;AACvB,QAAMC,KAAK,GAAGL,IAAI,GAAGM,MAAM,CAACL,SAAD,CAA3B;AACA,QAAID,IAAI,KAAK,CAAT,KAAeE,KAAK,GAAGG,KAAR,GAAgBE,IAAI,CAACC,GAAL,CAASR,IAAT,CAAhB,IAAkCK,KAAK,GAAGF,GAAR,GAAcI,IAAI,CAACC,GAAL,CAASR,IAAT,CAA/D,CAAJ,EAAoF;AAClF,aAAOA,IAAI,GAAG,CAAP,GAAWG,GAAX,GAAiBD,KAAxB;AACD;;AAED,QAAIE,MAAJ,EAAY;AACV,UAAIC,KAAK,GAAGH,KAAZ,EAAmB;AACjB,eAAOC,GAAP;AACD,OAFD,MAEO,IAAIE,KAAK,GAAGF,GAAZ,EAAiB;AACtB,eAAOD,KAAP;AACD;;AAED,aAAOG,KAAP;AACD;;AAED,QAAIA,KAAK,GAAGH,KAAZ,EAAmB;AACjB,aAAOA,KAAP;AACD,KAFD,MAEO,IAAIG,KAAK,GAAGF,GAAZ,EAAiB;AACtB,aAAOA,GAAP;AACD;;AAED,WAAOE,KAAP;AACD,GA1DH","sourcesContent":["import { InternalDateGetter } from './InternalDateGetter';\nimport {\n InternalDateComponent,\n InternalDateComponentRaw,\n InternalDateComponents,\n InternalDateComponentType,\n} from './types';\n\nexport class InternalDateCalculator {\n public static calcRangeStartDateComponent(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponents,\n { year: startYear, month: startMonth, date: startDate }: InternalDateComponents,\n ): InternalDateComponent {\n if (type === InternalDateComponentType.Year) {\n return startYear;\n } else if (type === InternalDateComponentType.Month) {\n return year === startYear ? startMonth : InternalDateGetter.getDefaultMin(type);\n }\n return year === startYear && month === startMonth ? startDate : InternalDateGetter.getDefaultMin(type);\n }\n\n public static calcRangeEndDateComponent(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponents,\n { year: endYear, month: endMonth, date: endDate }: InternalDateComponents,\n ): InternalDateComponent {\n if (type === InternalDateComponentType.Year) {\n return endYear;\n } else if (type === InternalDateComponentType.Month) {\n return year === endYear ? endMonth : InternalDateGetter.getDefaultMax(type);\n }\n return year === endYear && month === endMonth\n ? endDate\n : InternalDateGetter.getDefaultMax(type, { year, month, date });\n }\n\n public static calcShiftValueDateComponent(\n step: number,\n prevValue: InternalDateComponentRaw,\n start: number,\n end: number,\n isLoop = true,\n ): InternalDateComponent {\n const value = step + Number(prevValue);\n if (step !== 0 && (start - value > Math.abs(step) || value - end > Math.abs(step))) {\n return step < 0 ? end : start;\n }\n\n if (isLoop) {\n if (value < start) {\n return end;\n } else if (value > end) {\n return start;\n }\n\n return value;\n }\n\n if (value < start) {\n return start;\n } else if (value > end) {\n return end;\n }\n\n return value;\n }\n}\n"]}
@@ -1,19 +1,33 @@
1
1
  import { MAX_DATE, MAX_MONTH, MAX_YEAR, MIN_DATE, MIN_MONTH, MIN_YEAR } from "../constants";
2
2
  import { InternalDateComponentType } from "../types";
3
+
4
+ var calculateMonth = function calculateMonth(month) {
5
+ if (month <= 7) {
6
+ return month + 1;
7
+ }
8
+
9
+ return month;
10
+ };
11
+
12
+ var getIsLeapYear = function getIsLeapYear(year) {
13
+ // The year is considered leap if it's either dividable by 4, 100 or 400.
14
+ var isDividableByFour = year % 4 === 0;
15
+ var isDividableByOneHundred = year % 100 === 0;
16
+ var isDividableByFourHundred = year % 400 === 0;
17
+ return isDividableByFour || isDividableByOneHundred || isDividableByFourHundred;
18
+ };
19
+
3
20
  export var InternalDateGetter = /*#__PURE__*/function () {
4
21
  function InternalDateGetter() {}
5
22
 
6
23
  InternalDateGetter.getMaxDaysInMonth = function getMaxDaysInMonth(month, year) {
7
24
  if (month === 2) {
8
- var isLeapYear = year !== undefined && (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) || false;
25
+ var isLeapYear = year ? getIsLeapYear(year) : false;
9
26
  return isLeapYear ? 29 : 28;
10
27
  }
11
28
 
12
- if (month <= 7) {
13
- month++;
14
- }
15
-
16
- return month % 2 === 0 ? 31 : 30;
29
+ var calculatedMonth = calculateMonth(month);
30
+ return calculatedMonth % 2 === 0 ? 31 : 30;
17
31
  };
18
32
 
19
33
  InternalDateGetter.getValueDateComponent = function getValueDateComponent(type, components) {
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalDateGetter.ts"],"names":["MAX_DATE","MAX_MONTH","MAX_YEAR","MIN_DATE","MIN_MONTH","MIN_YEAR","InternalDateComponentType","InternalDateGetter","getMaxDaysInMonth","month","year","isLeapYear","undefined","getValueDateComponent","type","components","Year","Month","date","getDefaultMin","Date","getDefaultMax","getTodayComponents","getDate","getMonth","getFullYear","max","datesCustom","sort","a","b","toNumber","min"],"mappings":"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","sourcesContent":["import { MAX_DATE, MAX_MONTH, MAX_YEAR, MIN_DATE, MIN_MONTH, MIN_YEAR } from './constants';\nimport { InternalDate } from './InternalDate';\nimport {\n InternalDateComponentType,\n InternalDateComponentsRaw,\n InternalDateComponentRaw,\n InternalDateComponents,\n} from './types';\n\nexport class InternalDateGetter {\n public static max = (datesCustom: InternalDate[]): InternalDate =>\n datesCustom.sort((a, b) => b.toNumber() - a.toNumber())[0];\n\n public static min = (datesCustom: InternalDate[]): InternalDate =>\n datesCustom.sort((a, b) => a.toNumber() - b.toNumber())[0];\n\n public static getMaxDaysInMonth(month: number, year?: number): number {\n if (month === 2) {\n const isLeapYear = (year !== undefined && ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0)) || false;\n return isLeapYear ? 29 : 28;\n }\n if (month <= 7) {\n month++;\n }\n return month % 2 === 0 ? 31 : 30;\n }\n\n public static getValueDateComponent(\n type: InternalDateComponentType | null,\n components: InternalDateComponentsRaw,\n ): InternalDateComponentRaw {\n if (type === InternalDateComponentType.Year) {\n return components.year;\n } else if (type === InternalDateComponentType.Month) {\n return components.month;\n }\n return components.date;\n }\n\n public static getDefaultMin(type: InternalDateComponentType): number {\n if (type === InternalDateComponentType.Year) {\n return MIN_YEAR;\n } else if (type === InternalDateComponentType.Month) {\n return MIN_MONTH;\n } else if (type === InternalDateComponentType.Date) {\n return MIN_DATE;\n }\n return MIN_DATE;\n }\n\n public static getDefaultMax(type: InternalDateComponentType, components?: InternalDateComponents): number {\n if (type === InternalDateComponentType.Year) {\n return MAX_YEAR;\n } else if (type === InternalDateComponentType.Month) {\n return MAX_MONTH;\n } else if (type === InternalDateComponentType.Date) {\n if (components === undefined) {\n return MAX_DATE;\n }\n const { year, month } = components;\n return year && month ? InternalDateGetter.getMaxDaysInMonth(month, year) : MAX_DATE;\n }\n return MAX_DATE;\n }\n\n public static getTodayComponents() {\n const date = new Date();\n return {\n date: date.getDate(),\n month: date.getMonth() + 1,\n year: date.getFullYear(),\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["InternalDateGetter.ts"],"names":["MAX_DATE","MAX_MONTH","MAX_YEAR","MIN_DATE","MIN_MONTH","MIN_YEAR","InternalDateComponentType","calculateMonth","month","getIsLeapYear","year","isDividableByFour","isDividableByOneHundred","isDividableByFourHundred","InternalDateGetter","getMaxDaysInMonth","isLeapYear","calculatedMonth","getValueDateComponent","type","components","Year","Month","date","getDefaultMin","Date","getDefaultMax","undefined","getTodayComponents","getDate","getMonth","getFullYear","max","datesCustom","sort","a","b","toNumber","min"],"mappings":"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","sourcesContent":["import { MAX_DATE, MAX_MONTH, MAX_YEAR, MIN_DATE, MIN_MONTH, MIN_YEAR } from './constants';\nimport { InternalDate } from './InternalDate';\nimport {\n InternalDateComponentType,\n InternalDateComponentsRaw,\n InternalDateComponentRaw,\n InternalDateComponents,\n} from './types';\n\nconst calculateMonth = (month: number) => {\n if (month <= 7) {\n return month + 1;\n }\n\n return month;\n};\n\nconst getIsLeapYear = (year: number) => {\n // The year is considered leap if it's either dividable by 4, 100 or 400.\n const isDividableByFour = year % 4 === 0;\n const isDividableByOneHundred = year % 100 === 0;\n const isDividableByFourHundred = year % 400 === 0;\n\n return isDividableByFour || isDividableByOneHundred || isDividableByFourHundred;\n};\n\nexport class InternalDateGetter {\n public static max = (datesCustom: InternalDate[]): InternalDate =>\n datesCustom.sort((a, b) => b.toNumber() - a.toNumber())[0];\n\n public static min = (datesCustom: InternalDate[]): InternalDate =>\n datesCustom.sort((a, b) => a.toNumber() - b.toNumber())[0];\n\n public static getMaxDaysInMonth(month: number, year?: number): number {\n if (month === 2) {\n const isLeapYear = year ? getIsLeapYear(year) : false;\n\n return isLeapYear ? 29 : 28;\n }\n\n const calculatedMonth = calculateMonth(month);\n return calculatedMonth % 2 === 0 ? 31 : 30;\n }\n\n public static getValueDateComponent(\n type: InternalDateComponentType | null,\n components: InternalDateComponentsRaw,\n ): InternalDateComponentRaw {\n if (type === InternalDateComponentType.Year) {\n return components.year;\n } else if (type === InternalDateComponentType.Month) {\n return components.month;\n }\n return components.date;\n }\n\n public static getDefaultMin(type: InternalDateComponentType): number {\n if (type === InternalDateComponentType.Year) {\n return MIN_YEAR;\n } else if (type === InternalDateComponentType.Month) {\n return MIN_MONTH;\n } else if (type === InternalDateComponentType.Date) {\n return MIN_DATE;\n }\n return MIN_DATE;\n }\n\n public static getDefaultMax(type: InternalDateComponentType, components?: InternalDateComponents): number {\n if (type === InternalDateComponentType.Year) {\n return MAX_YEAR;\n } else if (type === InternalDateComponentType.Month) {\n return MAX_MONTH;\n } else if (type === InternalDateComponentType.Date) {\n if (components === undefined) {\n return MAX_DATE;\n }\n const { year, month } = components;\n return year && month ? InternalDateGetter.getMaxDaysInMonth(month, year) : MAX_DATE;\n }\n return MAX_DATE;\n }\n\n public static getTodayComponents() {\n const date = new Date();\n return {\n date: date.getDate(),\n month: date.getMonth() + 1,\n year: date.getFullYear(),\n };\n }\n}\n"]}
@@ -77,7 +77,17 @@ export var InternalDateTransformer = /*#__PURE__*/function () {
77
77
  return null;
78
78
  }
79
79
 
80
- var re = order === InternalDateOrder.MDY ? RE_ORDER_MDY : order === InternalDateOrder.DMY ? RE_ORDER_DMY : RE_ORDER_YMD;
80
+ var getRe = function getRe() {
81
+ if (order === InternalDateOrder.MDY) {
82
+ return RE_ORDER_MDY;
83
+ } else if (order === InternalDateOrder.DMY) {
84
+ return RE_ORDER_DMY;
85
+ }
86
+
87
+ return RE_ORDER_YMD;
88
+ };
89
+
90
+ var re = getRe();
81
91
 
82
92
  if (!re.test(value)) {
83
93
  return null;
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalDateTransformer.ts"],"names":["CHAR_PAD","defaultDateComponentsOrder","defaultDateComponentsSeparator","emptyDateComponents","LENGTH_DATE","LENGTH_MONTH","LENGTH_SEPARATOR","LENGTH_YEAR","RE_ORDER_DMY","RE_ORDER_MDY","RE_ORDER_YMD","InternalDateValidator","InternalDateComponentType","InternalDateOrder","InternalDateSeparator","InternalDateTransformer","dateToFragments","components","settings","order","separator","withSeparator","withPad","pad","year","type","Year","value","length","month","Month","date","Date","fragments","YMD","push","MDY","DMY","valueWithPad","padYear","padMonth","padDate","isValid","testParseToNumber","separatorFragment","Separator","splice","parseValueToDate","re","test","match","exec","dateComponents","matchFinished","slice","map","item","Number","dateComponentsStringToNumber","componentsRaw","dateToInternalString","filter","join","Dot","padStart","String","padDateComponent"],"mappings":"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","sourcesContent":["import {\n CHAR_PAD,\n defaultDateComponentsOrder,\n defaultDateComponentsSeparator,\n emptyDateComponents,\n LENGTH_DATE,\n LENGTH_MONTH,\n LENGTH_SEPARATOR,\n LENGTH_YEAR,\n RE_ORDER_DMY,\n RE_ORDER_MDY,\n RE_ORDER_YMD,\n} from './constants';\nimport { InternalDateValidator } from './InternalDateValidator';\nimport {\n InternalDateComponentRaw,\n InternalDateComponents,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n InternalDateFragment,\n InternalDateOrder,\n InternalDateSeparator,\n InternalDateToFragmentsSettings,\n} from './types';\n\nexport class InternalDateTransformer {\n public static padStart = (value: InternalDateComponentRaw, length: number, pad: string = CHAR_PAD): string =>\n String(value || '').padStart(length, pad);\n\n public static padYear = (year: InternalDateComponentRaw, pad?: string): string =>\n InternalDateTransformer.padStart(year, LENGTH_YEAR, pad);\n public static padMonth = (month: InternalDateComponentRaw, pad?: string): string =>\n InternalDateTransformer.padStart(month, LENGTH_MONTH, pad);\n public static padDate = (date: InternalDateComponentRaw, pad?: string): string =>\n InternalDateTransformer.padStart(date, LENGTH_DATE, pad);\n\n public static padDateComponent = (\n type: InternalDateComponentType | null,\n value: InternalDateComponentRaw,\n pad?: string,\n ): string => {\n if (type === InternalDateComponentType.Year) {\n return InternalDateTransformer.padYear(value, pad);\n } else if (type === InternalDateComponentType.Month) {\n return InternalDateTransformer.padMonth(value, pad);\n } else if (type === InternalDateComponentType.Date) {\n return InternalDateTransformer.padDate(value, pad);\n }\n return '';\n };\n\n public static dateToFragments(\n components: InternalDateComponentsRaw,\n settings: InternalDateToFragmentsSettings = {},\n ): InternalDateFragment[] {\n const {\n order = defaultDateComponentsOrder,\n separator = defaultDateComponentsSeparator,\n withSeparator = false,\n withPad = false,\n pad,\n } = settings;\n const year: InternalDateFragment = {\n type: InternalDateComponentType.Year,\n value: components.year,\n length: LENGTH_YEAR,\n };\n const month: InternalDateFragment = {\n type: InternalDateComponentType.Month,\n value: components.month,\n length: LENGTH_MONTH,\n };\n const date: InternalDateFragment = {\n type: InternalDateComponentType.Date,\n value: components.date,\n length: LENGTH_DATE,\n };\n\n const fragments: InternalDateFragment[] = [];\n if (order === InternalDateOrder.YMD) {\n fragments.push(year, month, date);\n } else if (order === InternalDateOrder.MDY) {\n fragments.push(month, date, year);\n } else if (order === InternalDateOrder.DMY) {\n fragments.push(date, month, year);\n }\n\n if (withPad) {\n year.valueWithPad = InternalDateTransformer.padYear(year.value, pad);\n month.valueWithPad = InternalDateTransformer.padMonth(month.value, pad);\n date.valueWithPad = InternalDateTransformer.padDate(date.value, pad);\n }\n\n year.isValid = InternalDateValidator.testParseToNumber(year.value);\n month.isValid = InternalDateValidator.testParseToNumber(month.value);\n date.isValid = InternalDateValidator.testParseToNumber(date.value);\n\n if (withSeparator) {\n const separatorFragment: InternalDateFragment = {\n type: InternalDateComponentType.Separator,\n value: separator,\n length: LENGTH_SEPARATOR,\n };\n fragments.splice(1, 0, separatorFragment);\n fragments.splice(3, 0, separatorFragment);\n }\n\n return fragments;\n }\n\n public static parseValueToDate(\n value: string | null,\n order: InternalDateOrder = defaultDateComponentsOrder,\n ): InternalDateComponents | null {\n if (!value) {\n return null;\n }\n\n const re =\n order === InternalDateOrder.MDY ? RE_ORDER_MDY : order === InternalDateOrder.DMY ? RE_ORDER_DMY : RE_ORDER_YMD;\n if (!re.test(value)) {\n return null;\n }\n const match = re.exec(value);\n const dateComponents: InternalDateComponents = { ...emptyDateComponents };\n\n if (match) {\n const matchFinished = match\n .slice(1)\n .map((item) => (InternalDateValidator.testParseToNumber(item) ? Number(item) : null));\n if (order === InternalDateOrder.YMD) {\n ({ 0: dateComponents.year, 1: dateComponents.month, 2: dateComponents.date } = matchFinished);\n } else if (order === InternalDateOrder.MDY) {\n ({ 2: dateComponents.year, 0: dateComponents.month, 1: dateComponents.date } = matchFinished);\n } else if (order === InternalDateOrder.DMY) {\n ({ 2: dateComponents.year, 1: dateComponents.month, 0: dateComponents.date } = matchFinished);\n }\n }\n return dateComponents;\n }\n\n public static dateComponentsStringToNumber(\n componentsRaw: InternalDateComponentsRaw | null,\n ): InternalDateComponentsNumber {\n if (componentsRaw === null) {\n return { year: 0, month: 0, date: 0 };\n }\n const { year, month, date } = componentsRaw;\n return { year: Number(year), month: Number(month), date: Number(date) };\n }\n\n public static dateToInternalString(components: InternalDateComponentsRaw): string {\n return InternalDateTransformer.dateToFragments(components, {\n withPad: true,\n withSeparator: false,\n order: InternalDateOrder.DMY,\n })\n .filter(({ value }) => value !== null)\n .map(({ valueWithPad }) => valueWithPad)\n .join(InternalDateSeparator.Dot);\n }\n}\n"]}
1
+ {"version":3,"sources":["InternalDateTransformer.ts"],"names":["CHAR_PAD","defaultDateComponentsOrder","defaultDateComponentsSeparator","emptyDateComponents","LENGTH_DATE","LENGTH_MONTH","LENGTH_SEPARATOR","LENGTH_YEAR","RE_ORDER_DMY","RE_ORDER_MDY","RE_ORDER_YMD","InternalDateValidator","InternalDateComponentType","InternalDateOrder","InternalDateSeparator","InternalDateTransformer","dateToFragments","components","settings","order","separator","withSeparator","withPad","pad","year","type","Year","value","length","month","Month","date","Date","fragments","YMD","push","MDY","DMY","valueWithPad","padYear","padMonth","padDate","isValid","testParseToNumber","separatorFragment","Separator","splice","parseValueToDate","getRe","re","test","match","exec","dateComponents","matchFinished","slice","map","item","Number","dateComponentsStringToNumber","componentsRaw","dateToInternalString","filter","join","Dot","padStart","String","padDateComponent"],"mappings":"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","sourcesContent":["import {\n CHAR_PAD,\n defaultDateComponentsOrder,\n defaultDateComponentsSeparator,\n emptyDateComponents,\n LENGTH_DATE,\n LENGTH_MONTH,\n LENGTH_SEPARATOR,\n LENGTH_YEAR,\n RE_ORDER_DMY,\n RE_ORDER_MDY,\n RE_ORDER_YMD,\n} from './constants';\nimport { InternalDateValidator } from './InternalDateValidator';\nimport {\n InternalDateComponentRaw,\n InternalDateComponents,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n InternalDateFragment,\n InternalDateOrder,\n InternalDateSeparator,\n InternalDateToFragmentsSettings,\n} from './types';\n\nexport class InternalDateTransformer {\n public static padStart = (value: InternalDateComponentRaw, length: number, pad: string = CHAR_PAD): string =>\n String(value || '').padStart(length, pad);\n\n public static padYear = (year: InternalDateComponentRaw, pad?: string): string =>\n InternalDateTransformer.padStart(year, LENGTH_YEAR, pad);\n public static padMonth = (month: InternalDateComponentRaw, pad?: string): string =>\n InternalDateTransformer.padStart(month, LENGTH_MONTH, pad);\n public static padDate = (date: InternalDateComponentRaw, pad?: string): string =>\n InternalDateTransformer.padStart(date, LENGTH_DATE, pad);\n\n public static padDateComponent = (\n type: InternalDateComponentType | null,\n value: InternalDateComponentRaw,\n pad?: string,\n ): string => {\n if (type === InternalDateComponentType.Year) {\n return InternalDateTransformer.padYear(value, pad);\n } else if (type === InternalDateComponentType.Month) {\n return InternalDateTransformer.padMonth(value, pad);\n } else if (type === InternalDateComponentType.Date) {\n return InternalDateTransformer.padDate(value, pad);\n }\n return '';\n };\n\n public static dateToFragments(\n components: InternalDateComponentsRaw,\n settings: InternalDateToFragmentsSettings = {},\n ): InternalDateFragment[] {\n const {\n order = defaultDateComponentsOrder,\n separator = defaultDateComponentsSeparator,\n withSeparator = false,\n withPad = false,\n pad,\n } = settings;\n const year: InternalDateFragment = {\n type: InternalDateComponentType.Year,\n value: components.year,\n length: LENGTH_YEAR,\n };\n const month: InternalDateFragment = {\n type: InternalDateComponentType.Month,\n value: components.month,\n length: LENGTH_MONTH,\n };\n const date: InternalDateFragment = {\n type: InternalDateComponentType.Date,\n value: components.date,\n length: LENGTH_DATE,\n };\n\n const fragments: InternalDateFragment[] = [];\n if (order === InternalDateOrder.YMD) {\n fragments.push(year, month, date);\n } else if (order === InternalDateOrder.MDY) {\n fragments.push(month, date, year);\n } else if (order === InternalDateOrder.DMY) {\n fragments.push(date, month, year);\n }\n\n if (withPad) {\n year.valueWithPad = InternalDateTransformer.padYear(year.value, pad);\n month.valueWithPad = InternalDateTransformer.padMonth(month.value, pad);\n date.valueWithPad = InternalDateTransformer.padDate(date.value, pad);\n }\n\n year.isValid = InternalDateValidator.testParseToNumber(year.value);\n month.isValid = InternalDateValidator.testParseToNumber(month.value);\n date.isValid = InternalDateValidator.testParseToNumber(date.value);\n\n if (withSeparator) {\n const separatorFragment: InternalDateFragment = {\n type: InternalDateComponentType.Separator,\n value: separator,\n length: LENGTH_SEPARATOR,\n };\n fragments.splice(1, 0, separatorFragment);\n fragments.splice(3, 0, separatorFragment);\n }\n\n return fragments;\n }\n\n public static parseValueToDate(\n value: string | null,\n order: InternalDateOrder = defaultDateComponentsOrder,\n ): InternalDateComponents | null {\n if (!value) {\n return null;\n }\n\n const getRe = () => {\n if (order === InternalDateOrder.MDY) {\n return RE_ORDER_MDY;\n } else if (order === InternalDateOrder.DMY) {\n return RE_ORDER_DMY;\n }\n\n return RE_ORDER_YMD;\n };\n\n const re = getRe();\n if (!re.test(value)) {\n return null;\n }\n const match = re.exec(value);\n const dateComponents: InternalDateComponents = { ...emptyDateComponents };\n\n if (match) {\n const matchFinished = match\n .slice(1)\n .map((item) => (InternalDateValidator.testParseToNumber(item) ? Number(item) : null));\n if (order === InternalDateOrder.YMD) {\n ({ 0: dateComponents.year, 1: dateComponents.month, 2: dateComponents.date } = matchFinished);\n } else if (order === InternalDateOrder.MDY) {\n ({ 2: dateComponents.year, 0: dateComponents.month, 1: dateComponents.date } = matchFinished);\n } else if (order === InternalDateOrder.DMY) {\n ({ 2: dateComponents.year, 1: dateComponents.month, 0: dateComponents.date } = matchFinished);\n }\n }\n return dateComponents;\n }\n\n public static dateComponentsStringToNumber(\n componentsRaw: InternalDateComponentsRaw | null,\n ): InternalDateComponentsNumber {\n if (componentsRaw === null) {\n return { year: 0, month: 0, date: 0 };\n }\n const { year, month, date } = componentsRaw;\n return { year: Number(year), month: Number(month), date: Number(date) };\n }\n\n public static dateToInternalString(components: InternalDateComponentsRaw): string {\n return InternalDateTransformer.dateToFragments(components, {\n withPad: true,\n withSeparator: false,\n order: InternalDateOrder.DMY,\n })\n .filter(({ value }) => value !== null)\n .map(({ valueWithPad }) => valueWithPad)\n .join(InternalDateSeparator.Dot);\n }\n}\n"]}
@@ -1,5 +1,22 @@
1
1
  import { InternalDateGetter } from "../InternalDateGetter";
2
2
  import { InternalDateComponentType } from "../types";
3
+
4
+ var calculateStartDate = function calculateStartDate(startDate) {
5
+ if (startDate) {
6
+ return startDate;
7
+ }
8
+
9
+ return -Infinity;
10
+ };
11
+
12
+ var calculateEndDate = function calculateEndDate(endDate) {
13
+ if (endDate) {
14
+ return endDate;
15
+ }
16
+
17
+ return Infinity;
18
+ };
19
+
3
20
  export var InternalDateValidator = /*#__PURE__*/function () {
4
21
  function InternalDateValidator() {}
5
22
 
@@ -29,7 +46,17 @@ export var InternalDateValidator = /*#__PURE__*/function () {
29
46
  date = _ref2.date;
30
47
 
31
48
  if (type !== undefined) {
32
- var value = type === InternalDateComponentType.Year ? year : type === InternalDateComponentType.Month ? month : date;
49
+ var getValue = function getValue() {
50
+ if (type === InternalDateComponentType.Year) {
51
+ return year;
52
+ } else if (type === InternalDateComponentType.Month) {
53
+ return month;
54
+ }
55
+
56
+ return date;
57
+ };
58
+
59
+ var value = getValue();
33
60
  return value >= InternalDateGetter.getDefaultMin(type) && value <= InternalDateGetter.getDefaultMax(type);
34
61
  }
35
62
 
@@ -49,9 +76,9 @@ export var InternalDateValidator = /*#__PURE__*/function () {
49
76
  return true;
50
77
  }
51
78
 
52
- startDate = startDate || -Infinity;
53
- endDate = endDate || Infinity;
54
- return date >= startDate && date <= endDate;
79
+ var calculatedEndDate = calculateEndDate(endDate);
80
+ var calculatedStartDate = calculateStartDate(startDate);
81
+ return date >= calculatedStartDate && date <= calculatedEndDate;
55
82
  };
56
83
 
57
84
  InternalDateValidator.checkRangePiecemeal = function checkRangePiecemeal(type, _ref4, startComponents, endComponents) {
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalDateValidator.ts"],"names":["InternalDateGetter","InternalDateComponentType","InternalDateValidator","checkForNull","type","year","month","date","undefined","Year","Month","All","checkLimits","value","getDefaultMin","getDefaultMax","Date","compareWithNativeDate","nativeDate","UTC","getUTCFullYear","getUTCMonth","getUTCDate","checkRangeFully","startDate","endDate","Infinity","checkRangePiecemeal","startComponents","endComponents","startYear","startMonth","endYear","endMonth","testParseToNumber","Number","isNaN","parseInt","isEqualDateValues","a","b","toInternalString","isEqualDateFormats","getOrder","getSeparator"],"mappings":"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","sourcesContent":["import { InternalDate } from './InternalDate';\nimport { InternalDateGetter } from './InternalDateGetter';\nimport {\n InternalDateComponentRaw,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n} from './types';\n\nexport class InternalDateValidator {\n public static checkForNull({ year, month, date }: InternalDateComponentsRaw, type?: InternalDateComponentType) {\n if (type !== undefined) {\n if (type === InternalDateComponentType.Year) {\n return year !== null;\n } else if (type === InternalDateComponentType.Month) {\n return month !== null;\n } else if (type === InternalDateComponentType.All) {\n return year !== null && month !== null && date !== null;\n }\n return date !== null;\n }\n return !(year === null || month === null || date === null);\n }\n\n public static checkLimits(\n { year, month, date }: InternalDateComponentsNumber,\n type?: InternalDateComponentType,\n ): boolean {\n if (type !== undefined) {\n const value =\n type === InternalDateComponentType.Year ? year : type === InternalDateComponentType.Month ? month : date;\n\n return value >= InternalDateGetter.getDefaultMin(type) && value <= InternalDateGetter.getDefaultMax(type);\n }\n return (\n year >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Year) &&\n year <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Year) &&\n month >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Month) &&\n month <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Month) &&\n date >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Date) &&\n date <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Date)\n );\n }\n\n public static compareWithNativeDate({ year, month, date }: InternalDateComponentsNumber): boolean {\n const nativeDate: Date = new Date(Date.UTC(year, month - 1, date));\n return (\n nativeDate.getUTCFullYear() === year && nativeDate.getUTCMonth() + 1 === month && nativeDate.getUTCDate() === date\n );\n }\n\n public static checkRangeFully(date: number, startDate: number | null, endDate: number | null): boolean {\n if (startDate === null && endDate === null) {\n return true;\n }\n startDate = startDate || -Infinity;\n endDate = endDate || Infinity;\n return date >= startDate && date <= endDate;\n }\n\n public static checkRangePiecemeal(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponentsNumber,\n startComponents: InternalDateComponentsNumber | null,\n endComponents: InternalDateComponentsNumber | null,\n ): boolean {\n if (startComponents === null && endComponents === null) {\n return true;\n }\n const {\n year: startYear = -Infinity,\n month: startMonth = -Infinity,\n date: startDate = -Infinity,\n } = startComponents || {};\n const { year: endYear = Infinity, month: endMonth = Infinity, date: endDate = Infinity } = endComponents || {};\n\n if (type === InternalDateComponentType.Year) {\n return !(year < startYear || year > endYear);\n } else if (type === InternalDateComponentType.Month) {\n return !((year === startYear && month < startMonth) || (year === endYear && month > endMonth));\n } else if (type === InternalDateComponentType.Date) {\n return !(\n (year === startYear && month === startMonth && date < startDate) ||\n (year === endYear && month === endMonth && date > endDate)\n );\n }\n return true;\n }\n\n public static testParseToNumber(value: InternalDateComponentRaw): boolean {\n return value !== null && (typeof value === 'number' || !Number.isNaN(parseInt(value, 10)));\n }\n\n public static isEqualDateValues(a: InternalDate, b: InternalDate): boolean {\n return a.toInternalString() === b.toInternalString();\n }\n\n public static isEqualDateFormats(a: InternalDate, b: InternalDate): boolean {\n return a.getOrder() === b.getOrder() && a.getSeparator() === b.getSeparator();\n }\n}\n"]}
1
+ {"version":3,"sources":["InternalDateValidator.ts"],"names":["InternalDateGetter","InternalDateComponentType","calculateStartDate","startDate","Infinity","calculateEndDate","endDate","InternalDateValidator","checkForNull","type","year","month","date","undefined","Year","Month","All","checkLimits","getValue","value","getDefaultMin","getDefaultMax","Date","compareWithNativeDate","nativeDate","UTC","getUTCFullYear","getUTCMonth","getUTCDate","checkRangeFully","calculatedEndDate","calculatedStartDate","checkRangePiecemeal","startComponents","endComponents","startYear","startMonth","endYear","endMonth","testParseToNumber","Number","isNaN","parseInt","isEqualDateValues","a","b","toInternalString","isEqualDateFormats","getOrder","getSeparator"],"mappings":"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","sourcesContent":["import { InternalDate } from './InternalDate';\nimport { InternalDateGetter } from './InternalDateGetter';\nimport {\n InternalDateComponentRaw,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n} from './types';\n\nconst calculateStartDate = (startDate: number | null) => {\n if (startDate) {\n return startDate;\n }\n\n return -Infinity;\n};\n\nconst calculateEndDate = (endDate: number | null) => {\n if (endDate) {\n return endDate;\n }\n\n return Infinity;\n};\nexport class InternalDateValidator {\n public static checkForNull({ year, month, date }: InternalDateComponentsRaw, type?: InternalDateComponentType) {\n if (type !== undefined) {\n if (type === InternalDateComponentType.Year) {\n return year !== null;\n } else if (type === InternalDateComponentType.Month) {\n return month !== null;\n } else if (type === InternalDateComponentType.All) {\n return year !== null && month !== null && date !== null;\n }\n return date !== null;\n }\n return !(year === null || month === null || date === null);\n }\n\n public static checkLimits(\n { year, month, date }: InternalDateComponentsNumber,\n type?: InternalDateComponentType,\n ): boolean {\n if (type !== undefined) {\n const getValue = () => {\n if (type === InternalDateComponentType.Year) {\n return year;\n } else if (type === InternalDateComponentType.Month) {\n return month;\n }\n\n return date;\n };\n\n const value = getValue();\n\n return value >= InternalDateGetter.getDefaultMin(type) && value <= InternalDateGetter.getDefaultMax(type);\n }\n return (\n year >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Year) &&\n year <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Year) &&\n month >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Month) &&\n month <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Month) &&\n date >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Date) &&\n date <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Date)\n );\n }\n\n public static compareWithNativeDate({ year, month, date }: InternalDateComponentsNumber): boolean {\n const nativeDate: Date = new Date(Date.UTC(year, month - 1, date));\n return (\n nativeDate.getUTCFullYear() === year && nativeDate.getUTCMonth() + 1 === month && nativeDate.getUTCDate() === date\n );\n }\n\n public static checkRangeFully(date: number, startDate: number | null, endDate: number | null): boolean {\n if (startDate === null && endDate === null) {\n return true;\n }\n\n const calculatedEndDate = calculateEndDate(endDate);\n const calculatedStartDate = calculateStartDate(startDate);\n return date >= calculatedStartDate && date <= calculatedEndDate;\n }\n\n public static checkRangePiecemeal(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponentsNumber,\n startComponents: InternalDateComponentsNumber | null,\n endComponents: InternalDateComponentsNumber | null,\n ): boolean {\n if (startComponents === null && endComponents === null) {\n return true;\n }\n const {\n year: startYear = -Infinity,\n month: startMonth = -Infinity,\n date: startDate = -Infinity,\n } = startComponents || {};\n const { year: endYear = Infinity, month: endMonth = Infinity, date: endDate = Infinity } = endComponents || {};\n\n if (type === InternalDateComponentType.Year) {\n return !(year < startYear || year > endYear);\n } else if (type === InternalDateComponentType.Month) {\n return !((year === startYear && month < startMonth) || (year === endYear && month > endMonth));\n } else if (type === InternalDateComponentType.Date) {\n return !(\n (year === startYear && month === startMonth && date < startDate) ||\n (year === endYear && month === endMonth && date > endDate)\n );\n }\n return true;\n }\n\n public static testParseToNumber(value: InternalDateComponentRaw): boolean {\n return value !== null && (typeof value === 'number' || !Number.isNaN(parseInt(value, 10)));\n }\n\n public static isEqualDateValues(a: InternalDate, b: InternalDate): boolean {\n return a.toInternalString() === b.toInternalString();\n }\n\n public static isEqualDateFormats(a: InternalDate, b: InternalDate): boolean {\n return a.getOrder() === b.getOrder() && a.getSeparator() === b.getSeparator();\n }\n}\n"]}
@@ -1,14 +1,14 @@
1
1
  import { KeyboardEventCodes as Codes } from "../KeyboardEventCodes";
2
2
  import { KeyboardMapKeys } from "../KeyboardMapKeys";
3
3
  export function extractCode(e) {
4
- e = e.nativeEvent || e;
4
+ var event = e.nativeEvent || e;
5
5
 
6
- if (e.code) {
7
- return e.code;
6
+ if (event.code) {
7
+ return event.code;
8
8
  }
9
9
 
10
- var keyCode = e.keyCode || e.which;
11
- var location = e.location;
10
+ var keyCode = event.keyCode || event.which;
11
+ var location = event.location;
12
12
  var mapped = Object.entries(KeyboardMapKeys).find(function (_ref) {
13
13
  var set = _ref[1];
14
14
  return set.some(function (_ref2) {
@@ -1 +1 @@
1
- {"version":3,"sources":["extractCode.ts"],"names":["KeyboardEventCodes","Codes","KeyboardMapKeys","extractCode","e","nativeEvent","code","keyCode","which","location","mapped","Object","entries","find","set","some","_keyCode","_location","Unidentified"],"mappings":";;AAEA,SAASA,kBAAkB,IAAIC,KAA/B,QAA4C,sBAA5C;AACA,SAAsBC,eAAtB,QAA6C,mBAA7C;;AAEA,OAAO,SAASC,WAAT,CAAqBC,CAArB,EAAiF;AACtFA,EAAAA,CAAC,GAAIA,CAAD,CAAwCC,WAAxC,IAAuDD,CAA3D;AACA,MAAIA,CAAC,CAACE,IAAN,EAAY;AACV,WAAOF,CAAC,CAACE,IAAT;AACD;AACD,MAAMC,OAAO,GAAGH,CAAC,CAACG,OAAF,IAAaH,CAAC,CAACI,KAA/B;AACA,MAAMC,QAAQ,GAAGL,CAAC,CAACK,QAAnB;AACA,MAAMC,MAAM,GAAIC,MAAM,CAACC,OAAR,CAAkDV,eAAlD,EAAmEW,IAAnE,CAAwE,qBAAIC,GAAJ;AACrFA,MAAAA,GAAG,CAACC,IAAJ,CAAS,sBAAEC,QAAF,YAAYC,SAAZ,mBAA2BD,QAAQ,KAAKT,OAAb,IAAwBU,SAAS,KAAKR,QAAjE,EAAT,CADqF,GAAxE,CAAf;;AAGA,SAAOC,MAAM,GAAGA,MAAM,CAAC,CAAD,CAAT,GAAeT,KAAK,CAACiB,YAAlC;AACD","sourcesContent":["import { Entries } from '../../../typings/utility-types';\n\nimport { KeyboardEventCodes as Codes } from './KeyboardEventCodes';\nimport { KeyboardKey, KeyboardMapKeys } from './KeyboardMapKeys';\n\nexport function extractCode(e: React.KeyboardEvent<HTMLElement> | KeyboardEvent): Codes {\n e = (e as React.KeyboardEvent<HTMLElement>).nativeEvent || e;\n if (e.code) {\n return e.code as Codes;\n }\n const keyCode = e.keyCode || e.which;\n const location = e.location;\n const mapped = (Object.entries as Entries<Codes, KeyboardKey[]>)(KeyboardMapKeys).find(([, set]) =>\n set.some(([_keyCode, _location]) => _keyCode === keyCode && _location === location),\n );\n return mapped ? mapped[0] : Codes.Unidentified;\n}\n"]}
1
+ {"version":3,"sources":["extractCode.ts"],"names":["KeyboardEventCodes","Codes","KeyboardMapKeys","extractCode","e","event","nativeEvent","code","keyCode","which","location","mapped","Object","entries","find","set","some","_keyCode","_location","Unidentified"],"mappings":";;AAEA,SAASA,kBAAkB,IAAIC,KAA/B,QAA4C,sBAA5C;AACA,SAAsBC,eAAtB,QAA6C,mBAA7C;;AAEA,OAAO,SAASC,WAAT,CAAqBC,CAArB,EAAiF;AACtF,MAAMC,KAAK,GAAID,CAAD,CAAwCE,WAAxC,IAAuDF,CAArE;AACA,MAAIC,KAAK,CAACE,IAAV,EAAgB;AACd,WAAOF,KAAK,CAACE,IAAb;AACD;;AAED,MAAMC,OAAO,GAAGH,KAAK,CAACG,OAAN,IAAiBH,KAAK,CAACI,KAAvC;AACA,MAAMC,QAAQ,GAAGL,KAAK,CAACK,QAAvB;AACA,MAAMC,MAAM,GAAIC,MAAM,CAACC,OAAR,CAAkDX,eAAlD,EAAmEY,IAAnE,CAAwE,qBAAIC,GAAJ;AACrFA,MAAAA,GAAG,CAACC,IAAJ,CAAS,sBAAEC,QAAF,YAAYC,SAAZ,mBAA2BD,QAAQ,KAAKT,OAAb,IAAwBU,SAAS,KAAKR,QAAjE,EAAT,CADqF,GAAxE,CAAf;;;AAIA,SAAOC,MAAM,GAAGA,MAAM,CAAC,CAAD,CAAT,GAAeV,KAAK,CAACkB,YAAlC;AACD","sourcesContent":["import { Entries } from '../../../typings/utility-types';\n\nimport { KeyboardEventCodes as Codes } from './KeyboardEventCodes';\nimport { KeyboardKey, KeyboardMapKeys } from './KeyboardMapKeys';\n\nexport function extractCode(e: React.KeyboardEvent<HTMLElement> | KeyboardEvent): Codes {\n const event = (e as React.KeyboardEvent<HTMLElement>).nativeEvent || e;\n if (event.code) {\n return event.code as Codes;\n }\n\n const keyCode = event.keyCode || event.which;\n const location = event.location;\n const mapped = (Object.entries as Entries<Codes, KeyboardKey[]>)(KeyboardMapKeys).find(([, set]) =>\n set.some(([_keyCode, _location]) => _keyCode === keyCode && _location === location),\n );\n\n return mapped ? mapped[0] : Codes.Unidentified;\n}\n"]}
@@ -3,24 +3,51 @@ import { findDOMNode } from 'react-dom';
3
3
  import { isHTMLElement, isNode } from "../../SSRSafe";
4
4
  import { canUseDOM } from "../../client";
5
5
  import { isInstanceWithRootNode } from "../rootNodeDecorator";
6
+ /**
7
+ * Extracts component's root HTMLElement out of it's instance
8
+ * following the "StrictMode support convention" (@see README.md#strictmode, #2518).
9
+ *
10
+ * Replaces findDOMNode but falls back to it if "convention" is not respected.
11
+ *
12
+ * @param instance Component's instance provided by React.Ref or `this` inside class-components.
13
+ * @returns Component's root HTMLElement or null
14
+ */
15
+
6
16
  export var getRootNode = function getRootNode(instance) {
7
- if (!canUseDOM) return null;
17
+ if (!canUseDOM || !instance) {
18
+ // instance can be `null` if component was unmounted
19
+ // also checking undefined for convinient usage
20
+ return null;
21
+ }
8
22
 
9
- if (isHTMLElement(instance) || instance === null) {
23
+ if (isHTMLElement(instance)) {
24
+ // instance can be a HTMLElement already if comming
25
+ // from Refs of intrinsic elements (<div />, <button />, etc.)
10
26
  return instance;
11
27
  }
12
28
 
13
- var rootNode; // it happened to be that native Node interface also has
14
- // the "getRootNode" method, but we dont expect it here
29
+ var rootNode;
15
30
 
16
- if (isInstanceWithRootNode(instance) && !isNode(instance)) {
17
- rootNode = instance.getRootNode();
31
+ if (isInstanceWithRootNode(instance)) {
32
+ // it happened to be that native Node interface also has
33
+ // the "getRootNode" method, but we can ignore it here
34
+ // because we'd already checked the instance on being an HTMLElement
35
+ // which is a subclass of Node, so, just fixing types here
36
+ if (!isNode(instance)) {
37
+ rootNode = instance.getRootNode();
38
+ }
18
39
  }
19
40
 
20
41
  if (rootNode !== undefined) {
42
+ // at this point, it is rather HTMLElement (what we are looking for)
43
+ // or null (which is also OK, e.g. Popup/Tooltip/Hint before opening), so, just return it
21
44
  return rootNode;
22
- }
45
+ } // node is undefined, which means that the instance's root node getter doesn't exists or returns the undefined
46
+ // anyway, it tell us that the convention is not respected (by the component itself or its children),
47
+ // so, we have to fall back to the deprecated findDOMNode, which always works but breaks StrictMode
48
+
49
+
50
+ rootNode = findDOMNode(instance); // the findDOMNode can also return Text, but we are only intrested in HTMLElements, so just filter it
23
51
 
24
- rootNode = findDOMNode(instance);
25
52
  return isHTMLElement(rootNode) ? rootNode : null;
26
53
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["getRootNode.ts"],"names":["findDOMNode","isHTMLElement","isNode","canUseDOM","isInstanceWithRootNode","getRootNode","instance","rootNode","undefined"],"mappings":"AAAA;AACA,SAASA,WAAT,QAA4B,WAA5B;;;;AAIA,SAASC,aAAT,EAAwBC,MAAxB,QAAsC,YAAtC;AACA,SAASC,SAAT,QAA0B,WAA1B;;AAEA,SAASC,sBAAT,QAAuC,qBAAvC;;AAEA,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,QAAD,EAAoE;AAC7F,MAAI,CAACH,SAAL,EAAgB,OAAO,IAAP;AAChB,MAAIF,aAAa,CAACK,QAAD,CAAb,IAA2BA,QAAQ,KAAK,IAA5C,EAAkD;AAChD,WAAOA,QAAP;AACD;;AAED,MAAIC,QAAJ;;AAEA;AACA;AACA,MAAIH,sBAAsB,CAACE,QAAD,CAAtB,IAAoC,CAACJ,MAAM,CAACI,QAAD,CAA/C,EAA2D;AACzDC,IAAAA,QAAQ,GAAGD,QAAQ,CAACD,WAAT,EAAX;AACD;;AAED,MAAIE,QAAQ,KAAKC,SAAjB,EAA4B;AAC1B,WAAOD,QAAP;AACD;;AAEDA,EAAAA,QAAQ,GAAGP,WAAW,CAACM,QAAD,CAAtB;AACA,SAAOL,aAAa,CAACM,QAAD,CAAb,GAA0BA,QAA1B,GAAqC,IAA5C;AACD,CApBM","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\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":["findDOMNode","isHTMLElement","isNode","canUseDOM","isInstanceWithRootNode","getRootNode","instance","rootNode","undefined"],"mappings":"AAAA;AACA,SAASA,WAAT,QAA4B,WAA5B;;;;AAIA,SAASC,aAAT,EAAwBC,MAAxB,QAAsC,YAAtC;AACA,SAASC,SAAT,QAA0B,WAA1B;;AAEA,SAASC,sBAAT,QAAuC,qBAAvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,QAAD,EAAoE;AAC7F,MAAI,CAACH,SAAD,IAAc,CAACG,QAAnB,EAA6B;AAC3B;AACA;AACA,WAAO,IAAP;AACD;;AAED,MAAIL,aAAa,CAACK,QAAD,CAAjB,EAA6B;AAC3B;AACA;AACA,WAAOA,QAAP;AACD;;AAED,MAAIC,QAAJ;;AAEA,MAAIH,sBAAsB,CAACE,QAAD,CAA1B,EAAsC;AACpC;AACA;AACA;AACA;AACA,QAAI,CAACJ,MAAM,CAACI,QAAD,CAAX,EAAuB;AACrBC,MAAAA,QAAQ,GAAGD,QAAQ,CAACD,WAAT,EAAX;AACD;AACF;;AAED,MAAIE,QAAQ,KAAKC,SAAjB,EAA4B;AAC1B;AACA;AACA,WAAOD,QAAP;AACD;;AAED;AACA;AACA;AACAA,EAAAA,QAAQ,GAAGP,WAAW,CAACM,QAAD,CAAtB;;AAEA;AACA,SAAOL,aAAa,CAACM,QAAD,CAAb,GAA0BA,QAA1B,GAAqC,IAA5C;AACD,CAtCM","sourcesContent":["/* eslint-disable react/no-find-dom-node */\nimport { findDOMNode } from 'react-dom';\nimport React from 'react';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { isHTMLElement, isNode } from '../SSRSafe';\nimport { canUseDOM } from '../client';\n\nimport { isInstanceWithRootNode } from './rootNodeDecorator';\n\n/**\n * Extracts component's root HTMLElement out of it's instance\n * following the \"StrictMode support convention\" (@see README.md#strictmode, #2518).\n *\n * Replaces findDOMNode but falls back to it if \"convention\" is not respected.\n *\n * @param instance Component's instance provided by React.Ref or `this` inside class-components.\n * @returns Component's root HTMLElement or null\n */\n\nexport const getRootNode = (instance: Nullable<React.ReactInstance>): Nullable<HTMLElement> => {\n if (!canUseDOM || !instance) {\n // instance can be `null` if component was unmounted\n // also checking undefined for convinient usage\n return null;\n }\n\n if (isHTMLElement(instance)) {\n // instance can be a HTMLElement already if comming\n // from Refs of intrinsic elements (<div />, <button />, etc.)\n return instance;\n }\n\n let rootNode;\n\n if (isInstanceWithRootNode(instance)) {\n // it happened to be that native Node interface also has\n // the \"getRootNode\" method, but we can ignore it here\n // because we'd already checked the instance on being an HTMLElement\n // which is a subclass of Node, so, just fixing types here\n if (!isNode(instance)) {\n rootNode = instance.getRootNode();\n }\n }\n\n if (rootNode !== undefined) {\n // at this point, it is rather HTMLElement (what we are looking for)\n // or null (which is also OK, e.g. Popup/Tooltip/Hint before opening), so, just return it\n return rootNode;\n }\n\n // node is undefined, which means that the instance's root node getter doesn't exists or returns the undefined\n // anyway, it tell us that the convention is not respected (by the component itself or its children),\n // so, we have to fall back to the deprecated findDOMNode, which always works but breaks StrictMode\n rootNode = findDOMNode(instance);\n\n // the findDOMNode can also return Text, but we are only intrested in HTMLElements, so just filter it\n return isHTMLElement(rootNode) ? rootNode : null;\n};\n"]}
@@ -1,3 +1,12 @@
1
1
  import React from 'react';
2
2
  import { Nullable } from '../../typings/utility-types';
3
+ /**
4
+ * Extracts component's root HTMLElement out of it's instance
5
+ * following the "StrictMode support convention" (@see README.md#strictmode, #2518).
6
+ *
7
+ * Replaces findDOMNode but falls back to it if "convention" is not respected.
8
+ *
9
+ * @param instance Component's instance provided by React.Ref or `this` inside class-components.
10
+ * @returns Component's root HTMLElement or null
11
+ */
3
12
  export declare const getRootNode: (instance: Nullable<React.ReactInstance>) => Nullable<HTMLElement>;
@@ -11,7 +11,7 @@ export function rootNode(Component) {
11
11
  var _this;
12
12
 
13
13
  _this = _Component.call(this, arguments.length <= 0 ? undefined : arguments[0]) || this;
14
- _this.rootNode = null;
14
+ _this.rootNode = Component.defaultRootNode;
15
15
  _this.rootNodeEmitter = new EventEmitter();
16
16
 
17
17
  _this.setRootNode = function (instance) {
@@ -1 +1 @@
1
- {"version":3,"sources":["rootNodeDecorator.tsx"],"names":["EventEmitter","getRootNode","rootNode","Component","rootNodeEmitter","setRootNode","instance","emit","addRootNodeChangeListener","callback","addListener","remove","removeListener","nameDescriptor","Object","getOwnPropertyDescriptor","configurable","defineProperty","value","name","isInstanceWithRootNode","Boolean","prototype","hasOwnProperty","call"],"mappings":"uEAAA;;AAEA,OAAOA,YAAP,MAAyB,eAAzB;;;;AAIA,SAASC,WAAT,QAA4B,eAA5B;;;;;;;;;;;;;AAaA,OAAO,SAASC,QAAT,CAAqEC,SAArE,EAAmF;AACxF,MAAMD,QAAQ;;;AAGZ,wBAAmC;AACjC,8FADiC,MAF5BA,QAE4B,GAFM,IAEN,OAD5BE,eAC4B,GADV,IAAIJ,YAAJ,EACU;;;AAI5BK,MAAAA,WAJ4B,GAId,UAACC,QAAD,EAA6C;AAChE,YAAMJ,SAAQ,GAAGD,WAAW,CAACK,QAAD,CAA5B;AACA,YAAIJ,SAAQ,KAAK,MAAKA,QAAtB,EAAgC;AAC9B,gBAAKA,QAAL,GAAgBA,SAAhB;AACA,gBAAKE,eAAL,CAAqBG,IAArB,CAA0B,QAA1B,EAAoCL,SAApC;AACD;AACF,OAVkC;;AAY5BD,MAAAA,WAZ4B,GAYd,YAA6B;AAChD,eAAO,MAAKC,QAAZ;AACD,OAdkC;;AAgB5BM,MAAAA,yBAhB4B,GAgBA,UAACC,QAAD,EAA4E;AAC7G,cAAKL,eAAL,CAAqBM,WAArB,CAAiC,QAAjC,EAA2CD,QAA3C;AACA,eAAO;AACLE,UAAAA,MAAM,EAAE,kBAAM;AACZ,kBAAKP,eAAL,CAAqBQ,cAArB,CAAoC,QAApC,EAA8CH,QAA9C;AACD,WAHI,EAAP;;AAKD,OAvBkC,cAElC,CALW,kBAAiBN,SAAjB,CAAd;;;AA6BA,MAAMU,cAAc,GAAGC,MAAM,CAACC,wBAAP,CAAgCb,QAAhC,EAA0C,MAA1C,CAAvB;AACA,MAAI,CAACW,cAAD,IAAmBA,cAAc,CAACG,YAAtC,EAAoD;AAClDF,IAAAA,MAAM,CAACG,cAAP,CAAsBf,QAAtB,EAAgC,MAAhC,EAAwC,EAAEgB,KAAK,EAAEf,SAAS,CAACgB,IAAnB,EAAxC;AACD;;AAED,SAAOjB,QAAP;AACD;;AAED,OAAO,IAAMkB,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACd,QAAD,EAAyD;AAC7F,SAAOe,OAAO,CAACf,QAAD,CAAP,IAAqBQ,MAAM,CAACQ,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqClB,QAArC,EAA+C,aAA/C,CAA5B;AACD,CAFM","sourcesContent":["/* eslint-disable react/display-name */\nimport React from 'react';\nimport EventEmitter from 'eventemitter3';\n\nimport { Nullable } from '../../typings/utility-types';\n\nimport { getRootNode } from './getRootNode';\n\nexport type TSetRootNode = (e: Nullable<React.ReactNode>) => void;\n\nexport type TRootNodeSubscription = {\n remove: () => void;\n};\n\nexport interface InstanceWithRootNode {\n getRootNode: () => Nullable<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":["EventEmitter","getRootNode","rootNode","Component","defaultRootNode","rootNodeEmitter","setRootNode","instance","emit","addRootNodeChangeListener","callback","addListener","remove","removeListener","nameDescriptor","Object","getOwnPropertyDescriptor","configurable","defineProperty","value","name","isInstanceWithRootNode","Boolean","prototype","hasOwnProperty","call"],"mappings":"uEAAA;;AAEA,OAAOA,YAAP,MAAyB,eAAzB;;;;AAIA,SAASC,WAAT,QAA4B,eAA5B;;;;;;;;;;;;;;;;;;;;;AAqBA,OAAO,SAASC,QAAT,CAAuDC,SAAvD,EAAqE;AAC1E,MAAMD,QAAQ;;;AAGZ,wBAAmC;AACjC,8FADiC,MAF5BA,QAE4B,GAFMC,SAAS,CAACC,eAEhB,OAD5BC,eAC4B,GADV,IAAIL,YAAJ,EACU;;;AAI5BM,MAAAA,WAJ4B,GAId,UAACC,QAAD,EAA6C;AAChE,YAAML,SAAQ,GAAGD,WAAW,CAACM,QAAD,CAA5B;AACA,YAAIL,SAAQ,KAAK,MAAKA,QAAtB,EAAgC;AAC9B,gBAAKA,QAAL,GAAgBA,SAAhB;AACA,gBAAKG,eAAL,CAAqBG,IAArB,CAA0B,QAA1B,EAAoCN,SAApC;AACD;AACF,OAVkC;;AAY5BD,MAAAA,WAZ4B,GAYd,YAA6B;AAChD,eAAO,MAAKC,QAAZ;AACD,OAdkC;;AAgB5BO,MAAAA,yBAhB4B,GAgBA,UAACC,QAAD,EAA4E;AAC7G,cAAKL,eAAL,CAAqBM,WAArB,CAAiC,QAAjC,EAA2CD,QAA3C;AACA,eAAO;AACLE,UAAAA,MAAM,EAAE,kBAAM;AACZ,kBAAKP,eAAL,CAAqBQ,cAArB,CAAoC,QAApC,EAA8CH,QAA9C;AACD,WAHI,EAAP;;AAKD,OAvBkC,cAElC,CALW,kBAAiBP,SAAjB,CAAd;;;AA6BA,MAAMW,cAAc,GAAGC,MAAM,CAACC,wBAAP,CAAgCd,QAAhC,EAA0C,MAA1C,CAAvB;AACA,MAAI,CAACY,cAAD,IAAmBA,cAAc,CAACG,YAAtC,EAAoD;AAClDF,IAAAA,MAAM,CAACG,cAAP,CAAsBhB,QAAtB,EAAgC,MAAhC,EAAwC,EAAEiB,KAAK,EAAEhB,SAAS,CAACiB,IAAnB,EAAxC;AACD;;AAED,SAAOlB,QAAP;AACD;;AAED,OAAO,IAAMmB,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACd,QAAD,EAAyD;AAC7F,SAAOe,OAAO,CAACf,QAAD,CAAP,IAAqBQ,MAAM,CAACQ,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqClB,QAArC,EAA+C,aAA/C,CAA5B;AACD,CAFM","sourcesContent":["/* eslint-disable react/display-name */\nimport React from 'react';\nimport EventEmitter from 'eventemitter3';\n\nimport { Nullable } from '../../typings/utility-types';\n\nimport { getRootNode } from './getRootNode';\n\nexport type TSetRootNode = (e: Nullable<React.ReactNode>) => void;\n\nexport type TRootNodeSubscription = {\n remove: () => void;\n};\n\nexport interface InstanceWithRootNode {\n getRootNode: () => Nullable<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"]}
@@ -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 {};
@@ -3,7 +3,10 @@ export var truncate = function truncate(truncateString, maxLength, separator) {
3
3
  separator = '...';
4
4
  }
5
5
 
6
- if (truncateString.length <= maxLength) return truncateString;
6
+ if (truncateString.length <= maxLength) {
7
+ return truncateString;
8
+ }
9
+
7
10
  var separatorLength = separator.length;
8
11
  var charsCountToShow = maxLength - separatorLength;
9
12
  var frontCharsCount = Math.ceil(charsCountToShow / 2);
@@ -1 +1 @@
1
- {"version":3,"sources":["stringUtils.ts"],"names":["truncate","truncateString","maxLength","separator","length","separatorLength","charsCountToShow","frontCharsCount","Math","ceil","backCharsCount","floor","substr"],"mappings":"AAAA,OAAO,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","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":"AAAA,OAAO,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","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"]}
@@ -24,14 +24,14 @@ export var ColorFactory = /*#__PURE__*/function () {
24
24
  return new ColorObject([0, 0, 0], 1.0, 'transparent');
25
25
  }
26
26
 
27
- input = input.toLowerCase().trim();
27
+ var lowercasedTrimmedInput = input.toLowerCase().trim();
28
28
 
29
- if (input === 'transparent') {
29
+ if (lowercasedTrimmedInput === 'transparent') {
30
30
  return new ColorObject([0, 0, 0], 0, 'transparent');
31
- } else if (this.isKeyword(input)) {
32
- return this.fromKeyword(input);
33
- } else if (input.startsWith('rgb')) {
34
- var parts = extractColorParts(input, RGB_REGEX, RGBA_REGEX);
31
+ } else if (this.isKeyword(lowercasedTrimmedInput)) {
32
+ return this.fromKeyword(lowercasedTrimmedInput);
33
+ } else if (lowercasedTrimmedInput.startsWith('rgb')) {
34
+ var parts = extractColorParts(lowercasedTrimmedInput, RGB_REGEX, RGBA_REGEX);
35
35
 
36
36
  var _parseRGBParts = parseRGBParts(parts),
37
37
  r = _parseRGBParts.r,
@@ -44,8 +44,8 @@ export var ColorFactory = /*#__PURE__*/function () {
44
44
  b = clamp(b, 255);
45
45
  a = clamp(a, 1);
46
46
  return this.fromRGB(r, g, b, a);
47
- } else if (input.startsWith('hsl')) {
48
- var _parts = extractColorParts(input, HSL_REGEX, HSLA_REGEX);
47
+ } else if (lowercasedTrimmedInput.startsWith('hsl')) {
48
+ var _parts = extractColorParts(lowercasedTrimmedInput, HSL_REGEX, HSLA_REGEX);
49
49
 
50
50
  var _parseHSLParts = parseHSLParts(_parts),
51
51
  h = _parseHSLParts.h,
@@ -60,7 +60,7 @@ export var ColorFactory = /*#__PURE__*/function () {
60
60
  return this.fromHSL(h, s, l, _a);
61
61
  }
62
62
 
63
- return this.fromHex(input);
63
+ return this.fromHex(lowercasedTrimmedInput);
64
64
  };
65
65
 
66
66
  ColorFactory.isKeyword = function isKeyword(input) {