@skbkontur/react-ui 4.0.6 → 4.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (573) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +1 -1
  3. package/cjs/components/Autocomplete/Autocomplete.js +8 -4
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.d.ts +1 -5
  6. package/cjs/components/Button/Button.js +4 -12
  7. package/cjs/components/Button/Button.js.map +1 -1
  8. package/cjs/components/Checkbox/Checkbox.d.ts +5 -0
  9. package/cjs/components/Checkbox/Checkbox.js +29 -1
  10. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  11. package/cjs/components/Checkbox/Checkbox.styles.d.ts +1 -0
  12. package/cjs/components/Checkbox/Checkbox.styles.js +27 -24
  13. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  14. package/cjs/components/CurrencyInput/CurrencyHelper.js +18 -12
  15. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  16. package/cjs/components/CurrencyInput/CurrencyInput.js +15 -7
  17. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  18. package/cjs/components/CurrencyInput/CurrencyInputHelper.js +7 -5
  19. package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  20. package/cjs/components/CurrencyInput/CursorHelper.js +19 -16
  21. package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
  22. package/cjs/components/DateInput/DateInput.js +5 -1
  23. package/cjs/components/DateInput/DateInput.js.map +1 -1
  24. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +2 -2
  25. package/cjs/components/DateInput/helpers/InternalDateMediator.js +12 -2
  26. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  27. package/cjs/components/DateInput/helpers/inputNumber.d.ts +1 -1
  28. package/cjs/components/DateInput/helpers/inputNumber.js +45 -12
  29. package/cjs/components/DateInput/helpers/inputNumber.js.map +1 -1
  30. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -4
  31. package/cjs/components/DropdownMenu/DropdownMenu.js +2 -16
  32. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  33. package/cjs/components/FileUploader/FileUploader.js +8 -5
  34. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  35. package/cjs/components/FileUploader/FileUploader.styles.d.ts +3 -2
  36. package/cjs/components/FileUploader/FileUploader.styles.js +21 -15
  37. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  38. package/cjs/components/Gapped/Gapped.js +4 -3
  39. package/cjs/components/Gapped/Gapped.js.map +1 -1
  40. package/cjs/components/GlobalLoader/GlobalLoader.js +3 -5
  41. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  42. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js +5 -7
  43. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -1
  44. package/cjs/components/Group/Group.js +74 -31
  45. package/cjs/components/Group/Group.js.map +1 -1
  46. package/cjs/components/Input/Input.d.ts +1 -5
  47. package/cjs/components/Input/Input.js +14 -21
  48. package/cjs/components/Input/Input.js.map +1 -1
  49. package/cjs/components/Kebab/Kebab.d.ts +2 -13
  50. package/cjs/components/Kebab/Kebab.js +5 -29
  51. package/cjs/components/Kebab/Kebab.js.map +1 -1
  52. package/cjs/components/MenuItem/MenuItem.styles.js +3 -2
  53. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  54. package/cjs/components/Modal/Modal.js +2 -1
  55. package/cjs/components/Modal/Modal.js.map +1 -1
  56. package/cjs/components/Modal/Modal.styles.js +10 -6
  57. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  58. package/cjs/components/Modal/ModalFooter.js +1 -1
  59. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  60. package/cjs/components/Modal/ModalHeader.js +1 -1
  61. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  62. package/cjs/components/Paging/Paging.d.ts +13 -3
  63. package/cjs/components/Paging/Paging.js +15 -4
  64. package/cjs/components/Paging/Paging.js.map +1 -1
  65. package/cjs/components/Paging/PagingDefaultComponent.d.ts +9 -0
  66. package/cjs/components/Paging/PagingDefaultComponent.js +21 -0
  67. package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -0
  68. package/cjs/components/PasswordInput/PasswordInput.d.ts +2 -0
  69. package/cjs/components/PasswordInput/PasswordInput.js +23 -6
  70. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  71. package/cjs/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
  72. package/cjs/components/PasswordInput/PasswordInputIcon.js +15 -0
  73. package/cjs/components/PasswordInput/PasswordInputIcon.js.map +1 -0
  74. package/cjs/components/Radio/Radio.styles.js +4 -7
  75. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  76. package/cjs/components/RadioGroup/RadioGroup.js +1 -1
  77. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  78. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +7 -2
  79. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  80. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +3 -4
  81. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  82. package/cjs/components/Select/Select.js +33 -15
  83. package/cjs/components/Select/Select.js.map +1 -1
  84. package/cjs/components/SidePage/SidePage.js +2 -1
  85. package/cjs/components/SidePage/SidePage.js.map +1 -1
  86. package/cjs/components/Spinner/Spinner.d.ts +0 -1
  87. package/cjs/components/Spinner/Spinner.js +1 -5
  88. package/cjs/components/Spinner/Spinner.js.map +1 -1
  89. package/cjs/components/Spinner/SpinnerFallbackAnimation.js +16 -5
  90. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  91. package/cjs/components/Switcher/Switcher.styles.js +2 -2
  92. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  93. package/cjs/components/Textarea/Textarea.d.ts +2 -2
  94. package/cjs/components/Textarea/Textarea.js +6 -6
  95. package/cjs/components/Textarea/Textarea.js.map +1 -1
  96. package/cjs/components/Textarea/TextareaCounter.d.ts +1 -2
  97. package/cjs/components/Textarea/TextareaCounter.js +15 -6
  98. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  99. package/cjs/components/Toast/ToastView.js +1 -1
  100. package/cjs/components/Toast/ToastView.js.map +1 -1
  101. package/cjs/components/Toast/ToastView.styles.d.ts +1 -1
  102. package/cjs/components/Toast/ToastView.styles.js +3 -2
  103. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  104. package/cjs/components/Toggle/Toggle.d.ts +1 -1
  105. package/cjs/components/Toggle/Toggle.js.map +1 -1
  106. package/cjs/components/Toggle/Toggle.styles.js +12 -10
  107. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  108. package/cjs/components/Token/Token.js +14 -2
  109. package/cjs/components/Token/Token.js.map +1 -1
  110. package/cjs/components/Token/Token.styles.js +13 -6
  111. package/cjs/components/Token/Token.styles.js.map +1 -1
  112. package/cjs/components/TokenInput/TokenInput.d.ts +10 -0
  113. package/cjs/components/TokenInput/TokenInput.js +30 -12
  114. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  115. package/cjs/components/TokenInput/TokenInput.styles.js +3 -2
  116. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  117. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  118. package/cjs/components/Tooltip/Tooltip.js +5 -2
  119. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  120. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +1 -1
  121. package/cjs/components/TooltipMenu/TooltipMenu.js +2 -0
  122. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  123. package/cjs/hooks/useDrop.js +3 -1
  124. package/cjs/hooks/useDrop.js.map +1 -1
  125. package/cjs/index.d.ts +2 -0
  126. package/cjs/index.js +2 -0
  127. package/cjs/index.js.map +1 -1
  128. package/cjs/internal/Calendar/Calendar.js +3 -3
  129. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  130. package/cjs/internal/Calendar/CalendarDateShape.d.ts +1 -1
  131. package/cjs/internal/Calendar/MonthViewModel.js +36 -17
  132. package/cjs/internal/Calendar/MonthViewModel.js.map +1 -1
  133. package/cjs/internal/CommonWrapper/CommonWrapper.js +3 -3
  134. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  135. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +6 -1
  136. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  137. package/cjs/internal/CustomComboBox/CustomComboBox.js +3 -2
  138. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  139. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +16 -16
  140. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +35 -35
  141. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  142. package/cjs/internal/DateSelect/DateSelect.js +22 -11
  143. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  144. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +3 -1
  145. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
  146. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +14 -10
  147. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -1
  148. package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -1
  149. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  150. package/cjs/internal/InternalMenu/InternalMenu.js +5 -12
  151. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  152. package/cjs/internal/InternalMenu/InternalMenu.styles.js +2 -2
  153. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  154. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -0
  155. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js +16 -0
  156. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js.map +1 -0
  157. package/cjs/internal/MaskedInput/MaskedInput.js +9 -2
  158. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  159. package/cjs/internal/Menu/Menu.js +14 -18
  160. package/cjs/internal/Menu/Menu.js.map +1 -1
  161. package/cjs/internal/Menu/Menu.styles.js +5 -3
  162. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  163. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  164. package/cjs/internal/Popup/Popup.d.ts +1 -0
  165. package/cjs/internal/Popup/Popup.js +8 -9
  166. package/cjs/internal/Popup/Popup.js.map +1 -1
  167. package/cjs/internal/PopupMenu/PopupMenu.d.ts +4 -0
  168. package/cjs/internal/PopupMenu/PopupMenu.js +13 -0
  169. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  170. package/cjs/internal/PopupMenu/validatePositions.js +6 -6
  171. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  172. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +1 -0
  173. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
  174. package/cjs/internal/RenderContainer/RenderInnerContainer.js +9 -1
  175. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  176. package/cjs/internal/RenderLayer/RenderLayer.js +4 -1
  177. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  178. package/cjs/internal/ThemePlayground/Playground.js +11 -19
  179. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  180. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +4 -0
  181. package/cjs/internal/ThemePlayground/SizesGroup.js +20 -0
  182. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -0
  183. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -0
  184. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +14 -2
  185. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  186. package/cjs/internal/ThemePlayground/ThemeEditor.js +6 -1
  187. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  188. package/cjs/internal/ThemePlayground/VariableValue.js +18 -6
  189. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  190. package/cjs/internal/ThemePlayground/constants.d.ts +3 -1
  191. package/cjs/internal/ThemePlayground/constants.js +3 -1
  192. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  193. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +4 -7
  194. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  195. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  196. package/cjs/internal/ThemeShowcase/VariablesCollector.js +5 -6
  197. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  198. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +2 -1
  199. package/cjs/internal/ZIndex/ZIndexStorage.js +13 -6
  200. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  201. package/cjs/internal/icons/16px/index.d.ts +19 -19
  202. package/cjs/internal/icons/16px/index.js +45 -38
  203. package/cjs/internal/icons/16px/index.js.map +1 -1
  204. package/cjs/internal/icons/20px/svg.js +6 -0
  205. package/cjs/internal/icons/20px/svg.js.map +1 -1
  206. package/cjs/internal/themes/DefaultTheme.d.ts +20 -1
  207. package/cjs/internal/themes/DefaultTheme.js +40 -5
  208. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  209. package/cjs/internal/themes/NotFlat.d.ts +6 -0
  210. package/cjs/internal/themes/NotFlat.js +12 -2
  211. package/cjs/internal/themes/NotFlat.js.map +1 -1
  212. package/cjs/internal/themes/Theme2022.d.ts +66 -0
  213. package/cjs/internal/themes/Theme2022.js +100 -0
  214. package/cjs/internal/themes/Theme2022.js.map +1 -0
  215. package/cjs/internal/themes/Theme2022Dark.d.ts +5 -0
  216. package/cjs/internal/themes/Theme2022Dark.js +9 -0
  217. package/cjs/internal/themes/Theme2022Dark.js.map +1 -0
  218. package/cjs/lib/animation/index.d.ts +1 -1
  219. package/cjs/lib/animation/index.js +3 -3
  220. package/cjs/lib/animation/index.js.map +1 -1
  221. package/cjs/lib/date/InternalDate.js +23 -9
  222. package/cjs/lib/date/InternalDate.js.map +1 -1
  223. package/cjs/lib/date/InternalDateCalculator.js +16 -2
  224. package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
  225. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  226. package/cjs/lib/date/InternalDateGetter.js +27 -7
  227. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  228. package/cjs/lib/date/InternalDateTransformer.js +11 -2
  229. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  230. package/cjs/lib/date/InternalDateValidator.js +52 -17
  231. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  232. package/cjs/lib/date/types.d.ts +4 -0
  233. package/cjs/lib/date/types.js.map +1 -1
  234. package/cjs/lib/events/MouseDrag.js +5 -1
  235. package/cjs/lib/events/MouseDrag.js.map +1 -1
  236. package/cjs/lib/events/keyboard/extractCode.js +7 -5
  237. package/cjs/lib/events/keyboard/extractCode.js.map +1 -1
  238. package/cjs/lib/needsPolyfillPlaceholder.d.ts +6 -0
  239. package/cjs/lib/needsPolyfillPlaceholder.js +19 -0
  240. package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -0
  241. package/cjs/lib/rootNode/getRootNode.d.ts +9 -0
  242. package/cjs/lib/rootNode/getRootNode.js +37 -8
  243. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  244. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +9 -1
  245. package/cjs/lib/rootNode/rootNodeDecorator.js +11 -2
  246. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  247. package/cjs/lib/stringUtils.js +3 -1
  248. package/cjs/lib/stringUtils.js.map +1 -1
  249. package/cjs/lib/styles/ColorFactory.js +9 -9
  250. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  251. package/cjs/lib/styles/ColorHelpers.d.ts +1 -0
  252. package/cjs/lib/styles/ColorHelpers.js +33 -10
  253. package/cjs/lib/styles/ColorHelpers.js.map +1 -1
  254. package/cjs/lib/styles/ColorObject.js +3 -2
  255. package/cjs/lib/styles/ColorObject.js.map +1 -1
  256. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
  257. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js +9 -0
  258. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -0
  259. package/cjs/lib/taskWithDelayAndMinimalDuration.js +3 -1
  260. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  261. package/cjs/lib/theming/Emotion.js +5 -2
  262. package/cjs/lib/theming/Emotion.js.map +1 -1
  263. package/cjs/lib/theming/ThemeFactory.js +5 -1
  264. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  265. package/cjs/lib/theming/ThemeHelpers.js +7 -2
  266. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  267. package/cjs/lib/theming/themes/Theme2022.d.ts +1 -0
  268. package/cjs/lib/theming/themes/Theme2022.js +6 -0
  269. package/cjs/lib/theming/themes/Theme2022.js.map +1 -0
  270. package/cjs/lib/theming/themes/Theme2022Dark.d.ts +1 -0
  271. package/cjs/lib/theming/themes/Theme2022Dark.js +9 -0
  272. package/cjs/lib/theming/themes/Theme2022Dark.js.map +1 -0
  273. package/cjs/lib/utils.d.ts +15 -0
  274. package/cjs/lib/utils.js +45 -9
  275. package/cjs/lib/utils.js.map +1 -1
  276. package/components/Autocomplete/Autocomplete/Autocomplete.js +6 -5
  277. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  278. package/components/Button/Button/Button.js +4 -10
  279. package/components/Button/Button/Button.js.map +1 -1
  280. package/components/Button/Button.d.ts +1 -5
  281. package/components/Checkbox/Checkbox/Checkbox.js +29 -2
  282. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  283. package/components/Checkbox/Checkbox.d.ts +5 -0
  284. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +22 -18
  285. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  286. package/components/Checkbox/Checkbox.styles.d.ts +1 -0
  287. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js +12 -11
  288. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  289. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +15 -7
  290. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  291. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js +7 -1
  292. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
  293. package/components/CurrencyInput/CursorHelper/CursorHelper.js +18 -11
  294. package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
  295. package/components/DateInput/DateInput/DateInput.js +9 -1
  296. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  297. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +16 -10
  298. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  299. package/components/DateInput/helpers/InternalDateMediator.d.ts +2 -2
  300. package/components/DateInput/helpers/inputNumber/inputNumber.js +53 -16
  301. package/components/DateInput/helpers/inputNumber/inputNumber.js.map +1 -1
  302. package/components/DateInput/helpers/inputNumber.d.ts +1 -1
  303. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +3 -16
  304. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  305. package/components/DropdownMenu/DropdownMenu.d.ts +1 -4
  306. package/components/FileUploader/FileUploader/FileUploader.js +9 -7
  307. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  308. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +15 -12
  309. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  310. package/components/FileUploader/FileUploader.styles.d.ts +3 -2
  311. package/components/Gapped/Gapped/Gapped.js +4 -3
  312. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  313. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +5 -7
  314. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  315. package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js +1 -2
  316. package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js.map +1 -1
  317. package/components/Group/Group/Group.js +62 -30
  318. package/components/Group/Group/Group.js.map +1 -1
  319. package/components/Input/Input/Input.js +7 -25
  320. package/components/Input/Input/Input.js.map +1 -1
  321. package/components/Input/Input.d.ts +1 -5
  322. package/components/Kebab/Kebab/Kebab.js +3 -13
  323. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  324. package/components/Kebab/Kebab.d.ts +2 -13
  325. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +1 -1
  326. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  327. package/components/Modal/Modal/Modal.js +2 -1
  328. package/components/Modal/Modal/Modal.js.map +1 -1
  329. package/components/Modal/Modal.styles/Modal.styles.js +4 -4
  330. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  331. package/components/Modal/ModalFooter/ModalFooter.js +1 -1
  332. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  333. package/components/Modal/ModalHeader/ModalHeader.js +1 -1
  334. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  335. package/components/Paging/Paging/Paging.js +13 -14
  336. package/components/Paging/Paging/Paging.js.map +1 -1
  337. package/components/Paging/Paging.d.ts +13 -3
  338. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js +19 -0
  339. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -0
  340. package/components/Paging/PagingDefaultComponent/package.json +6 -0
  341. package/components/Paging/PagingDefaultComponent.d.ts +9 -0
  342. package/components/PasswordInput/PasswordInput/PasswordInput.js +27 -8
  343. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  344. package/components/PasswordInput/PasswordInput.d.ts +2 -0
  345. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js +15 -0
  346. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js.map +1 -0
  347. package/components/PasswordInput/PasswordInputIcon/package.json +6 -0
  348. package/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
  349. package/components/Radio/Radio.styles/Radio.styles.js +2 -1
  350. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  351. package/components/RadioGroup/RadioGroup/RadioGroup.js +2 -2
  352. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  353. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +5 -0
  354. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  355. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +3 -3
  356. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  357. package/components/Select/Select/Select.js +31 -15
  358. package/components/Select/Select/Select.js.map +1 -1
  359. package/components/SidePage/SidePage/SidePage.js +2 -1
  360. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  361. package/components/Spinner/Spinner/Spinner.js +6 -2
  362. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  363. package/components/Spinner/Spinner.d.ts +0 -1
  364. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +18 -4
  365. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  366. package/components/Switcher/Switcher.styles/Switcher.styles.js +1 -1
  367. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  368. package/components/Textarea/Textarea/Textarea.js +6 -6
  369. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  370. package/components/Textarea/Textarea.d.ts +2 -2
  371. package/components/Textarea/TextareaCounter/TextareaCounter.js +11 -2
  372. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  373. package/components/Textarea/TextareaCounter.d.ts +1 -2
  374. package/components/Toast/ToastView/ToastView.js +1 -1
  375. package/components/Toast/ToastView/ToastView.js.map +1 -1
  376. package/components/Toast/ToastView.styles/ToastView.styles.js +2 -2
  377. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  378. package/components/Toast/ToastView.styles.d.ts +1 -1
  379. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  380. package/components/Toggle/Toggle.d.ts +1 -1
  381. package/components/Toggle/Toggle.styles/Toggle.styles.js +3 -4
  382. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  383. package/components/Token/Token/Token.js +12 -1
  384. package/components/Token/Token/Token.js.map +1 -1
  385. package/components/Token/Token.styles/Token.styles.js +11 -4
  386. package/components/Token/Token.styles/Token.styles.js.map +1 -1
  387. package/components/TokenInput/TokenInput/TokenInput.js +25 -16
  388. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  389. package/components/TokenInput/TokenInput.d.ts +10 -0
  390. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +1 -1
  391. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  392. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  393. package/components/Tooltip/Tooltip/Tooltip.js +5 -2
  394. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  395. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +2 -0
  396. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  397. package/components/TooltipMenu/TooltipMenu.d.ts +1 -1
  398. package/hooks/useDrop/useDrop.js +5 -1
  399. package/hooks/useDrop/useDrop.js.map +1 -1
  400. package/index.d.ts +2 -0
  401. package/index.js +2 -0
  402. package/index.js.map +1 -1
  403. package/internal/Calendar/Calendar/Calendar.js +6 -4
  404. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  405. package/internal/Calendar/CalendarDateShape.d.ts +1 -1
  406. package/internal/Calendar/MonthViewModel/MonthViewModel.js +35 -18
  407. package/internal/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
  408. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +3 -3
  409. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  410. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +23 -15
  411. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  412. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +18 -17
  413. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  414. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +35 -35
  415. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  416. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +16 -16
  417. package/internal/DateSelect/DateSelect/DateSelect.js +21 -15
  418. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  419. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +5 -1
  420. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
  421. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +2 -0
  422. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -1
  423. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  424. package/internal/InputLikeText/InputLikeText.d.ts +1 -1
  425. package/internal/InternalMenu/InternalMenu/InternalMenu.js +14 -21
  426. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  427. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +1 -1
  428. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  429. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/addIconPaddingIfPartOfMenu.js +14 -0
  430. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/addIconPaddingIfPartOfMenu.js.map +1 -0
  431. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/package.json +6 -0
  432. package/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -0
  433. package/internal/MaskedInput/MaskedInput/MaskedInput.js +10 -3
  434. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  435. package/internal/Menu/Menu/Menu.js +11 -19
  436. package/internal/Menu/Menu/Menu.js.map +1 -1
  437. package/internal/Menu/Menu.styles/Menu.styles.js +1 -1
  438. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  439. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  440. package/internal/Popup/Popup/Popup.js +8 -7
  441. package/internal/Popup/Popup/Popup.js.map +1 -1
  442. package/internal/Popup/Popup.d.ts +1 -0
  443. package/internal/PopupMenu/PopupMenu/PopupMenu.js +8 -0
  444. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  445. package/internal/PopupMenu/PopupMenu.d.ts +4 -0
  446. package/internal/PopupMenu/validatePositions/validatePositions.js +6 -6
  447. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  448. package/internal/RenderContainer/RenderContainerTypes.d.ts +1 -0
  449. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +11 -2
  450. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  451. package/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
  452. package/internal/RenderLayer/RenderLayer/RenderLayer.js +5 -1
  453. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  454. package/internal/ThemePlayground/Playground/Playground.js +15 -29
  455. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  456. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +29 -0
  457. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -0
  458. package/internal/ThemePlayground/SizesGroup/package.json +6 -0
  459. package/internal/ThemePlayground/SizesGroup.d.ts +4 -0
  460. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +14 -2
  461. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  462. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -0
  463. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js +5 -1
  464. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  465. package/internal/ThemePlayground/VariableValue/VariableValue.js +16 -5
  466. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  467. package/internal/ThemePlayground/constants/constants.js +2 -0
  468. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  469. package/internal/ThemePlayground/constants.d.ts +3 -1
  470. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +3 -6
  471. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  472. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +4 -6
  473. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  474. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  475. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +12 -6
  476. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  477. package/internal/ZIndex/ZIndexStorage.d.ts +2 -1
  478. package/internal/icons/16px/index/index.js +28 -20
  479. package/internal/icons/16px/index/index.js.map +1 -1
  480. package/internal/icons/16px/index.d.ts +19 -19
  481. package/internal/icons/20px/svg/svg.js +5 -0
  482. package/internal/icons/20px/svg/svg.js.map +1 -1
  483. package/internal/themes/DefaultTheme/DefaultTheme.js +48 -4
  484. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  485. package/internal/themes/DefaultTheme.d.ts +20 -1
  486. package/internal/themes/NotFlat/NotFlat.js +15 -0
  487. package/internal/themes/NotFlat/NotFlat.js.map +1 -1
  488. package/internal/themes/NotFlat.d.ts +6 -0
  489. package/internal/themes/Theme2022/Theme2022.js +78 -0
  490. package/internal/themes/Theme2022/Theme2022.js.map +1 -0
  491. package/internal/themes/Theme2022/package.json +6 -0
  492. package/internal/themes/Theme2022.d.ts +66 -0
  493. package/internal/themes/Theme2022Dark/Theme2022Dark.js +17 -0
  494. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
  495. package/internal/themes/Theme2022Dark/package.json +6 -0
  496. package/internal/themes/Theme2022Dark.d.ts +5 -0
  497. package/lib/animation/index/index.js +1 -1
  498. package/lib/animation/index/index.js.map +1 -1
  499. package/lib/animation/index.d.ts +1 -1
  500. package/lib/date/InternalDate/InternalDate.js +16 -1
  501. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  502. package/lib/date/InternalDateCalculator/InternalDateCalculator.js +14 -2
  503. package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
  504. package/lib/date/InternalDateGetter/InternalDateGetter.js +23 -7
  505. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  506. package/lib/date/InternalDateGetter.d.ts +1 -1
  507. package/lib/date/InternalDateTransformer/InternalDateTransformer.js +11 -1
  508. package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
  509. package/lib/date/InternalDateValidator/InternalDateValidator.js +75 -34
  510. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  511. package/lib/date/types/types.js.map +1 -1
  512. package/lib/date/types.d.ts +4 -0
  513. package/lib/events/MouseDrag/MouseDrag.js +5 -1
  514. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  515. package/lib/events/keyboard/extractCode/extractCode.js +5 -5
  516. package/lib/events/keyboard/extractCode/extractCode.js.map +1 -1
  517. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +21 -0
  518. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -0
  519. package/lib/needsPolyfillPlaceholder/package.json +6 -0
  520. package/lib/needsPolyfillPlaceholder.d.ts +6 -0
  521. package/lib/rootNode/getRootNode/getRootNode.js +36 -8
  522. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  523. package/lib/rootNode/getRootNode.d.ts +9 -0
  524. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +3 -1
  525. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  526. package/lib/rootNode/rootNodeDecorator.d.ts +9 -1
  527. package/lib/stringUtils/stringUtils.js +4 -1
  528. package/lib/stringUtils/stringUtils.js.map +1 -1
  529. package/lib/styles/ColorFactory/ColorFactory.js +9 -9
  530. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  531. package/lib/styles/ColorHelpers/ColorHelpers.js +26 -9
  532. package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
  533. package/lib/styles/ColorHelpers.d.ts +1 -0
  534. package/lib/styles/ColorObject/ColorObject.js +2 -2
  535. package/lib/styles/ColorObject/ColorObject.js.map +1 -1
  536. package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js +9 -0
  537. package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js.map +1 -0
  538. package/lib/styles/getLabGrotesqueBaselineCompensation/package.json +6 -0
  539. package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
  540. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +4 -1
  541. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
  542. package/lib/theming/Emotion/Emotion.js +5 -2
  543. package/lib/theming/Emotion/Emotion.js.map +1 -1
  544. package/lib/theming/ThemeFactory/ThemeFactory.js +5 -2
  545. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  546. package/lib/theming/ThemeHelpers/ThemeHelpers.js +5 -1
  547. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  548. package/lib/theming/themes/Theme2022/Theme2022.js +4 -0
  549. package/lib/theming/themes/Theme2022/Theme2022.js.map +1 -0
  550. package/lib/theming/themes/Theme2022/package.json +6 -0
  551. package/lib/theming/themes/Theme2022.d.ts +1 -0
  552. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js +5 -0
  553. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
  554. package/lib/theming/themes/Theme2022Dark/package.json +6 -0
  555. package/lib/theming/themes/Theme2022Dark.d.ts +1 -0
  556. package/lib/utils/utils.js +42 -6
  557. package/lib/utils/utils.js.map +1 -1
  558. package/lib/utils.d.ts +15 -0
  559. package/package.json +5 -3
  560. package/cjs/components/Button/Corners.d.ts +0 -6
  561. package/cjs/components/Button/Corners.js +0 -5
  562. package/cjs/components/Button/Corners.js.map +0 -1
  563. package/cjs/lib/polyfillPlaceholder.d.ts +0 -1
  564. package/cjs/lib/polyfillPlaceholder.js +0 -17
  565. package/cjs/lib/polyfillPlaceholder.js.map +0 -1
  566. package/components/Button/Corners/Corners.js +0 -6
  567. package/components/Button/Corners/Corners.js.map +0 -1
  568. package/components/Button/Corners/package.json +0 -6
  569. package/components/Button/Corners.d.ts +0 -6
  570. package/lib/polyfillPlaceholder/package.json +0 -6
  571. package/lib/polyfillPlaceholder/polyfillPlaceholder.js +0 -12
  572. package/lib/polyfillPlaceholder/polyfillPlaceholder.js.map +0 -1
  573. package/lib/polyfillPlaceholder.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalDate.ts"],"names":["defaultLangCode","defaultDateComponentsOrder","defaultDateComponentsSeparator","emptyDateComponents","InternalDateCalculator","InternalDateGetter","InternalDateSetter","InternalDateTransformer","InternalDateValidator","internalDateLocale","InternalDateComponentType","InternalDateOrder","InternalDateValidateCheck","isInternalDateValidateCheck","InternalDate","order","separator","langCode","value","components","start","end","undefined","parseInternalValue","getComponentsRaw","getComponentsLikeNumber","dateComponentsStringToNumber","getSeparator","getOrder","getYear","year","getMonth","month","getDate","date","getRangeStart","getRangeEnd","setOrder","setSeparator","setComponents","isNativeMonth","clone","shiftMonth","validate","checks","Native","setYear","setMonth","setDate","shiftYear","step","isLoop","isRange","isCutFeb","min","getMinValue","Year","max","getMaxValue","calcShiftValueDateComponent","Month","shiftDate","Date","setRangeStart","internalDate","setRangeEnd","get","type","getValueDateComponent","set","setValueDateComponent","shift","settings","shiftValueDateComponent","parseValue","parseValueToDate","DMY","nextValue","Object","values","filter","self","includes","NotNull","checkForNull","Number","every","testParseToNumber","Limits","checkLimits","compareWithNativeDate","Range","checkRangePiecemeal","checkRangeFully","toNumber","toFragments","dateToFragments","YMD","withPad","map","valueWithPad","join","toString","withSeparator","Separator","toInternalString","dateToInternalString","toNativeFormat","duplicateOf","pattern","restore","prev","today","getTodayComponents","restoreYear","All","cutOffExcess","isIncomplete","isEmpty","some","component","isEqualComponentDate","compared","isEqual","isEqualDateValues","isEqualDateFormats","calcRangeStartDateComponent","getDefaultMin","calcRangeEndDateComponent","getDefaultMax"],"mappings":"0DAAA,SAASA,eAAT,QAAgC,qBAAhC;;AAEA,SAASC,0BAAT,EAAqCC,8BAArC,EAAqEC,mBAArE,QAAgG,aAAhG;AACA,SAASC,sBAAT,QAAuC,0BAAvC;AACA,SAASC,kBAAT,QAAmC,sBAAnC;AACA,SAASC,kBAAT,QAAmC,sBAAnC;AACA,SAASC,uBAAT,QAAwC,2BAAxC;AACA,SAASC,qBAAT,QAAsC,yBAAtC;AACA,SAASC,kBAAT,QAAmC,cAAnC;AACA;;;;;AAKEC,yBALF;;;AAQEC,iBARF;;;AAWEC,yBAXF;AAYEC,2BAZF;AAaO,SAbP;;AAeA,WAAaC,YAAb;;;;;;;;AAQE,+BAA+G,+BAAJ,EAAI,SAA1FC,KAA0F,QAA1FA,KAA0F,CAAnFC,SAAmF,QAAnFA,SAAmF,sBAAxEC,QAAwE,CAAxEA,QAAwE,8BAA7DjB,eAA6D,iBAA5CkB,KAA4C,QAA5CA,KAA4C,MALvGC,UAKuG,gBAL1DhB,mBAK0D,OAHvGiB,KAGuG,GAH1E,IAG0E,MAFvGC,GAEuG,GAF5E,IAE4E;AAC7G,SAAKN,KAAL,GAAaA,KAAb,WAAaA,KAAb,GAAsBN,kBAAkB,CAACQ,QAAD,CAAlB,CAA6BF,KAAnD;AACA,SAAKC,SAAL,GAAiBA,SAAjB,WAAiBA,SAAjB,GAA8BP,kBAAkB,CAACQ,QAAD,CAAlB,CAA6BD,SAA3D;AACA,QAAIE,KAAK,KAAKI,SAAd,EAAyB;AACvB,WAAKC,kBAAL,CAAwBL,KAAxB;AACD;AACF,GAdH;;AAgBSM,EAAAA,gBAhBT,GAgBE,4BAAqD;AACnD,wBAAY,KAAKL,UAAjB;AACD,GAlBH;;AAoBSM,EAAAA,uBApBT,GAoBE,mCAA+D;AAC7D,WAAOlB,uBAAuB,CAACmB,4BAAxB,CAAqD,KAAKF,gBAAL,EAArD,CAAP;AACD,GAtBH;;AAwBSG,EAAAA,YAxBT,GAwBE,wBAA6C;AAC3C,WAAO,KAAKX,SAAZ;AACD,GA1BH;;AA4BSY,EAAAA,QA5BT,GA4BE,oBAAqC;AACnC,WAAO,KAAKb,KAAZ;AACD,GA9BH;;AAgCSc,EAAAA,OAhCT,GAgCE,mBAA2C;AACzC,WAAO,KAAKV,UAAL,CAAgBW,IAAvB;AACD,GAlCH;;AAoCSC,EAAAA,QApCT,GAoCE,oBAA4C;AAC1C,WAAO,KAAKZ,UAAL,CAAgBa,KAAvB;AACD,GAtCH;;AAwCSC,EAAAA,OAxCT,GAwCE,mBAA2C;AACzC,WAAO,KAAKd,UAAL,CAAgBe,IAAvB;AACD,GA1CH;;AA4CSC,EAAAA,aA5CT,GA4CE,yBAA4C;AAC1C,WAAO,KAAKf,KAAZ;AACD,GA9CH;;AAgDSgB,EAAAA,WAhDT,GAgDE,uBAA0C;AACxC,WAAO,KAAKf,GAAZ;AACD,GAlDH;;AAoDSgB,EAAAA,QApDT,GAoDE,kBAAgBtB,KAAhB,EAAqF,KAArEA,KAAqE,cAArEA,KAAqE,GAA1Cd,0BAA0C;AACnF,SAAKc,KAAL,GAAaA,KAAb;AACA,WAAO,IAAP;AACD,GAvDH;;AAyDSuB,EAAAA,YAzDT,GAyDE,sBAAoBtB,SAApB,EAAqG,KAAjFA,SAAiF,cAAjFA,SAAiF,GAA9Cd,8BAA8C;AACnG,SAAKc,SAAL,GAAiBA,SAAjB;AACA,WAAO,IAAP;AACD,GA5DH;;AA8DSuB,EAAAA,aA9DT,GA8DE,uBAAqBpB,UAArB,EAAmEqB,aAAnE,EAAwG,KAArCA,aAAqC,cAArCA,aAAqC,GAArB,KAAqB;AACtG,QAAIrB,UAAU,IAAIqB,aAAlB,EAAiC;AAC/B,UAAMC,KAAK,GAAG,KAAKA,KAAL,GAAaF,aAAb,CAA2BpB,UAA3B,EAAuCuB,UAAvC,CAAkD,CAAlD,CAAd;AACA,UAAID,KAAK,CAACE,QAAN,CAAe,EAAEC,MAAM,EAAE,CAAChC,yBAAyB,CAACiC,MAA3B,CAAV,EAAf,CAAJ,EAAoE;AAClE,aAAK1B,UAAL,gBAAuBsB,KAAK,CAAChB,uBAAN,EAAvB;AACD;AACD,aAAO,IAAP;AACD;AACD,SAAKN,UAAL,GAAkBA,UAAU,iBAAShB,mBAAT,CAA5B;AACA,WAAO,IAAP;AACD,GAxEH;;AA0ES2C,EAAAA,OA1ET,GA0EE,iBAAehB,IAAf,EAA6D;AAC3D,SAAKX,UAAL,CAAgBW,IAAhB,GAAuBA,IAAvB;AACA,WAAO,IAAP;AACD,GA7EH;;AA+ESiB,EAAAA,QA/ET,GA+EE,kBAAgBf,KAAhB,EAA+D;AAC7D,SAAKb,UAAL,CAAgBa,KAAhB,GAAwBA,KAAxB;AACA,WAAO,IAAP;AACD,GAlFH;;AAoFSgB,EAAAA,OApFT,GAoFE,iBAAed,IAAf,EAA6D;AAC3D,SAAKf,UAAL,CAAgBe,IAAhB,GAAuBA,IAAvB;AACA,WAAO,IAAP;AACD,GAvFH;;AAyFSe,EAAAA,SAzFT,GAyFE,mBAAiBC,IAAjB,UAA6G,iCAAlB,EAAkB,UAA5EC,MAA4E,SAA5EA,MAA4E,CAApEC,OAAoE,SAApEA,OAAoE,CAA3DC,QAA2D,SAA3DA,QAA2D;AAC3G,QAAMC,GAAG,GAAG,KAAKC,WAAL,CAAiB7C,yBAAyB,CAAC8C,IAA3C,EAAiDJ,OAAjD,CAAZ;AACA,QAAMK,GAAG,GAAG,KAAKC,WAAL,CAAiBhD,yBAAyB,CAAC8C,IAA3C,EAAiD,EAAEJ,OAAO,EAAPA,OAAF,EAAWC,QAAQ,EAARA,QAAX,EAAjD,CAAZ;AACA,gCAAiB,KAAK5B,uBAAL,EAAjB,CAAQK,IAAR,yBAAQA,IAAR;AACA,SAAKX,UAAL,CAAgBW,IAAhB,GAAuB1B,sBAAsB,CAACuD,2BAAvB,CAAmDT,IAAnD,EAAyDpB,IAAzD,EAA+DwB,GAA/D,EAAoEG,GAApE,EAAyEN,MAAzE,CAAvB;AACA,WAAO,IAAP;AACD,GA/FH;;AAiGST,EAAAA,UAjGT,GAiGE,oBAAkBQ,IAAlB,UAA8G,iCAAlB,EAAkB,UAA5EC,MAA4E,SAA5EA,MAA4E,CAApEC,OAAoE,SAApEA,OAAoE,CAA3DC,QAA2D,SAA3DA,QAA2D;AAC5G,QAAMC,GAAG,GAAG,KAAKC,WAAL,CAAiB7C,yBAAyB,CAACkD,KAA3C,EAAkDR,OAAlD,CAAZ;AACA,QAAMK,GAAG,GAAG,KAAKC,WAAL,CAAiBhD,yBAAyB,CAACkD,KAA3C,EAAkD,EAAER,OAAO,EAAPA,OAAF,EAAWC,QAAQ,EAARA,QAAX,EAAlD,CAAZ;AACA,iCAAkB,KAAK5B,uBAAL,EAAlB,CAAQO,KAAR,0BAAQA,KAAR;AACA,SAAKb,UAAL,CAAgBa,KAAhB,GAAwB5B,sBAAsB,CAACuD,2BAAvB,CAAmDT,IAAnD,EAAyDlB,KAAzD,EAAgEsB,GAAhE,EAAqEG,GAArE,EAA0EN,MAA1E,CAAxB;AACA,WAAO,IAAP;AACD,GAvGH;;AAyGSU,EAAAA,SAzGT,GAyGE,mBAAiBX,IAAjB,UAA6G,iCAAlB,EAAkB,UAA5EC,MAA4E,SAA5EA,MAA4E,CAApEC,OAAoE,SAApEA,OAAoE,CAA3DC,QAA2D,SAA3DA,QAA2D;AAC3G,QAAMC,GAAG,GAAG,KAAKC,WAAL,CAAiB7C,yBAAyB,CAACoD,IAA3C,EAAiDV,OAAjD,CAAZ;AACA,QAAMK,GAAG,GAAG,KAAKC,WAAL,CAAiBhD,yBAAyB,CAACoD,IAA3C,EAAiD,EAAEV,OAAO,EAAPA,OAAF,EAAWC,QAAQ,EAARA,QAAX,EAAjD,CAAZ;AACA,iCAAiB,KAAK5B,uBAAL,EAAjB,CAAQS,IAAR,0BAAQA,IAAR;AACA,SAAKf,UAAL,CAAgBe,IAAhB,GAAuB9B,sBAAsB,CAACuD,2BAAvB,CAAmDT,IAAnD,EAAyDhB,IAAzD,EAA+DoB,GAA/D,EAAoEG,GAApE,EAAyEN,MAAzE,CAAvB;AACA,WAAO,IAAP;AACD,GA/GH;;AAiHSY,EAAAA,aAjHT,GAiHE,uBAAqBC,YAArB,EAAsE;AACpE,SAAK5C,KAAL,GAAa4C,YAAb;AACA,WAAO,IAAP;AACD,GApHH;;AAsHSC,EAAAA,WAtHT,GAsHE,qBAAmBD,YAAnB,EAAoE;AAClE,SAAK3C,GAAL,GAAW2C,YAAX;AACA,WAAO,IAAP;AACD,GAzHH;;AA2HSE,EAAAA,GA3HT,GA2HE,aAAWC,IAAX,EAA6E;AAC3E,WAAOA,IAAI,KAAK,IAAT,GAAgB9D,kBAAkB,CAAC+D,qBAAnB,CAAyCD,IAAzC,EAA+C,KAAK3C,gBAAL,EAA/C,CAAhB,GAA0F,IAAjG;AACD,GA7HH;;AA+HS6C,EAAAA,GA/HT,GA+HE,aAAWF,IAAX,EAAmDjD,KAAnD,EAAkG;AAChG,WAAOiD,IAAI,KAAK,IAAT,GAAgB7D,kBAAkB,CAACgE,qBAAnB,CAAyC,IAAzC,EAA+CH,IAA/C,EAAqDjD,KAArD,CAAhB,GAA8E,IAArF;AACD,GAjIH;;AAmISqD,EAAAA,KAnIT,GAmIE;AACEJ,EAAAA,IADF;AAEEjB,EAAAA,IAFF;AAGEsB,EAAAA,QAHF;AAIgB;AACd,WAAOL,IAAI,KAAK,IAAT,GAAgB7D,kBAAkB,CAACmE,uBAAnB,CAA2C,IAA3C,EAAiDN,IAAjD,EAAuDjB,IAAvD,EAA6DsB,QAA7D,CAAhB,GAAyF,IAAhG;AACD,GAzIH;;AA2ISE,EAAAA,UA3IT,GA2IE,oBAAkBxD,KAAlB,EAA2D,KAAzCA,KAAyC,cAAzCA,KAAyC,GAAlB,EAAkB;AACzD,QAAMC,UAAU,GAAGZ,uBAAuB,CAACoE,gBAAxB,CAAyCzD,KAAzC,EAAgD,KAAKH,KAArD,kBAAoEZ,mBAApE,CAAnB;AACA,SAAKoC,aAAL,CAAmBpB,UAAnB;AACA,WAAO,IAAP;AACD,GA/IH;;AAiJSI,EAAAA,kBAjJT,GAiJE,4BAA0BL,KAA1B,EAAmE,KAAzCA,KAAyC,cAAzCA,KAAyC,GAAlB,EAAkB;AACjE,QAAMC,UAAU,GAAGZ,uBAAuB,CAACoE,gBAAxB,CAAyCzD,KAAzC,EAAgDP,iBAAiB,CAACiE,GAAlE;AACdzE,IAAAA,mBADc,CAAnB;;AAGA,SAAKoC,aAAL,CAAmBpB,UAAnB;AACA,WAAO,IAAP;AACD,GAvJH;;AAyJSwB,EAAAA,QAzJT,GAyJE;;;;;;;;AAQiB,mCAAb,EAAa,UAPfwB,IAOe,SAPfA,IAOe,CANfU,SAMe,SANfA,SAMe,sBALfjC,MAKe,CALfA,MAKe,6BALNkC,MAAM,CAACC,MAAP,CAAcnE,yBAAd,EAAyCoE,MAAzC,CAA2EnE,2BAA3E,CAKM;AACf;AACA,QAAIoE,IAAkB,GAAG,IAAzB;AACA,QAAId,IAAI,KAAK7C,SAAb,EAAwB;AACtB,UAAMmB,KAAK,GAAG,KAAKA,KAAL,EAAd;AACA,UAAIoC,SAAS,KAAKvD,SAAlB,EAA6B;AAC3BmB,QAAAA,KAAK,CAAC4B,GAAN,CAAUF,IAAV,EAAgBU,SAAhB;AACD;AACDI,MAAAA,IAAI,GAAGxC,KAAP;AACD;AACD;AACEG,IAAAA,MAAM,CAACsC,QAAP,CAAgBtE,yBAAyB,CAACuE,OAA1C;AACA,KAAC3E,qBAAqB,CAAC4E,YAAtB,CAAmCH,IAAI,CAACzD,gBAAL,EAAnC,EAA4D2C,IAA5D,CAFH;AAGE;AACA,aAAO,KAAP;AACD;AACD;AACEvB,IAAAA,MAAM,CAACsC,QAAP,CAAgBtE,yBAAyB,CAACyE,MAA1C;AACA,KAACP,MAAM,CAACC,MAAP,CAAcE,IAAI,CAACzD,gBAAL,EAAd,EAAuC8D,KAAvC,CAA6C9E,qBAAqB,CAAC+E,iBAAnE,CAFH;AAGE;AACA,aAAO,KAAP;AACD;AACD;AACE3C,IAAAA,MAAM,CAACsC,QAAP,CAAgBtE,yBAAyB,CAAC4E,MAA1C;AACA,KAAChF,qBAAqB,CAACiF,WAAtB,CAAkCR,IAAI,CAACxD,uBAAL,EAAlC,EAAkE0C,IAAlE,CAFH;AAGE;AACA,aAAO,KAAP;AACD;AACD;AACEvB,IAAAA,MAAM,CAACsC,QAAP,CAAgBtE,yBAAyB,CAACiC,MAA1C;AACA,KAACrC,qBAAqB,CAACkF,qBAAtB,CAA4CT,IAAI,CAACxD,uBAAL,EAA5C,CAFH;AAGE;AACA,aAAO,KAAP;AACD;AACD,QAAImB,MAAM,CAACsC,QAAP,CAAgBtE,yBAAyB,CAAC+E,KAA1C,CAAJ,EAAsD;AACpD,aAAOxB,IAAI,KAAK7C,SAAT;AACHd,MAAAA,qBAAqB,CAACoF,mBAAtB;AACEzB,MAAAA,IADF;AAEEc,MAAAA,IAAI,CAACxD,uBAAL,EAFF;AAGEwD,MAAAA,IAAI,CAAC7D,KAAL,IAAc6D,IAAI,CAAC7D,KAAL,CAAWK,uBAAX,EAHhB;AAIEwD,MAAAA,IAAI,CAAC5D,GAAL,IAAY4D,IAAI,CAAC5D,GAAL,CAASI,uBAAT,EAJd,CADG;;AAOHjB,MAAAA,qBAAqB,CAACqF,eAAtB;AACEZ,MAAAA,IAAI,CAACa,QAAL,EADF;AAEEb,MAAAA,IAAI,CAAC7D,KAAL,IAAc6D,IAAI,CAAC7D,KAAL,CAAW0E,QAAX,EAFhB;AAGEb,MAAAA,IAAI,CAAC5D,GAAL,IAAY4D,IAAI,CAAC5D,GAAL,CAASyE,QAAT,EAHd,CAPJ;;AAYD;AACD,WAAO,IAAP;AACD,GAlNH;;AAoNSC,EAAAA,WApNT,GAoNE;AACEvB,EAAAA,QADF;AAEErD,EAAAA,UAFF;AAG0B,OAFxBqD,QAEwB,cAFxBA,QAEwB,GAFoB,EAEpB,MADxBrD,UACwB,cADxBA,UACwB,GADgB,KAAKK,gBAAL,EAChB;AACxB,WAAOjB,uBAAuB,CAACyF,eAAxB,CAAwC7E,UAAxC;AACLJ,MAAAA,KAAK,EAAE,KAAKA,KADP;AAELC,MAAAA,SAAS,EAAE,KAAKA,SAFX;AAGFwD,IAAAA,QAHE,EAAP;;AAKD;;AAED;AACF;AACA;AACA,KAlOA;AAmOSsB,EAAAA,QAnOT,GAmOE,oBAA0B;AACxB,WAAOT,MAAM;AACX,SAAKU,WAAL,CAAiB,EAAEhF,KAAK,EAAEJ,iBAAiB,CAACsF,GAA3B,EAAgCC,OAAO,EAAE,IAAzC,EAAjB;AACGC,IAAAA,GADH,CACO,sBAAGC,YAAH,SAAGA,YAAH,QAAsBA,YAAtB,EADP;AAEGC,IAAAA,IAFH,CAEQ,EAFR,CADW,CAAb;;AAKD,GAzOH;;AA2OSC,EAAAA,QA3OT,GA2OE,kBAAgB9B,QAAhB,EAAwE,KAAxDA,QAAwD,cAAxDA,QAAwD,GAAZ,EAAY;AACtE,WAAO,KAAKuB,WAAL,YAAmBG,OAAO,EAAE,IAA5B,EAAkCK,aAAa,EAAE,IAAjD,IAA0D/B,QAA1D;AACJQ,IAAAA,MADI,CACG,sBAAG9D,KAAH,SAAGA,KAAH,QAAeA,KAAK,KAAK,IAAzB,EADH;AAEJiF,IAAAA,GAFI,CAEA,sBAAGhC,IAAH,SAAGA,IAAH,CAASiC,YAAT,SAASA,YAAT,CAAuBlF,KAAvB,SAAuBA,KAAvB;AACHsD,QAAAA,QAAQ,CAAC0B,OAAT,IAAoB/B,IAAI,KAAKzD,yBAAyB,CAAC8F,SAAvD,GAAmEJ,YAAnE,GAAkFlF,KAD/E,GAFA;;AAKJmF,IAAAA,IALI,CAKC,EALD,CAAP;AAMD,GAlPH;;AAoPSI,EAAAA,gBApPT,GAoPE,4BAAkC;AAChC,WAAOlG,uBAAuB,CAACmG,oBAAxB,CAA6C,KAAKlF,gBAAL,EAA7C,CAAP;AACD,GAtPH;;AAwPSmF,EAAAA,cAxPT,GAwPE,0BAA6D;AAC3D,QAAMxF,UAAU,GAAG,KAAKM,uBAAL,EAAnB;AACA,QAAIjB,qBAAqB,CAACkF,qBAAtB,CAA4CvE,UAA5C,CAAJ,EAA6D;AAC3D,0BAAYA,UAAZ,IAAwBa,KAAK,EAAEb,UAAU,CAACa,KAAX,GAAmB,CAAlD;AACD;AACD,WAAO,IAAP;AACD,GA9PH;;AAgQSS,EAAAA,KAhQT,GAgQE,iBAA6B;AAC3B,WAAO,IAAI3B,YAAJ,CAAiB,EAAEC,KAAK,EAAE,KAAKA,KAAd,EAAqBC,SAAS,EAAE,KAAKA,SAArC,EAAjB;AACJuB,IAAAA,aADI,cACe,KAAKpB,UADpB;AAEJ4C,IAAAA,aAFI,CAEU,KAAK3C,KAAL,IAAc,KAAKA,KAAL,CAAWqB,KAAX,EAFxB;AAGJwB,IAAAA,WAHI,CAGQ,KAAK5C,GAAL,IAAY,KAAKA,GAAL,CAASoB,KAAT,EAHpB,CAAP;AAID,GArQH;;AAuQSmE,EAAAA,WAvQT,GAuQE,qBAAmBC,OAAnB,EAAwD;AACtD,WAAO,KAAKtE,aAAL,CAAmBsE,OAAO,CAACrF,gBAAR,EAAnB,CAAP;AACD,GAzQH;;AA2QSsF,EAAAA,OA3QT,GA2QE,iBAAe3C,IAAf,EAA4E,KAA7DA,IAA6D,cAA7DA,IAA6D,GAApB,IAAoB;AAC1E,QAAM4C,IAAI,GAAG,KAAKvF,gBAAL,EAAb;AACA,QAAMwF,KAAK,GAAG3G,kBAAkB,CAAC4G,kBAAnB,EAAd;;AAEA,QAAIF,IAAI,CAACjF,IAAL,KAAc,IAAd,IAAsBiF,IAAI,CAAC/E,KAAL,KAAe,IAArC,IAA6C+E,IAAI,CAAC7E,IAAL,KAAc,IAA/D,EAAqE;AACnE,aAAO,IAAP;AACD;;AAED,QAAMgF,WAAW;AACfH,IAAAA,IAAI,CAACjF,IAAL,KAAc,IAAd,IAAsBtB,qBAAqB,CAAC+E,iBAAtB,CAAwCwB,IAAI,CAACjF,IAA7C,CAAtB;AACIiF,IAAAA,IAAI,CAACjF,IAAL,GAAY,EAAZ,IAAkBiF,IAAI,CAACjF,IAAL,GAAY,GAA9B;AACEuD,IAAAA,MAAM,CAAC0B,IAAI,CAACjF,IAAN,CAAN,GAAoB,IADtB;AAEEiF,IAAAA,IAAI,CAACjF,IAAL,GAAY,CAAZ,IAAiBiF,IAAI,CAACjF,IAAL,GAAY,EAA7B;AACAuD,IAAAA,MAAM,CAAC0B,IAAI,CAACjF,IAAN,CAAN,GAAoB,IADpB;AAEAiF,IAAAA,IAAI,CAACjF,IALX;AAMIkF,IAAAA,KAAK,CAAClF,IAPZ;AAQA;AACGqC,IAAAA,IAAI,KAAK,IAAT,IAAiB+C,WAAW,KAAKH,IAAI,CAACjF,IAAvC;AACAqC,IAAAA,IAAI,KAAKzD,yBAAyB,CAAC8C,IADnC;AAEAW,IAAAA,IAAI,KAAKzD,yBAAyB,CAACyG,GAHrC;AAIE;AACA,WAAKrE,OAAL,CAAaoE,WAAb;AACD;AACD;AACG/C,IAAAA,IAAI,KAAK,IAAT,IAAiB4C,IAAI,CAAC/E,KAAL,KAAe,IAAjC;AACAmC,IAAAA,IAAI,KAAKzD,yBAAyB,CAACkD,KADnC;AAEAO,IAAAA,IAAI,KAAKzD,yBAAyB,CAACyG,GAHrC;AAIE;AACA,WAAKpE,QAAL,CAAciE,KAAK,CAAChF,KAApB;AACD;AACD;AACGmC,IAAAA,IAAI,KAAK,IAAT,IAAiB4C,IAAI,CAAC7E,IAAL,KAAc,IAAhC;AACAiC,IAAAA,IAAI,KAAKzD,yBAAyB,CAACoD,IADnC;AAEAK,IAAAA,IAAI,KAAKzD,yBAAyB,CAACyG,GAHrC;AAIE;AACA,WAAKnE,OAAL,CAAagE,KAAK,CAAC9E,IAAnB;AACD;AACD,WAAO,IAAP;AACD,GAjTH;;AAmTSkF,EAAAA,YAnTT,GAmTE;AACEjD,EAAAA,IADF;;AAGgB,OAFdA,IAEc,cAFdA,IAEc,GAF2B,IAE3B,kCAD8D,EAC9D,+BADZhB,MACY,CADZA,MACY,6BADH,KACG,gBADIC,OACJ,SADIA,OACJ,wBADaC,QACb,CADaA,QACb,+BADwB,KACxB;AACd,2BAA8B,KAAKlC,UAAnC,CAAQW,IAAR,oBAAQA,IAAR,CAAcE,KAAd,oBAAcA,KAAd,CAAqBE,IAArB,oBAAqBA,IAArB;AACA,QAAI,CAACiC,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAKzD,yBAAyB,CAAC8C,IAArD,KAA8DhD,qBAAqB,CAAC+E,iBAAtB,CAAwCzD,IAAxC,CAAlE,EAAiH;AAC/G,WAAKmB,SAAL,CAAe,CAAf,EAAkB,EAAEE,MAAM,EAANA,MAAF,EAAUC,OAAO,EAAPA,OAAV,EAAmBC,QAAQ,EAARA,QAAnB,EAAlB;AACD;AACD,QAAI,CAACc,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAKzD,yBAAyB,CAACkD,KAArD,KAA+DpD,qBAAqB,CAAC+E,iBAAtB,CAAwCvD,KAAxC,CAAnE,EAAmH;AACjH,WAAKU,UAAL,CAAgB,CAAhB,EAAmB,EAAES,MAAM,EAANA,MAAF,EAAUC,OAAO,EAAPA,OAAV,EAAmBC,QAAQ,EAARA,QAAnB,EAAnB;AACD;AACD,QAAI,CAACc,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAKzD,yBAAyB,CAACoD,IAArD,KAA8DtD,qBAAqB,CAAC+E,iBAAtB,CAAwCrD,IAAxC,CAAlE,EAAiH;AAC/G,WAAK2B,SAAL,CAAe,CAAf,EAAkB,EAAEV,MAAM,EAANA,MAAF,EAAUC,OAAO,EAAPA,OAAV,EAAmBC,QAAQ,EAARA,QAAnB,EAAlB;AACD;AACD,WAAO,IAAP;AACD,GAlUH;;AAoUSgE,EAAAA,YApUT,GAoUE,wBAA+B;AAC7B,WAAO,CAAC,KAAKC,OAAL,EAAD,IAAmBxC,MAAM,CAACC,MAAP,CAAc,KAAK5D,UAAnB,EAA+BoG,IAA/B,CAAoC,UAACC,SAAD,UAAeA,SAAS,KAAK,IAA7B,EAApC,CAA1B;AACD,GAtUH;;AAwUSF,EAAAA,OAxUT,GAwUE,mBAA0B;AACxB,WAAOxC,MAAM,CAACC,MAAP,CAAc,KAAK5D,UAAnB,EAA+BmE,KAA/B,CAAqC,UAACkC,SAAD,UAAeA,SAAS,KAAK,IAA7B,EAArC,CAAP;AACD,GA1UH;;AA4USC,EAAAA,oBA5UT,GA4UE,8BAA4BtD,IAA5B,EAAoEuD,QAApE,EAAqG;AACnG,WAAO,KAAKxD,GAAL,CAASC,IAAT,MAAmBuD,QAAQ,CAACxD,GAAT,CAAaC,IAAb,CAA1B;AACD,GA9UH;;AAgVSwD,EAAAA,OAhVT,GAgVE,iBAAeD,QAAf,EAAgD;AAC9C;AACElH,MAAAA,qBAAqB,CAACoH,iBAAtB,CAAwC,IAAxC,EAA8CF,QAA9C;AACAlH,MAAAA,qBAAqB,CAACqH,kBAAtB,CAAyC,IAAzC,EAA+CH,QAA/C,CAFF;;AAID,GArVH;;AAuVUnE,EAAAA,WAvVV,GAuVE,qBAAoBY,IAApB,EAAqDf,OAArD,EAAgF;AAC9E,QAAIA,OAAO,KAAK,IAAZ,IAAoB,KAAKhC,KAAL,KAAe,IAAvC,EAA6C;AAC3C,aAAOiE,MAAM;AACXjF,MAAAA,sBAAsB,CAAC0H,2BAAvB;AACE3D,MAAAA,IADF;AAEE,WAAK1C,uBAAL,EAFF;AAGE,WAAKL,KAAL,CAAWK,uBAAX,EAHF,CADW,CAAb;;;AAOD;AACD,WAAOpB,kBAAkB,CAAC0H,aAAnB,CAAiC5D,IAAjC,CAAP;AACD,GAlWH;;AAoWUT,EAAAA,WApWV,GAoWE;AACES,EAAAA,IADF;;AAGU,oCAD2D,EAC3D,UADNf,OACM,UADNA,OACM,CADGC,QACH,UADGA,QACH;AACR,QAAID,OAAO,IAAI,KAAK/B,GAAL,KAAa,IAA5B,EAAkC;AAChC,aAAOgE,MAAM;AACXjF,MAAAA,sBAAsB,CAAC4H,yBAAvB;AACE7D,MAAAA,IADF;AAEE,WAAK1C,uBAAL,EAFF;AAGE,WAAKJ,GAAL,CAASI,uBAAT,EAHF,CADW,CAAb;;;AAOD;AACD,QAAI,CAAC4B,QAAL,EAAe;AACb,aAAOhD,kBAAkB,CAAC4H,aAAnB,CAAiC9D,IAAjC,CAAP;AACD;AACD,WAAO9D,kBAAkB,CAAC4H,aAAnB,CAAiC9D,IAAjC,EAAuC,KAAK1C,uBAAL,EAAvC,CAAP;AACD,GArXH","sourcesContent":["import { defaultLangCode } from '../locale/constants';\n\nimport { defaultDateComponentsOrder, defaultDateComponentsSeparator, emptyDateComponents } from './constants';\nimport { InternalDateCalculator } from './InternalDateCalculator';\nimport { InternalDateGetter } from './InternalDateGetter';\nimport { InternalDateSetter } from './InternalDateSetter';\nimport { InternalDateTransformer } from './InternalDateTransformer';\nimport { InternalDateValidator } from './InternalDateValidator';\nimport { internalDateLocale } from './localeSets';\nimport {\n InternalDateChangeSettings,\n InternalDateComponentRaw,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n InternalDateConstructorProps,\n InternalDateFragment,\n InternalDateOrder,\n InternalDateSeparator,\n InternalDateToFragmentsSettings,\n InternalDateValidateCheck,\n isInternalDateValidateCheck,\n} from './types';\n\nexport class InternalDate {\n private order: InternalDateOrder;\n private separator: InternalDateSeparator;\n private components: InternalDateComponentsRaw = { ...emptyDateComponents };\n\n private start: InternalDate | null = null;\n private end: InternalDate | null = null;\n\n public constructor({ order, separator, langCode = defaultLangCode, value }: InternalDateConstructorProps = {}) {\n this.order = order ?? internalDateLocale[langCode].order;\n this.separator = separator ?? internalDateLocale[langCode].separator;\n if (value !== undefined) {\n this.parseInternalValue(value);\n }\n }\n\n public getComponentsRaw(): InternalDateComponentsRaw {\n return { ...this.components };\n }\n\n public getComponentsLikeNumber(): InternalDateComponentsNumber {\n return InternalDateTransformer.dateComponentsStringToNumber(this.getComponentsRaw());\n }\n\n public getSeparator(): InternalDateSeparator {\n return this.separator;\n }\n\n public getOrder(): InternalDateOrder {\n return this.order;\n }\n\n public getYear(): InternalDateComponentRaw {\n return this.components.year;\n }\n\n public getMonth(): InternalDateComponentRaw {\n return this.components.month;\n }\n\n public getDate(): InternalDateComponentRaw {\n return this.components.date;\n }\n\n public getRangeStart(): InternalDate | null {\n return this.start;\n }\n\n public getRangeEnd(): InternalDate | null {\n return this.end;\n }\n\n public setOrder(order: InternalDateOrder = defaultDateComponentsOrder): InternalDate {\n this.order = order;\n return this;\n }\n\n public setSeparator(separator: InternalDateSeparator = defaultDateComponentsSeparator): InternalDate {\n this.separator = separator;\n return this;\n }\n\n public setComponents(components: InternalDateComponentsRaw | null, isNativeMonth = false): InternalDate {\n if (components && isNativeMonth) {\n const clone = this.clone().setComponents(components).shiftMonth(1);\n if (clone.validate({ checks: [InternalDateValidateCheck.Native] })) {\n this.components = { ...clone.getComponentsLikeNumber() };\n }\n return this;\n }\n this.components = components || { ...emptyDateComponents };\n return this;\n }\n\n public setYear(year: InternalDateComponentRaw): InternalDate {\n this.components.year = year;\n return this;\n }\n\n public setMonth(month: InternalDateComponentRaw): InternalDate {\n this.components.month = month;\n return this;\n }\n\n public setDate(date: InternalDateComponentRaw): InternalDate {\n this.components.date = date;\n return this;\n }\n\n public shiftYear(step: number, { isLoop, isRange, isCutFeb }: InternalDateChangeSettings = {}): InternalDate {\n const min = this.getMinValue(InternalDateComponentType.Year, isRange);\n const max = this.getMaxValue(InternalDateComponentType.Year, { isRange, isCutFeb });\n const { year } = this.getComponentsLikeNumber();\n this.components.year = InternalDateCalculator.calcShiftValueDateComponent(step, year, min, max, isLoop);\n return this;\n }\n\n public shiftMonth(step: number, { isLoop, isRange, isCutFeb }: InternalDateChangeSettings = {}): InternalDate {\n const min = this.getMinValue(InternalDateComponentType.Month, isRange);\n const max = this.getMaxValue(InternalDateComponentType.Month, { isRange, isCutFeb });\n const { month } = this.getComponentsLikeNumber();\n this.components.month = InternalDateCalculator.calcShiftValueDateComponent(step, month, min, max, isLoop);\n return this;\n }\n\n public shiftDate(step: number, { isLoop, isRange, isCutFeb }: InternalDateChangeSettings = {}): InternalDate {\n const min = this.getMinValue(InternalDateComponentType.Date, isRange);\n const max = this.getMaxValue(InternalDateComponentType.Date, { isRange, isCutFeb });\n const { date } = this.getComponentsLikeNumber();\n this.components.date = InternalDateCalculator.calcShiftValueDateComponent(step, date, min, max, isLoop);\n return this;\n }\n\n public setRangeStart(internalDate: InternalDate | null): InternalDate {\n this.start = internalDate;\n return this;\n }\n\n public setRangeEnd(internalDate: InternalDate | null): InternalDate {\n this.end = internalDate;\n return this;\n }\n\n public get(type: InternalDateComponentType | null): InternalDateComponentRaw {\n return type !== null ? InternalDateGetter.getValueDateComponent(type, this.getComponentsRaw()) : null;\n }\n\n public set(type: InternalDateComponentType | null, value: InternalDateComponentRaw): InternalDate {\n return type !== null ? InternalDateSetter.setValueDateComponent(this, type, value) : this;\n }\n\n public shift(\n type: InternalDateComponentType | null,\n step: number,\n settings?: InternalDateChangeSettings,\n ): InternalDate {\n return type !== null ? InternalDateSetter.shiftValueDateComponent(this, type, step, settings) : this;\n }\n\n public parseValue(value: string | null = ''): InternalDate {\n const components = InternalDateTransformer.parseValueToDate(value, this.order) || { ...emptyDateComponents };\n this.setComponents(components);\n return this;\n }\n\n public parseInternalValue(value: string | null = ''): InternalDate {\n const components = InternalDateTransformer.parseValueToDate(value, InternalDateOrder.DMY) || {\n ...emptyDateComponents,\n };\n this.setComponents(components);\n return this;\n }\n\n public validate({\n type,\n nextValue,\n checks = Object.values(InternalDateValidateCheck).filter<InternalDateValidateCheck>(isInternalDateValidateCheck),\n }: {\n type?: InternalDateComponentType;\n nextValue?: InternalDateComponentRaw;\n checks?: InternalDateValidateCheck[];\n } = {}): boolean {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let self: InternalDate = this;\n if (type !== undefined) {\n const clone = this.clone();\n if (nextValue !== undefined) {\n clone.set(type, nextValue);\n }\n self = clone;\n }\n if (\n checks.includes(InternalDateValidateCheck.NotNull) &&\n !InternalDateValidator.checkForNull(self.getComponentsRaw(), type)\n ) {\n return false;\n }\n if (\n checks.includes(InternalDateValidateCheck.Number) &&\n !Object.values(self.getComponentsRaw()).every(InternalDateValidator.testParseToNumber)\n ) {\n return false;\n }\n if (\n checks.includes(InternalDateValidateCheck.Limits) &&\n !InternalDateValidator.checkLimits(self.getComponentsLikeNumber(), type)\n ) {\n return false;\n }\n if (\n checks.includes(InternalDateValidateCheck.Native) &&\n !InternalDateValidator.compareWithNativeDate(self.getComponentsLikeNumber())\n ) {\n return false;\n }\n if (checks.includes(InternalDateValidateCheck.Range)) {\n return type !== undefined\n ? InternalDateValidator.checkRangePiecemeal(\n type,\n self.getComponentsLikeNumber(),\n self.start && self.start.getComponentsLikeNumber(),\n self.end && self.end.getComponentsLikeNumber(),\n )\n : InternalDateValidator.checkRangeFully(\n self.toNumber(),\n self.start && self.start.toNumber(),\n self.end && self.end.toNumber(),\n );\n }\n return true;\n }\n\n public toFragments(\n settings: InternalDateToFragmentsSettings = {},\n components: InternalDateComponentsRaw = this.getComponentsRaw(),\n ): InternalDateFragment[] {\n return InternalDateTransformer.dateToFragments(components, {\n order: this.order,\n separator: this.separator,\n ...settings,\n });\n }\n\n /**\n * Перевод даты в числовое представление (**НЕ** аналог `timestamp`)\n * Предназначено для быстрого сравнивания дат `<=>`\n */\n public toNumber(): number {\n return Number(\n this.toFragments({ order: InternalDateOrder.YMD, withPad: true })\n .map(({ valueWithPad }) => valueWithPad)\n .join(''),\n );\n }\n\n public toString(settings: InternalDateToFragmentsSettings = {}): string {\n return this.toFragments({ withPad: true, withSeparator: true, ...settings })\n .filter(({ value }) => value !== null)\n .map(({ type, valueWithPad, value }) =>\n settings.withPad && type !== InternalDateComponentType.Separator ? valueWithPad : value,\n )\n .join('');\n }\n\n public toInternalString(): string {\n return InternalDateTransformer.dateToInternalString(this.getComponentsRaw());\n }\n\n public toNativeFormat(): InternalDateComponentsNumber | null {\n const components = this.getComponentsLikeNumber();\n if (InternalDateValidator.compareWithNativeDate(components)) {\n return { ...components, month: components.month - 1 };\n }\n return null;\n }\n\n public clone(): InternalDate {\n return new InternalDate({ order: this.order, separator: this.separator })\n .setComponents({ ...this.components })\n .setRangeStart(this.start && this.start.clone())\n .setRangeEnd(this.end && this.end.clone());\n }\n\n public duplicateOf(pattern: InternalDate): InternalDate {\n return this.setComponents(pattern.getComponentsRaw());\n }\n\n public restore(type: InternalDateComponentType | null = null): InternalDate {\n const prev = this.getComponentsRaw();\n const today = InternalDateGetter.getTodayComponents();\n\n if (prev.year === null && prev.month === null && prev.date === null) {\n return this;\n }\n\n const restoreYear =\n prev.year !== null && InternalDateValidator.testParseToNumber(prev.year)\n ? prev.year > 50 && prev.year < 100\n ? Number(prev.year) + 1900\n : prev.year > 0 && prev.year < 51\n ? Number(prev.year) + 2000\n : prev.year\n : today.year;\n if (\n (type === null && restoreYear !== prev.year) ||\n type === InternalDateComponentType.Year ||\n type === InternalDateComponentType.All\n ) {\n this.setYear(restoreYear);\n }\n if (\n (type === null && prev.month === null) ||\n type === InternalDateComponentType.Month ||\n type === InternalDateComponentType.All\n ) {\n this.setMonth(today.month);\n }\n if (\n (type === null && prev.date === null) ||\n type === InternalDateComponentType.Date ||\n type === InternalDateComponentType.All\n ) {\n this.setDate(today.date);\n }\n return this;\n }\n\n public cutOffExcess(\n type: InternalDateComponentType | null = null,\n { isLoop = false, isRange, isCutFeb = false }: InternalDateChangeSettings = {},\n ): InternalDate {\n const { year, month, date } = this.components;\n if ((type === null || type === InternalDateComponentType.Year) && InternalDateValidator.testParseToNumber(year)) {\n this.shiftYear(0, { isLoop, isRange, isCutFeb });\n }\n if ((type === null || type === InternalDateComponentType.Month) && InternalDateValidator.testParseToNumber(month)) {\n this.shiftMonth(0, { isLoop, isRange, isCutFeb });\n }\n if ((type === null || type === InternalDateComponentType.Date) && InternalDateValidator.testParseToNumber(date)) {\n this.shiftDate(0, { isLoop, isRange, isCutFeb });\n }\n return this;\n }\n\n public isIncomplete(): boolean {\n return !this.isEmpty() && Object.values(this.components).some((component) => component === null);\n }\n\n public isEmpty(): boolean {\n return Object.values(this.components).every((component) => component === null);\n }\n\n public isEqualComponentDate(type: InternalDateComponentType | null, compared: InternalDate): boolean {\n return this.get(type) === compared.get(type);\n }\n\n public isEqual(compared: InternalDate): boolean {\n return (\n InternalDateValidator.isEqualDateValues(this, compared) &&\n InternalDateValidator.isEqualDateFormats(this, compared)\n );\n }\n\n private getMinValue(type: InternalDateComponentType, isRange?: boolean): number {\n if (isRange === true && this.start !== null) {\n return Number(\n InternalDateCalculator.calcRangeStartDateComponent(\n type,\n this.getComponentsLikeNumber(),\n this.start.getComponentsLikeNumber(),\n ),\n );\n }\n return InternalDateGetter.getDefaultMin(type);\n }\n\n private getMaxValue(\n type: InternalDateComponentType,\n { isRange, isCutFeb }: { isRange?: boolean; isCutFeb?: boolean } = {},\n ): number {\n if (isRange && this.end !== null) {\n return Number(\n InternalDateCalculator.calcRangeEndDateComponent(\n type,\n this.getComponentsLikeNumber(),\n this.end.getComponentsLikeNumber(),\n ),\n );\n }\n if (!isCutFeb) {\n return InternalDateGetter.getDefaultMax(type);\n }\n return InternalDateGetter.getDefaultMax(type, this.getComponentsLikeNumber());\n }\n}\n"]}
1
+ {"version":3,"sources":["InternalDate.ts"],"names":["defaultLangCode","defaultDateComponentsOrder","defaultDateComponentsSeparator","emptyDateComponents","InternalDateCalculator","InternalDateGetter","InternalDateSetter","InternalDateTransformer","InternalDateValidator","internalDateLocale","InternalDateComponentType","InternalDateOrder","InternalDateValidateCheck","isInternalDateValidateCheck","getRestoreYear","prev","today","year","testParseToNumber","Number","InternalDate","order","separator","langCode","value","components","start","end","undefined","parseInternalValue","getComponentsRaw","getComponentsLikeNumber","dateComponentsStringToNumber","getSeparator","getOrder","getYear","getMonth","month","getDate","date","getRangeStart","getRangeEnd","setOrder","setSeparator","setComponents","isNativeMonth","clone","shiftMonth","validate","checks","Native","setYear","setMonth","setDate","shiftYear","step","isLoop","isRange","isCutFeb","min","getMinValue","Year","max","getMaxValue","calcShiftValueDateComponent","Month","shiftDate","Date","setRangeStart","internalDate","setRangeEnd","get","type","getValueDateComponent","set","setValueDateComponent","shift","settings","shiftValueDateComponent","parseValue","parseValueToDate","DMY","nextValue","Object","values","filter","self","includes","NotNull","checkForNull","every","Limits","checkLimits","compareWithNativeDate","Range","checkRangePiecemeal","checkRangeFully","toNumber","toFragments","dateToFragments","YMD","withPad","map","valueWithPad","join","toString","withSeparator","Separator","toInternalString","dateToInternalString","toNativeFormat","duplicateOf","pattern","restore","getTodayComponents","restoreYear","All","cutOffExcess","isIncomplete","isEmpty","some","component","isEqualComponentDate","compared","isEqual","isEqualDateValues","isEqualDateFormats","calcRangeStartDateComponent","getDefaultMin","calcRangeEndDateComponent","getDefaultMax"],"mappings":"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","sourcesContent":["import { defaultLangCode } from '../locale/constants';\n\nimport { defaultDateComponentsOrder, defaultDateComponentsSeparator, emptyDateComponents } from './constants';\nimport { InternalDateCalculator } from './InternalDateCalculator';\nimport { InternalDateGetter } from './InternalDateGetter';\nimport { InternalDateSetter } from './InternalDateSetter';\nimport { InternalDateTransformer } from './InternalDateTransformer';\nimport { InternalDateValidator } from './InternalDateValidator';\nimport { internalDateLocale } from './localeSets';\nimport {\n InternalDateChangeSettings,\n InternalDateComponentRaw,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n InternalDateConstructorProps,\n InternalDateFragment,\n InternalDateOrder,\n InternalDateSeparator,\n InternalDateToFragmentsSettings,\n InternalDateValidateCheck,\n isInternalDateValidateCheck,\n} from './types';\n\nconst getRestoreYear = (\n prev: InternalDateComponentsRaw,\n today: ReturnType<typeof InternalDateGetter.getTodayComponents>,\n) => {\n if (prev.year !== null && InternalDateValidator.testParseToNumber(prev.year)) {\n if (prev.year > 50 && prev.year < 100) {\n return Number(prev.year) + 1900;\n } else if (prev.year > 0 && prev.year < 51) {\n return Number(prev.year) + 2000;\n }\n\n return prev.year;\n }\n\n return today.year;\n};\n\nexport class InternalDate {\n private order: InternalDateOrder;\n private separator: InternalDateSeparator;\n private components: InternalDateComponentsRaw = { ...emptyDateComponents };\n\n private start: InternalDate | null = null;\n private end: InternalDate | null = null;\n\n public constructor({ order, separator, langCode = defaultLangCode, value }: InternalDateConstructorProps = {}) {\n this.order = order ?? internalDateLocale[langCode].order;\n this.separator = separator ?? internalDateLocale[langCode].separator;\n if (value !== undefined) {\n this.parseInternalValue(value);\n }\n }\n\n public getComponentsRaw(): InternalDateComponentsRaw {\n return { ...this.components };\n }\n\n public getComponentsLikeNumber(): InternalDateComponentsNumber {\n return InternalDateTransformer.dateComponentsStringToNumber(this.getComponentsRaw());\n }\n\n public getSeparator(): InternalDateSeparator {\n return this.separator;\n }\n\n public getOrder(): InternalDateOrder {\n return this.order;\n }\n\n public getYear(): InternalDateComponentRaw {\n return this.components.year;\n }\n\n public getMonth(): InternalDateComponentRaw {\n return this.components.month;\n }\n\n public getDate(): InternalDateComponentRaw {\n return this.components.date;\n }\n\n public getRangeStart(): InternalDate | null {\n return this.start;\n }\n\n public getRangeEnd(): InternalDate | null {\n return this.end;\n }\n\n public setOrder(order: InternalDateOrder = defaultDateComponentsOrder): InternalDate {\n this.order = order;\n return this;\n }\n\n public setSeparator(separator: InternalDateSeparator = defaultDateComponentsSeparator): InternalDate {\n this.separator = separator;\n return this;\n }\n\n public setComponents(components: InternalDateComponentsRaw | null, isNativeMonth = false): InternalDate {\n if (components && isNativeMonth) {\n const clone = this.clone().setComponents(components).shiftMonth(1);\n if (clone.validate({ checks: [InternalDateValidateCheck.Native] })) {\n this.components = { ...clone.getComponentsLikeNumber() };\n }\n return this;\n }\n this.components = components || { ...emptyDateComponents };\n return this;\n }\n\n public setYear(year: InternalDateComponentRaw): InternalDate {\n this.components.year = year;\n return this;\n }\n\n public setMonth(month: InternalDateComponentRaw): InternalDate {\n this.components.month = month;\n return this;\n }\n\n public setDate(date: InternalDateComponentRaw): InternalDate {\n this.components.date = date;\n return this;\n }\n\n public shiftYear(step: number, { isLoop, isRange, isCutFeb }: InternalDateChangeSettings = {}): InternalDate {\n const min = this.getMinValue(InternalDateComponentType.Year, isRange);\n const max = this.getMaxValue(InternalDateComponentType.Year, { isRange, isCutFeb });\n const { year } = this.getComponentsLikeNumber();\n this.components.year = InternalDateCalculator.calcShiftValueDateComponent(step, year, min, max, isLoop);\n return this;\n }\n\n public shiftMonth(step: number, { isLoop, isRange, isCutFeb }: InternalDateChangeSettings = {}): InternalDate {\n const min = this.getMinValue(InternalDateComponentType.Month, isRange);\n const max = this.getMaxValue(InternalDateComponentType.Month, { isRange, isCutFeb });\n const { month } = this.getComponentsLikeNumber();\n this.components.month = InternalDateCalculator.calcShiftValueDateComponent(step, month, min, max, isLoop);\n return this;\n }\n\n public shiftDate(step: number, { isLoop, isRange, isCutFeb }: InternalDateChangeSettings = {}): InternalDate {\n const min = this.getMinValue(InternalDateComponentType.Date, isRange);\n const max = this.getMaxValue(InternalDateComponentType.Date, { isRange, isCutFeb });\n const { date } = this.getComponentsLikeNumber();\n this.components.date = InternalDateCalculator.calcShiftValueDateComponent(step, date, min, max, isLoop);\n return this;\n }\n\n public setRangeStart(internalDate: InternalDate | null): InternalDate {\n this.start = internalDate;\n return this;\n }\n\n public setRangeEnd(internalDate: InternalDate | null): InternalDate {\n this.end = internalDate;\n return this;\n }\n\n public get(type: InternalDateComponentType | null): InternalDateComponentRaw {\n return type !== null ? InternalDateGetter.getValueDateComponent(type, this.getComponentsRaw()) : null;\n }\n\n public set(type: InternalDateComponentType | null, value: InternalDateComponentRaw): InternalDate {\n return type !== null ? InternalDateSetter.setValueDateComponent(this, type, value) : this;\n }\n\n public shift(\n type: InternalDateComponentType | null,\n step: number,\n settings?: InternalDateChangeSettings,\n ): InternalDate {\n return type !== null ? InternalDateSetter.shiftValueDateComponent(this, type, step, settings) : this;\n }\n\n public parseValue(value: string | null = ''): InternalDate {\n const components = InternalDateTransformer.parseValueToDate(value, this.order) || { ...emptyDateComponents };\n this.setComponents(components);\n return this;\n }\n\n public parseInternalValue(value: string | null = ''): InternalDate {\n const components = InternalDateTransformer.parseValueToDate(value, InternalDateOrder.DMY) || {\n ...emptyDateComponents,\n };\n this.setComponents(components);\n return this;\n }\n\n public validate({\n type,\n nextValue,\n checks = Object.values(InternalDateValidateCheck).filter<InternalDateValidateCheck>(isInternalDateValidateCheck),\n }: {\n type?: InternalDateComponentType;\n nextValue?: InternalDateComponentRaw;\n checks?: InternalDateValidateCheck[];\n } = {}): boolean {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let self: InternalDate = this;\n if (type !== undefined) {\n const clone = this.clone();\n if (nextValue !== undefined) {\n clone.set(type, nextValue);\n }\n self = clone;\n }\n if (\n checks.includes(InternalDateValidateCheck.NotNull) &&\n !InternalDateValidator.checkForNull(self.getComponentsRaw(), type)\n ) {\n return false;\n }\n if (\n checks.includes(InternalDateValidateCheck.Number) &&\n !Object.values(self.getComponentsRaw()).every(InternalDateValidator.testParseToNumber)\n ) {\n return false;\n }\n if (\n checks.includes(InternalDateValidateCheck.Limits) &&\n !InternalDateValidator.checkLimits(self.getComponentsLikeNumber(), type)\n ) {\n return false;\n }\n if (\n checks.includes(InternalDateValidateCheck.Native) &&\n !InternalDateValidator.compareWithNativeDate(self.getComponentsLikeNumber())\n ) {\n return false;\n }\n if (checks.includes(InternalDateValidateCheck.Range)) {\n return type !== undefined\n ? InternalDateValidator.checkRangePiecemeal(\n type,\n self.getComponentsLikeNumber(),\n self.start && self.start.getComponentsLikeNumber(),\n self.end && self.end.getComponentsLikeNumber(),\n )\n : InternalDateValidator.checkRangeFully(\n self.toNumber(),\n self.start && self.start.toNumber(),\n self.end && self.end.toNumber(),\n );\n }\n return true;\n }\n\n public toFragments(\n settings: InternalDateToFragmentsSettings = {},\n components: InternalDateComponentsRaw = this.getComponentsRaw(),\n ): InternalDateFragment[] {\n return InternalDateTransformer.dateToFragments(components, {\n order: this.order,\n separator: this.separator,\n ...settings,\n });\n }\n\n /**\n * Перевод даты в числовое представление (**НЕ** аналог `timestamp`)\n * Предназначено для быстрого сравнивания дат `<=>`\n */\n public toNumber(): number {\n return Number(\n this.toFragments({ order: InternalDateOrder.YMD, withPad: true })\n .map(({ valueWithPad }) => valueWithPad)\n .join(''),\n );\n }\n\n public toString(settings: InternalDateToFragmentsSettings = {}): string {\n return this.toFragments({ withPad: true, withSeparator: true, ...settings })\n .filter(({ value }) => value !== null)\n .map(({ type, valueWithPad, value }) =>\n settings.withPad && type !== InternalDateComponentType.Separator ? valueWithPad : value,\n )\n .join('');\n }\n\n public toInternalString(): string {\n return InternalDateTransformer.dateToInternalString(this.getComponentsRaw());\n }\n\n public toNativeFormat(): InternalDateComponentsNumber | null {\n const components = this.getComponentsLikeNumber();\n if (InternalDateValidator.compareWithNativeDate(components)) {\n return { ...components, month: components.month - 1 };\n }\n return null;\n }\n\n public clone(): InternalDate {\n return new InternalDate({ order: this.order, separator: this.separator })\n .setComponents({ ...this.components })\n .setRangeStart(this.start && this.start.clone())\n .setRangeEnd(this.end && this.end.clone());\n }\n\n public duplicateOf(pattern: InternalDate): InternalDate {\n return this.setComponents(pattern.getComponentsRaw());\n }\n\n public restore(type: InternalDateComponentType | null = null): InternalDate {\n const prev = this.getComponentsRaw();\n const today = InternalDateGetter.getTodayComponents();\n\n if (prev.year === null && prev.month === null && prev.date === null) {\n return this;\n }\n\n const restoreYear = getRestoreYear(prev, today);\n\n if (\n (type === null && restoreYear !== prev.year) ||\n type === InternalDateComponentType.Year ||\n type === InternalDateComponentType.All\n ) {\n this.setYear(restoreYear);\n }\n\n if (\n (type === null && prev.month === null) ||\n type === InternalDateComponentType.Month ||\n type === InternalDateComponentType.All\n ) {\n this.setMonth(today.month);\n }\n\n if (\n (type === null && prev.date === null) ||\n type === InternalDateComponentType.Date ||\n type === InternalDateComponentType.All\n ) {\n this.setDate(today.date);\n }\n\n return this;\n }\n\n public cutOffExcess(\n type: InternalDateComponentType | null = null,\n { isLoop = false, isRange, isCutFeb = false }: InternalDateChangeSettings = {},\n ): InternalDate {\n const { year, month, date } = this.components;\n if ((type === null || type === InternalDateComponentType.Year) && InternalDateValidator.testParseToNumber(year)) {\n this.shiftYear(0, { isLoop, isRange, isCutFeb });\n }\n if ((type === null || type === InternalDateComponentType.Month) && InternalDateValidator.testParseToNumber(month)) {\n this.shiftMonth(0, { isLoop, isRange, isCutFeb });\n }\n if ((type === null || type === InternalDateComponentType.Date) && InternalDateValidator.testParseToNumber(date)) {\n this.shiftDate(0, { isLoop, isRange, isCutFeb });\n }\n return this;\n }\n\n public isIncomplete(): boolean {\n return !this.isEmpty() && Object.values(this.components).some((component) => component === null);\n }\n\n public isEmpty(): boolean {\n return Object.values(this.components).every((component) => component === null);\n }\n\n public isEqualComponentDate(type: InternalDateComponentType | null, compared: InternalDate): boolean {\n return this.get(type) === compared.get(type);\n }\n\n public isEqual(compared: InternalDate): boolean {\n return (\n InternalDateValidator.isEqualDateValues(this, compared) &&\n InternalDateValidator.isEqualDateFormats(this, compared)\n );\n }\n\n private getMinValue(type: InternalDateComponentType, isRange?: boolean): number {\n if (isRange === true && this.start !== null) {\n return Number(\n InternalDateCalculator.calcRangeStartDateComponent(\n type,\n this.getComponentsLikeNumber(),\n this.start.getComponentsLikeNumber(),\n ),\n );\n }\n return InternalDateGetter.getDefaultMin(type);\n }\n\n private getMaxValue(\n type: InternalDateComponentType,\n { isRange, isCutFeb }: { isRange?: boolean; isCutFeb?: boolean } = {},\n ): number {\n if (isRange && this.end !== null) {\n return Number(\n InternalDateCalculator.calcRangeEndDateComponent(\n type,\n this.getComponentsLikeNumber(),\n this.end.getComponentsLikeNumber(),\n ),\n );\n }\n if (!isCutFeb) {\n return InternalDateGetter.getDefaultMax(type);\n }\n return InternalDateGetter.getDefaultMax(type, this.getComponentsLikeNumber());\n }\n}\n"]}
@@ -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,25 +1,41 @@
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) {
20
34
  if (type === InternalDateComponentType.Year) {
21
35
  return components.year;
22
- } else if (type === InternalDateComponentType.Month) {
36
+ }
37
+
38
+ if (type === InternalDateComponentType.Month) {
23
39
  return components.month;
24
40
  }
25
41
 
@@ -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 }\n\n if (type === InternalDateComponentType.Month) {\n return components.month;\n }\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 | null, 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"]}
@@ -6,7 +6,7 @@ export declare class InternalDateGetter {
6
6
  static getMaxDaysInMonth(month: number, year?: number): number;
7
7
  static getValueDateComponent(type: InternalDateComponentType | null, components: InternalDateComponentsRaw): InternalDateComponentRaw;
8
8
  static getDefaultMin(type: InternalDateComponentType): number;
9
- static getDefaultMax(type: InternalDateComponentType, components?: InternalDateComponents): number;
9
+ static getDefaultMax(type: InternalDateComponentType | null, components?: InternalDateComponents): number;
10
10
  static getTodayComponents(): {
11
11
  date: number;
12
12
  month: number;
@@ -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,19 +1,56 @@
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
+
20
+ var getValue = function getValue(type, _ref) {
21
+ var year = _ref.year,
22
+ month = _ref.month,
23
+ date = _ref.date;
24
+
25
+ if (type === InternalDateComponentType.Year) {
26
+ return year;
27
+ }
28
+
29
+ if (type === InternalDateComponentType.Month) {
30
+ return month;
31
+ }
32
+
33
+ return date;
34
+ };
35
+
3
36
  export var InternalDateValidator = /*#__PURE__*/function () {
4
37
  function InternalDateValidator() {}
5
38
 
6
- InternalDateValidator.checkForNull = function checkForNull(_ref, type) {
7
- var year = _ref.year,
8
- month = _ref.month,
9
- date = _ref.date;
39
+ InternalDateValidator.checkForNull = function checkForNull(_ref2, type) {
40
+ var year = _ref2.year,
41
+ month = _ref2.month,
42
+ date = _ref2.date;
10
43
 
11
44
  if (type !== undefined) {
12
45
  if (type === InternalDateComponentType.Year) {
13
46
  return year !== null;
14
- } else if (type === InternalDateComponentType.Month) {
47
+ }
48
+
49
+ if (type === InternalDateComponentType.Month) {
15
50
  return month !== null;
16
- } else if (type === InternalDateComponentType.All) {
51
+ }
52
+
53
+ if (type === InternalDateComponentType.All) {
17
54
  return year !== null && month !== null && date !== null;
18
55
  }
19
56
 
@@ -23,23 +60,27 @@ export var InternalDateValidator = /*#__PURE__*/function () {
23
60
  return !(year === null || month === null || date === null);
24
61
  };
25
62
 
26
- InternalDateValidator.checkLimits = function checkLimits(_ref2, type) {
27
- var year = _ref2.year,
28
- month = _ref2.month,
29
- date = _ref2.date;
63
+ InternalDateValidator.checkLimits = function checkLimits(_ref3, type) {
64
+ var year = _ref3.year,
65
+ month = _ref3.month,
66
+ date = _ref3.date;
30
67
 
31
68
  if (type !== undefined) {
32
- var value = type === InternalDateComponentType.Year ? year : type === InternalDateComponentType.Month ? month : date;
69
+ var value = getValue(type, {
70
+ date: date,
71
+ month: month,
72
+ year: year
73
+ });
33
74
  return value >= InternalDateGetter.getDefaultMin(type) && value <= InternalDateGetter.getDefaultMax(type);
34
75
  }
35
76
 
36
77
  return year >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Year) && year <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Year) && month >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Month) && month <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Month) && date >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Date) && date <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Date);
37
78
  };
38
79
 
39
- InternalDateValidator.compareWithNativeDate = function compareWithNativeDate(_ref3) {
40
- var year = _ref3.year,
41
- month = _ref3.month,
42
- date = _ref3.date;
80
+ InternalDateValidator.compareWithNativeDate = function compareWithNativeDate(_ref4) {
81
+ var year = _ref4.year,
82
+ month = _ref4.month,
83
+ date = _ref4.date;
43
84
  var nativeDate = new Date(Date.UTC(year, month - 1, date));
44
85
  return nativeDate.getUTCFullYear() === year && nativeDate.getUTCMonth() + 1 === month && nativeDate.getUTCDate() === date;
45
86
  };
@@ -49,35 +90,35 @@ export var InternalDateValidator = /*#__PURE__*/function () {
49
90
  return true;
50
91
  }
51
92
 
52
- startDate = startDate || -Infinity;
53
- endDate = endDate || Infinity;
54
- return date >= startDate && date <= endDate;
93
+ var calculatedEndDate = calculateEndDate(endDate);
94
+ var calculatedStartDate = calculateStartDate(startDate);
95
+ return date >= calculatedStartDate && date <= calculatedEndDate;
55
96
  };
56
97
 
57
- InternalDateValidator.checkRangePiecemeal = function checkRangePiecemeal(type, _ref4, startComponents, endComponents) {
58
- var year = _ref4.year,
59
- month = _ref4.month,
60
- date = _ref4.date;
98
+ InternalDateValidator.checkRangePiecemeal = function checkRangePiecemeal(type, _ref5, startComponents, endComponents) {
99
+ var year = _ref5.year,
100
+ month = _ref5.month,
101
+ date = _ref5.date;
61
102
 
62
103
  if (startComponents === null && endComponents === null) {
63
104
  return true;
64
105
  }
65
106
 
66
- var _ref5 = startComponents || {},
67
- _ref5$year = _ref5.year,
68
- startYear = _ref5$year === void 0 ? -Infinity : _ref5$year,
69
- _ref5$month = _ref5.month,
70
- startMonth = _ref5$month === void 0 ? -Infinity : _ref5$month,
71
- _ref5$date = _ref5.date,
72
- startDate = _ref5$date === void 0 ? -Infinity : _ref5$date;
73
-
74
- var _ref6 = endComponents || {},
107
+ var _ref6 = startComponents || {},
75
108
  _ref6$year = _ref6.year,
76
- endYear = _ref6$year === void 0 ? Infinity : _ref6$year,
109
+ startYear = _ref6$year === void 0 ? -Infinity : _ref6$year,
77
110
  _ref6$month = _ref6.month,
78
- endMonth = _ref6$month === void 0 ? Infinity : _ref6$month,
111
+ startMonth = _ref6$month === void 0 ? -Infinity : _ref6$month,
79
112
  _ref6$date = _ref6.date,
80
- endDate = _ref6$date === void 0 ? Infinity : _ref6$date;
113
+ startDate = _ref6$date === void 0 ? -Infinity : _ref6$date;
114
+
115
+ var _ref7 = endComponents || {},
116
+ _ref7$year = _ref7.year,
117
+ endYear = _ref7$year === void 0 ? Infinity : _ref7$year,
118
+ _ref7$month = _ref7.month,
119
+ endMonth = _ref7$month === void 0 ? Infinity : _ref7$month,
120
+ _ref7$date = _ref7.date,
121
+ endDate = _ref7$date === void 0 ? Infinity : _ref7$date;
81
122
 
82
123
  if (type === InternalDateComponentType.Year) {
83
124
  return !(year < startYear || year > endYear);
@@ -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":";AACA,SAASA,kBAAT,QAAmC,sBAAnC;AACA;;;;AAIEC,yBAJF;AAKO,SALP;;AAOA,WAAaC,qBAAb;AACgBC,EAAAA,YADhB,GACE,4BAA6EC,IAA7E,EAA+G,KAAlFC,IAAkF,QAAlFA,IAAkF,CAA5EC,KAA4E,QAA5EA,KAA4E,CAArEC,IAAqE,QAArEA,IAAqE;AAC7G,QAAIH,IAAI,KAAKI,SAAb,EAAwB;AACtB,UAAIJ,IAAI,KAAKH,yBAAyB,CAACQ,IAAvC,EAA6C;AAC3C,eAAOJ,IAAI,KAAK,IAAhB;AACD,OAFD,MAEO,IAAID,IAAI,KAAKH,yBAAyB,CAACS,KAAvC,EAA8C;AACnD,eAAOJ,KAAK,KAAK,IAAjB;AACD,OAFM,MAEA,IAAIF,IAAI,KAAKH,yBAAyB,CAACU,GAAvC,EAA4C;AACjD,eAAON,IAAI,KAAK,IAAT,IAAiBC,KAAK,KAAK,IAA3B,IAAmCC,IAAI,KAAK,IAAnD;AACD;AACD,aAAOA,IAAI,KAAK,IAAhB;AACD;AACD,WAAO,EAAEF,IAAI,KAAK,IAAT,IAAiBC,KAAK,KAAK,IAA3B,IAAmCC,IAAI,KAAK,IAA9C,CAAP;AACD,GAbH;;AAegBK,EAAAA,WAfhB,GAeE;;AAEER,EAAAA,IAFF;AAGW,OAFPC,IAEO,SAFPA,IAEO,CAFDC,KAEC,SAFDA,KAEC,CAFMC,IAEN,SAFMA,IAEN;AACT,QAAIH,IAAI,KAAKI,SAAb,EAAwB;AACtB,UAAMK,KAAK;AACTT,MAAAA,IAAI,KAAKH,yBAAyB,CAACQ,IAAnC,GAA0CJ,IAA1C,GAAiDD,IAAI,KAAKH,yBAAyB,CAACS,KAAnC,GAA2CJ,KAA3C,GAAmDC,IADtG;;AAGA,aAAOM,KAAK,IAAIb,kBAAkB,CAACc,aAAnB,CAAiCV,IAAjC,CAAT,IAAmDS,KAAK,IAAIb,kBAAkB,CAACe,aAAnB,CAAiCX,IAAjC,CAAnE;AACD;AACD;AACEC,MAAAA,IAAI,IAAIL,kBAAkB,CAACc,aAAnB,CAAiCb,yBAAyB,CAACQ,IAA3D,CAAR;AACAJ,MAAAA,IAAI,IAAIL,kBAAkB,CAACe,aAAnB,CAAiCd,yBAAyB,CAACQ,IAA3D,CADR;AAEAH,MAAAA,KAAK,IAAIN,kBAAkB,CAACc,aAAnB,CAAiCb,yBAAyB,CAACS,KAA3D,CAFT;AAGAJ,MAAAA,KAAK,IAAIN,kBAAkB,CAACe,aAAnB,CAAiCd,yBAAyB,CAACS,KAA3D,CAHT;AAIAH,MAAAA,IAAI,IAAIP,kBAAkB,CAACc,aAAnB,CAAiCb,yBAAyB,CAACe,IAA3D,CAJR;AAKAT,MAAAA,IAAI,IAAIP,kBAAkB,CAACe,aAAnB,CAAiCd,yBAAyB,CAACe,IAA3D,CANV;;AAQD,GAjCH;;AAmCgBC,EAAAA,qBAnChB,GAmCE,sCAAkG,KAA5DZ,IAA4D,SAA5DA,IAA4D,CAAtDC,KAAsD,SAAtDA,KAAsD,CAA/CC,IAA+C,SAA/CA,IAA+C;AAChG,QAAMW,UAAgB,GAAG,IAAIF,IAAJ,CAASA,IAAI,CAACG,GAAL,CAASd,IAAT,EAAeC,KAAK,GAAG,CAAvB,EAA0BC,IAA1B,CAAT,CAAzB;AACA;AACEW,MAAAA,UAAU,CAACE,cAAX,OAAgCf,IAAhC,IAAwCa,UAAU,CAACG,WAAX,KAA2B,CAA3B,KAAiCf,KAAzE,IAAkFY,UAAU,CAACI,UAAX,OAA4Bf,IADhH;;AAGD,GAxCH;;AA0CgBgB,EAAAA,eA1ChB,GA0CE,yBAA8BhB,IAA9B,EAA4CiB,SAA5C,EAAsEC,OAAtE,EAAuG;AACrG,QAAID,SAAS,KAAK,IAAd,IAAsBC,OAAO,KAAK,IAAtC,EAA4C;AAC1C,aAAO,IAAP;AACD;AACDD,IAAAA,SAAS,GAAGA,SAAS,IAAI,CAACE,QAA1B;AACAD,IAAAA,OAAO,GAAGA,OAAO,IAAIC,QAArB;AACA,WAAOnB,IAAI,IAAIiB,SAAR,IAAqBjB,IAAI,IAAIkB,OAApC;AACD,GAjDH;;AAmDgBE,EAAAA,mBAnDhB,GAmDE;AACEvB,EAAAA,IADF;;AAGEwB,EAAAA,eAHF;AAIEC,EAAAA,aAJF;AAKW,OAHPxB,IAGO,SAHPA,IAGO,CAHDC,KAGC,SAHDA,KAGC,CAHMC,IAGN,SAHMA,IAGN;AACT,QAAIqB,eAAe,KAAK,IAApB,IAA4BC,aAAa,KAAK,IAAlD,EAAwD;AACtD,aAAO,IAAP;AACD;AACD;;;;AAIID,IAAAA,eAAe,IAAI,EAJvB,oBACEvB,IADF,CACQyB,SADR,2BACoB,CAACJ,QADrB,kCAEEpB,KAFF,CAESyB,UAFT,4BAEsB,CAACL,QAFvB,kCAGEnB,IAHF,CAGQiB,SAHR,2BAGoB,CAACE,QAHrB;AAKA,gBAA2FG,aAAa,IAAI,EAA5G,oBAAQxB,IAAR,CAAc2B,OAAd,2BAAwBN,QAAxB,kCAAkCpB,KAAlC,CAAyC2B,QAAzC,4BAAoDP,QAApD,kCAA8DnB,IAA9D,CAAoEkB,OAApE,2BAA8EC,QAA9E;;AAEA,QAAItB,IAAI,KAAKH,yBAAyB,CAACQ,IAAvC,EAA6C;AAC3C,aAAO,EAAEJ,IAAI,GAAGyB,SAAP,IAAoBzB,IAAI,GAAG2B,OAA7B,CAAP;AACD,KAFD,MAEO,IAAI5B,IAAI,KAAKH,yBAAyB,CAACS,KAAvC,EAA8C;AACnD,aAAO,EAAGL,IAAI,KAAKyB,SAAT,IAAsBxB,KAAK,GAAGyB,UAA/B,IAA+C1B,IAAI,KAAK2B,OAAT,IAAoB1B,KAAK,GAAG2B,QAA7E,CAAP;AACD,KAFM,MAEA,IAAI7B,IAAI,KAAKH,yBAAyB,CAACe,IAAvC,EAA6C;AAClD,aAAO;AACJX,MAAAA,IAAI,KAAKyB,SAAT,IAAsBxB,KAAK,KAAKyB,UAAhC,IAA8CxB,IAAI,GAAGiB,SAAtD;AACCnB,MAAAA,IAAI,KAAK2B,OAAT,IAAoB1B,KAAK,KAAK2B,QAA9B,IAA0C1B,IAAI,GAAGkB,OAF7C,CAAP;;AAID;AACD,WAAO,IAAP;AACD,GA9EH;;AAgFgBS,EAAAA,iBAhFhB,GAgFE,2BAAgCrB,KAAhC,EAA0E;AACxE,WAAOA,KAAK,KAAK,IAAV,KAAmB,OAAOA,KAAP,KAAiB,QAAjB,IAA6B,CAACsB,MAAM,CAACC,KAAP,CAAaC,QAAQ,CAACxB,KAAD,EAAQ,EAAR,CAArB,CAAjD,CAAP;AACD,GAlFH;;AAoFgByB,EAAAA,iBApFhB,GAoFE,2BAAgCC,CAAhC,EAAiDC,CAAjD,EAA2E;AACzE,WAAOD,CAAC,CAACE,gBAAF,OAAyBD,CAAC,CAACC,gBAAF,EAAhC;AACD,GAtFH;;AAwFgBC,EAAAA,kBAxFhB,GAwFE,4BAAiCH,CAAjC,EAAkDC,CAAlD,EAA4E;AAC1E,WAAOD,CAAC,CAACI,QAAF,OAAiBH,CAAC,CAACG,QAAF,EAAjB,IAAiCJ,CAAC,CAACK,YAAF,OAAqBJ,CAAC,CAACI,YAAF,EAA7D;AACD,GA1FH","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","getValue","type","year","month","date","Year","Month","InternalDateValidator","checkForNull","undefined","All","checkLimits","value","getDefaultMin","getDefaultMax","Date","compareWithNativeDate","nativeDate","UTC","getUTCFullYear","getUTCMonth","getUTCDate","checkRangeFully","calculatedEndDate","calculatedStartDate","checkRangePiecemeal","startComponents","endComponents","startYear","startMonth","endYear","endMonth","testParseToNumber","Number","isNaN","parseInt","isEqualDateValues","a","b","toInternalString","isEqualDateFormats","getOrder","getSeparator"],"mappings":"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","sourcesContent":["import { InternalDate } from './InternalDate';\nimport { InternalDateGetter } from './InternalDateGetter';\nimport {\n InternalDateComponentRaw,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n} from './types';\n\nconst calculateStartDate = (startDate: number | null) => {\n if (startDate) {\n return startDate;\n }\n\n return -Infinity;\n};\n\nconst calculateEndDate = (endDate: number | null) => {\n if (endDate) {\n return endDate;\n }\n\n return Infinity;\n};\n\nconst getValue = (type: InternalDateComponentType, { year, month, date }: InternalDateComponentsNumber) => {\n if (type === InternalDateComponentType.Year) {\n return year;\n }\n\n if (type === InternalDateComponentType.Month) {\n return month;\n }\n\n return date;\n};\n\nexport class InternalDateValidator {\n public static checkForNull({ year, month, date }: InternalDateComponentsRaw, type?: InternalDateComponentType) {\n if (type !== undefined) {\n if (type === InternalDateComponentType.Year) {\n return year !== null;\n }\n\n if (type === InternalDateComponentType.Month) {\n return month !== null;\n }\n\n if (type === InternalDateComponentType.All) {\n return year !== null && month !== null && date !== null;\n }\n\n return date !== null;\n }\n\n return !(year === null || month === null || date === null);\n }\n\n public static checkLimits(\n { year, month, date }: InternalDateComponentsNumber,\n type?: InternalDateComponentType,\n ): boolean {\n if (type !== undefined) {\n const value = getValue(type, { date, month, year });\n\n return value >= InternalDateGetter.getDefaultMin(type) && value <= InternalDateGetter.getDefaultMax(type);\n }\n\n return (\n year >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Year) &&\n year <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Year) &&\n month >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Month) &&\n month <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Month) &&\n date >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Date) &&\n date <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Date)\n );\n }\n\n public static compareWithNativeDate({ year, month, date }: InternalDateComponentsNumber): boolean {\n const nativeDate: Date = new Date(Date.UTC(year, month - 1, date));\n return (\n nativeDate.getUTCFullYear() === year && nativeDate.getUTCMonth() + 1 === month && nativeDate.getUTCDate() === date\n );\n }\n\n public static checkRangeFully(date: number, startDate: number | null, endDate: number | null): boolean {\n if (startDate === null && endDate === null) {\n return true;\n }\n\n const calculatedEndDate = calculateEndDate(endDate);\n const calculatedStartDate = calculateStartDate(startDate);\n return date >= calculatedStartDate && date <= calculatedEndDate;\n }\n\n public static checkRangePiecemeal(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponentsNumber,\n startComponents: InternalDateComponentsNumber | null,\n endComponents: InternalDateComponentsNumber | null,\n ): boolean {\n if (startComponents === null && endComponents === null) {\n return true;\n }\n const {\n year: startYear = -Infinity,\n month: startMonth = -Infinity,\n date: startDate = -Infinity,\n } = startComponents || {};\n const { year: endYear = Infinity, month: endMonth = Infinity, date: endDate = Infinity } = endComponents || {};\n\n if (type === InternalDateComponentType.Year) {\n return !(year < startYear || year > endYear);\n } else if (type === InternalDateComponentType.Month) {\n return !((year === startYear && month < startMonth) || (year === endYear && month > endMonth));\n } else if (type === InternalDateComponentType.Date) {\n return !(\n (year === startYear && month === startMonth && date < startDate) ||\n (year === endYear && month === endMonth && date > endDate)\n );\n }\n return true;\n }\n\n public static testParseToNumber(value: InternalDateComponentRaw): boolean {\n return value !== null && (typeof value === 'number' || !Number.isNaN(parseInt(value, 10)));\n }\n\n public static isEqualDateValues(a: InternalDate, b: InternalDate): boolean {\n return a.toInternalString() === b.toInternalString();\n }\n\n public static isEqualDateFormats(a: InternalDate, b: InternalDate): boolean {\n return a.getOrder() === b.getOrder() && a.getSeparator() === b.getSeparator();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["types.ts"],"names":["InternalDateOrder","InternalDateSeparator","InternalDateComponentType","InternalDateValidateCheck","isInternalDateValidateCheck","value","Object","values","includes","InternalDateFirstDayWeek","InternalDateDayWeek"],"mappings":";;AAEA,WAAYA,iBAAZ,C,WAAYA,iB,GAAAA,iB,gBAAAA,iB,gBAAAA,iB,mBAAAA,iB,KAAAA,iB;;;;;;AAMZ,WAAYC,qBAAZ,C,WAAYA,qB,GAAAA,qB,gBAAAA,qB,cAAAA,qB,eAAAA,qB,mBAAAA,qB,KAAAA,qB;;;;;;;AAOZ,WAAYC,yBAAZ,C,WAAYA,yB,GAAAA,yB,CAAAA,yB,uBAAAA,yB,CAAAA,yB,yBAAAA,yB,CAAAA,yB,uBAAAA,yB,CAAAA,yB,qBAAAA,yB,CAAAA,yB,oCAAAA,yB,KAAAA,yB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DZ,WAAYC,yBAAZ,C,WAAYA,yB,GAAAA,yB,CAAAA,yB,6BAAAA,yB,CAAAA,yB,2BAAAA,yB,CAAAA,yB,2BAAAA,yB,CAAAA,yB,2BAAAA,yB,CAAAA,yB,4BAAAA,yB,KAAAA,yB;;;;;;;;AAQZ,OAAO,SAASC,2BAAT,CAAqCC,KAArC,EAAyF;AAC9F,SAAO,OAAOA,KAAP,KAAiB,QAAjB,IAA6BC,MAAM,CAACC,MAAP,CAAcJ,yBAAd,EAAyCK,QAAzC,CAAkDH,KAAlD,CAApC;AACD;;AAED,WAAYI,wBAAZ,C,WAAYA,wB,GAAAA,wB,CAAAA,wB,2BAAAA,wB,CAAAA,wB,2BAAAA,wB,CAAAA,wB,kCAAAA,wB,KAAAA,wB;;;;;;AAMZ,WAAYC,mBAAZ,C,WAAYA,mB,GAAAA,mB,CAAAA,mB,2BAAAA,mB,CAAAA,mB,6BAAAA,mB,CAAAA,mB,iCAAAA,mB,CAAAA,mB,+BAAAA,mB,CAAAA,mB,2BAAAA,mB,CAAAA,mB,2BAAAA,mB,CAAAA,mB,kCAAAA,mB,KAAAA,mB","sourcesContent":["import { LangCodes } from '../locale';\n\nexport enum InternalDateOrder {\n DMY = 'DMY',\n YMD = 'YMD',\n MDY = 'MDY',\n}\n\nexport enum InternalDateSeparator {\n Slash = '/',\n Dot = '.',\n Dash = '-',\n Space = ' ',\n}\n\nexport enum InternalDateComponentType {\n Date = 0,\n Month = 1,\n Year = 2,\n All = 3,\n Separator = 4,\n}\n\nexport type InternalDateTypesOrder = [InternalDateComponentType, InternalDateComponentType, InternalDateComponentType];\nexport type InternalDateComponent = number | null;\nexport type InternalDateComponentRaw = number | string | null;\n\nexport interface InternalDateFragment {\n type: InternalDateComponentType;\n value: InternalDateComponentRaw | InternalDateSeparator;\n length: number;\n valueWithPad?: string;\n isValid?: boolean;\n}\n\nexport interface InternalDateComponents {\n year: InternalDateComponent;\n month: InternalDateComponent;\n date: InternalDateComponent;\n}\n\nexport interface InternalDateComponentsRaw {\n year: InternalDateComponentRaw;\n month: InternalDateComponentRaw;\n date: InternalDateComponentRaw;\n}\n\nexport interface InternalDateComponentsNumber {\n year: number;\n month: number;\n date: number;\n}\n\nexport interface InternalDateToFragmentsSettings {\n order?: InternalDateOrder;\n separator?: InternalDateSeparator;\n withSeparator?: boolean;\n withPad?: boolean;\n pad?: string;\n}\n\nexport interface InternalDateChangeSettings {\n isLoop?: boolean;\n isRange?: boolean;\n isCutFeb?: boolean;\n}\n\nexport interface InternalDateConstructorProps {\n order?: InternalDateOrder;\n separator?: InternalDateSeparator;\n langCode?: LangCodes;\n value?: string;\n}\n\nexport enum InternalDateValidateCheck {\n NotNull,\n Number,\n Limits,\n Native,\n Range,\n}\n\nexport function isInternalDateValidateCheck(value: unknown): value is InternalDateValidateCheck {\n return typeof value === 'number' && Object.values(InternalDateValidateCheck).includes(value);\n}\n\nexport enum InternalDateFirstDayWeek {\n Monday = 0,\n Sunday = 1,\n Saturday = 2,\n}\n\nexport enum InternalDateDayWeek {\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Sunday = 6,\n Saturday = 7,\n}\n\nexport interface InternalDateLocaleSet {\n order: InternalDateOrder;\n separator: InternalDateSeparator;\n firstDayWeek: InternalDateFirstDayWeek;\n notWorkingDays: InternalDateDayWeek[];\n}\n"]}
1
+ {"version":3,"sources":["types.ts"],"names":["InternalDateOrder","InternalDateSeparator","InternalDateComponentType","InternalDateValidateCheck","isInternalDateValidateCheck","value","Object","values","includes","InternalDateFirstDayWeek","InternalDateDayWeek"],"mappings":";;AAEA,WAAYA,iBAAZ,C,WAAYA,iB,GAAAA,iB,gBAAAA,iB,gBAAAA,iB,mBAAAA,iB,KAAAA,iB;;;;;;AAMZ,WAAYC,qBAAZ,C,WAAYA,qB,GAAAA,qB,gBAAAA,qB,cAAAA,qB,eAAAA,qB,mBAAAA,qB,KAAAA,qB;;;;;;;AAOZ,WAAYC,yBAAZ,C,WAAYA,yB,GAAAA,yB,CAAAA,yB,uBAAAA,yB,CAAAA,yB,yBAAAA,yB,CAAAA,yB,uBAAAA,yB,CAAAA,yB,qBAAAA,yB,CAAAA,yB,oCAAAA,yB,KAAAA,yB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DZ,WAAYC,yBAAZ,C,WAAYA,yB,GAAAA,yB,CAAAA,yB,6BAAAA,yB,CAAAA,yB,2BAAAA,yB,CAAAA,yB,2BAAAA,yB,CAAAA,yB,2BAAAA,yB,CAAAA,yB,4BAAAA,yB,KAAAA,yB;;;;;;;;AAQZ,OAAO,SAASC,2BAAT,CAAqCC,KAArC,EAAyF;AAC9F,SAAO,OAAOA,KAAP,KAAiB,QAAjB,IAA6BC,MAAM,CAACC,MAAP,CAAcJ,yBAAd,EAAyCK,QAAzC,CAAkDH,KAAlD,CAApC;AACD;;AAED,WAAYI,wBAAZ,C,WAAYA,wB,GAAAA,wB,CAAAA,wB,2BAAAA,wB,CAAAA,wB,2BAAAA,wB,CAAAA,wB,kCAAAA,wB,KAAAA,wB;;;;;;AAMZ,WAAYC,mBAAZ,C,WAAYA,mB,GAAAA,mB,CAAAA,mB,2BAAAA,mB,CAAAA,mB,6BAAAA,mB,CAAAA,mB,iCAAAA,mB,CAAAA,mB,+BAAAA,mB,CAAAA,mB,2BAAAA,mB,CAAAA,mB,2BAAAA,mB,CAAAA,mB,kCAAAA,mB,KAAAA,mB","sourcesContent":["import { LangCodes } from '../locale';\n\nexport enum InternalDateOrder {\n DMY = 'DMY',\n YMD = 'YMD',\n MDY = 'MDY',\n}\n\nexport enum InternalDateSeparator {\n Slash = '/',\n Dot = '.',\n Dash = '-',\n Space = ' ',\n}\n\nexport enum InternalDateComponentType {\n Date = 0,\n Month = 1,\n Year = 2,\n All = 3,\n Separator = 4,\n}\n\nexport type InternalDateTypesOrder = [InternalDateComponentType, InternalDateComponentType, InternalDateComponentType];\nexport type InternalDateComponent = number | null;\nexport type InternalDateComponentRaw = number | string | null;\n\nexport interface InternalDateFragment {\n type: InternalDateComponentType;\n value: InternalDateComponentRaw | InternalDateSeparator;\n length: number;\n valueWithPad?: string;\n isValid?: boolean;\n}\n\nexport interface InternalDateComponents {\n year: InternalDateComponent;\n month: InternalDateComponent;\n date: InternalDateComponent;\n}\n\nexport interface InternalDateComponentsRaw {\n year: InternalDateComponentRaw;\n month: InternalDateComponentRaw;\n date: InternalDateComponentRaw;\n}\n\nexport interface InternalDateComponentsNumber {\n year: number;\n month: number;\n date: number;\n}\n\nexport interface InternalDateToFragmentsSettings {\n order?: InternalDateOrder;\n separator?: InternalDateSeparator;\n withSeparator?: boolean;\n withPad?: boolean;\n pad?: string;\n}\n\nexport interface InternalDateChangeSettings {\n isLoop?: boolean;\n isRange?: boolean;\n isCutFeb?: boolean;\n}\n\nexport interface InternalDateConstructorProps {\n order?: InternalDateOrder;\n separator?: InternalDateSeparator;\n langCode?: LangCodes;\n value?: string;\n}\n\nexport enum InternalDateValidateCheck {\n NotNull,\n Number,\n Limits,\n Native,\n Range,\n}\n\nexport function isInternalDateValidateCheck(value: unknown): value is InternalDateValidateCheck {\n return typeof value === 'number' && Object.values(InternalDateValidateCheck).includes(value);\n}\n\nexport enum InternalDateFirstDayWeek {\n Monday = 0,\n Sunday = 1,\n Saturday = 2,\n}\n\nexport enum InternalDateDayWeek {\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Sunday = 6,\n Saturday = 7,\n}\n\nexport interface InternalDateLocaleSet {\n order: InternalDateOrder;\n separator: InternalDateSeparator;\n firstDayWeek: InternalDateFirstDayWeek;\n notWorkingDays: InternalDateDayWeek[];\n}\n\nexport interface InputKeyResult {\n inputMode: boolean;\n changed: boolean;\n}\n"]}