@skbkontur/react-ui 4.23.0 → 4.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/cjs/components/Calendar/Calendar.d.ts +40 -5
- package/cjs/components/Calendar/Calendar.js +92 -36
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/Calendar/Calendar.md +42 -1
- package/cjs/components/Calendar/Calendar.styles.js +1 -1
- package/cjs/components/Calendar/Calendar.styles.js.map +1 -1
- package/cjs/components/Calendar/CalendarContext.d.ts +12 -0
- package/cjs/components/Calendar/CalendarContext.js +16 -0
- package/cjs/components/Calendar/CalendarContext.js.map +1 -0
- package/cjs/components/Calendar/CalendarDateShape.d.ts +4 -2
- package/cjs/components/Calendar/CalendarDateShape.js +13 -3
- package/cjs/components/Calendar/CalendarDateShape.js.map +1 -1
- package/cjs/components/Calendar/CalendarDay.d.ts +12 -0
- package/cjs/components/Calendar/CalendarDay.js +77 -0
- package/cjs/components/Calendar/CalendarDay.js.map +1 -0
- package/cjs/components/Calendar/CalendarDay.md +70 -0
- package/cjs/components/Calendar/CalendarUtils.d.ts +2 -1
- package/cjs/components/Calendar/CalendarUtils.js +4 -6
- package/cjs/components/Calendar/CalendarUtils.js.map +1 -1
- package/cjs/components/Calendar/DayCellView.d.ts +4 -12
- package/cjs/components/Calendar/DayCellView.js +20 -43
- package/cjs/components/Calendar/DayCellView.js.map +1 -1
- package/cjs/components/Calendar/DayCellView.styles.d.ts +2 -5
- package/cjs/components/Calendar/DayCellView.styles.js +17 -24
- package/cjs/components/Calendar/DayCellView.styles.js.map +1 -1
- package/cjs/components/Calendar/Month.d.ts +0 -10
- package/cjs/components/Calendar/Month.js +33 -86
- package/cjs/components/Calendar/Month.js.map +1 -1
- package/cjs/components/Calendar/MonthView.d.ts +3 -2
- package/cjs/components/Calendar/MonthView.js +47 -37
- package/cjs/components/Calendar/MonthView.js.map +1 -1
- package/cjs/components/Calendar/MonthView.styles.d.ts +3 -0
- package/cjs/components/Calendar/MonthView.styles.js +45 -7
- package/cjs/components/Calendar/MonthView.styles.js.map +1 -1
- package/cjs/components/Calendar/MonthViewModel.js +24 -6
- package/cjs/components/Calendar/MonthViewModel.js.map +1 -1
- package/cjs/components/Calendar/config.js +12 -6
- package/cjs/components/Calendar/config.js.map +1 -1
- package/cjs/components/Calendar/index.d.ts +1 -0
- package/cjs/components/Calendar/index.js +2 -1
- package/cjs/components/Calendar/index.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +4 -1
- package/cjs/components/DatePicker/DatePicker.js +71 -44
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.md +36 -1
- package/cjs/components/DatePicker/DatePickerHelpers.js +2 -1
- package/cjs/components/DatePicker/DatePickerHelpers.js.map +1 -1
- package/cjs/components/DatePicker/MobilePicker.d.ts +10 -0
- package/cjs/components/DatePicker/MobilePicker.js +118 -0
- package/cjs/components/DatePicker/MobilePicker.js.map +1 -0
- package/cjs/components/DatePicker/MobilePicker.styles.d.ts +3 -0
- package/cjs/components/DatePicker/MobilePicker.styles.js +8 -0
- package/cjs/components/DatePicker/MobilePicker.styles.js.map +1 -0
- package/cjs/components/DatePicker/getMobilePickerTheme.d.ts +2 -0
- package/cjs/components/DatePicker/getMobilePickerTheme.js +19 -0
- package/cjs/components/DatePicker/getMobilePickerTheme.js.map +1 -0
- package/cjs/components/Input/Input.js +1 -1
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.styles.d.ts +1 -1
- package/cjs/components/Input/Input.styles.js +3 -2
- package/cjs/components/Input/Input.styles.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayout.styles.d.ts +1 -1
- package/cjs/components/Input/InputLayout/InputLayout.styles.js +3 -2
- package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -1
- package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.d.ts +2 -0
- package/cjs/internal/DateSelect/DateSelect.js +50 -4
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.styles.d.ts +1 -0
- package/cjs/internal/DateSelect/DateSelect.styles.js +15 -1
- package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
- package/cjs/internal/DateSelect/locale/locales/en.js +2 -1
- package/cjs/internal/DateSelect/locale/locales/en.js.map +1 -1
- package/cjs/internal/DateSelect/locale/locales/ru.js +2 -1
- package/cjs/internal/DateSelect/locale/locales/ru.js.map +1 -1
- package/cjs/internal/DateSelect/locale/types.d.ts +1 -0
- package/cjs/internal/InputLikeText/InputLikeText.js +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.d.ts +4 -0
- package/cjs/internal/MobilePopup/MobilePopup.js +8 -2
- package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +7 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +32 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +4 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js +15 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +1 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/index.d.ts +1 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/index.js +1 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/index.js.map +1 -0
- package/cjs/internal/NativeDateInput/utils.js +3 -2
- package/cjs/internal/NativeDateInput/utils.js.map +1 -1
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +9 -6
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/constants.js +2 -1
- package/cjs/internal/ThemePlayground/constants.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/themes/DarkTheme.d.ts +2 -0
- package/cjs/internal/themes/DarkTheme.js +6 -1
- package/cjs/internal/themes/DarkTheme.js.map +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +18 -0
- package/cjs/internal/themes/DefaultTheme.js +32 -4
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/lib/date/InternalDate.d.ts +2 -0
- package/cjs/lib/date/InternalDate.js +8 -1
- package/cjs/lib/date/InternalDate.js.map +1 -1
- package/cjs/lib/date/InternalDateTransformer.d.ts +3 -0
- package/cjs/lib/date/InternalDateTransformer.js +23 -0
- package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
- package/cjs/lib/date/InternalDateValidator.js +2 -1
- package/cjs/lib/date/InternalDateValidator.js.map +1 -1
- package/cjs/lib/date/comparison.d.ts +6 -0
- package/cjs/lib/date/comparison.js +44 -0
- package/cjs/lib/date/comparison.js.map +1 -0
- package/cjs/lib/locale/constants.d.ts +3 -0
- package/cjs/lib/locale/constants.js +6 -2
- package/cjs/lib/locale/constants.js.map +1 -1
- package/cjs/lib/theming/ThemeContext.md +3 -1
- package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.d.ts +30 -0
- package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.js +50 -0
- package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.js.map +1 -0
- package/cjs/lib/theming/themes/Theme2022Update2024.d.ts +46 -0
- package/cjs/lib/theming/themes/Theme2022Update2024.js +75 -0
- package/cjs/lib/theming/themes/Theme2022Update2024.js.map +1 -0
- package/components/Calendar/Calendar/Calendar.js +81 -64
- package/components/Calendar/Calendar/Calendar.js.map +1 -1
- package/components/Calendar/Calendar.d.ts +40 -5
- package/components/Calendar/Calendar.md +42 -1
- package/components/Calendar/Calendar.styles/Calendar.styles.js +1 -1
- package/components/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
- package/components/Calendar/CalendarContext/CalendarContext.js +2 -0
- package/components/Calendar/CalendarContext/CalendarContext.js.map +1 -0
- package/components/Calendar/CalendarContext/package.json +6 -0
- package/components/Calendar/CalendarContext.d.ts +12 -0
- package/components/Calendar/CalendarDateShape/CalendarDateShape.js +23 -1
- package/components/Calendar/CalendarDateShape/CalendarDateShape.js.map +1 -1
- package/components/Calendar/CalendarDateShape.d.ts +4 -2
- package/components/Calendar/CalendarDay/CalendarDay.js +62 -0
- package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -0
- package/components/Calendar/CalendarDay/package.json +6 -0
- package/components/Calendar/CalendarDay.d.ts +12 -0
- package/components/Calendar/CalendarDay.md +70 -0
- package/components/Calendar/CalendarUtils/CalendarUtils.js +5 -4
- package/components/Calendar/CalendarUtils/CalendarUtils.js.map +1 -1
- package/components/Calendar/CalendarUtils.d.ts +2 -1
- package/components/Calendar/DayCellView/DayCellView.js +32 -46
- package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
- package/components/Calendar/DayCellView.d.ts +4 -12
- package/components/Calendar/DayCellView.styles/DayCellView.styles.js +10 -13
- package/components/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
- package/components/Calendar/DayCellView.styles.d.ts +2 -5
- package/components/Calendar/Month/Month.js +45 -80
- package/components/Calendar/Month/Month.js.map +1 -1
- package/components/Calendar/Month.d.ts +0 -10
- package/components/Calendar/MonthView/MonthView.js +49 -44
- package/components/Calendar/MonthView/MonthView.js.map +1 -1
- package/components/Calendar/MonthView.d.ts +3 -2
- package/components/Calendar/MonthView.styles/MonthView.styles.js +20 -6
- package/components/Calendar/MonthView.styles/MonthView.styles.js.map +1 -1
- package/components/Calendar/MonthView.styles.d.ts +3 -0
- package/components/Calendar/MonthViewModel/MonthViewModel.js +9 -6
- package/components/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
- package/components/Calendar/config/config.js +6 -4
- package/components/Calendar/config/config.js.map +1 -1
- package/components/Calendar/index/index.js +2 -1
- package/components/Calendar/index/index.js.map +1 -1
- package/components/Calendar/index.d.ts +1 -0
- package/components/DatePicker/DatePicker/DatePicker.js +60 -38
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +4 -1
- package/components/DatePicker/DatePicker.md +36 -1
- package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js +2 -1
- package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js.map +1 -1
- package/components/DatePicker/MobilePicker/MobilePicker.js +91 -0
- package/components/DatePicker/MobilePicker/MobilePicker.js.map +1 -0
- package/components/DatePicker/MobilePicker/package.json +6 -0
- package/components/DatePicker/MobilePicker.d.ts +10 -0
- package/components/DatePicker/MobilePicker.styles/MobilePicker.styles.js +10 -0
- package/components/DatePicker/MobilePicker.styles/MobilePicker.styles.js.map +1 -0
- package/components/DatePicker/MobilePicker.styles/package.json +6 -0
- package/components/DatePicker/MobilePicker.styles.d.ts +3 -0
- package/components/DatePicker/getMobilePickerTheme/getMobilePickerTheme.js +14 -0
- package/components/DatePicker/getMobilePickerTheme/getMobilePickerTheme.js.map +1 -0
- package/components/DatePicker/getMobilePickerTheme/package.json +6 -0
- package/components/DatePicker/getMobilePickerTheme.d.ts +2 -0
- package/components/Input/Input/Input.js +1 -1
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.styles/Input.styles.js +2 -2
- package/components/Input/Input.styles/Input.styles.js.map +1 -1
- package/components/Input/Input.styles.d.ts +1 -1
- package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +2 -2
- package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -1
- package/components/Input/InputLayout/InputLayout.styles.d.ts +1 -1
- package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js +1 -1
- package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
- package/internal/DateSelect/DateSelect/DateSelect.js +56 -4
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DateSelect/DateSelect.d.ts +2 -0
- package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js +4 -1
- package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
- package/internal/DateSelect/DateSelect.styles.d.ts +1 -0
- package/internal/DateSelect/locale/locales/en/en.js +2 -1
- package/internal/DateSelect/locale/locales/en/en.js.map +1 -1
- package/internal/DateSelect/locale/locales/ru/ru.js +2 -1
- package/internal/DateSelect/locale/locales/ru/ru.js.map +1 -1
- package/internal/DateSelect/locale/types.d.ts +1 -0
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/MobilePopup/MobilePopup/MobilePopup.js +2 -1
- package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/MobilePopup/MobilePopup.d.ts +4 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js +37 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js.map +1 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/package.json +6 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +7 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js +11 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js.map +1 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/package.json +6 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +4 -0
- package/internal/MobilePopup/MobilePopupFooter/index/index.js +1 -0
- package/internal/MobilePopup/MobilePopupFooter/index/index.js.map +1 -0
- package/internal/MobilePopup/MobilePopupFooter/index/package.json +6 -0
- package/internal/MobilePopup/MobilePopupFooter/index.d.ts +1 -0
- package/internal/MobilePopup/MobilePopupFooter/package.json +6 -0
- package/internal/NativeDateInput/utils/utils.js +2 -1
- package/internal/NativeDateInput/utils/utils.js.map +1 -1
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +8 -5
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
- package/internal/ThemePlayground/constants/constants.js +3 -0
- package/internal/ThemePlayground/constants/constants.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/themes/DarkTheme/DarkTheme.js +2 -0
- package/internal/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/internal/themes/DarkTheme.d.ts +2 -0
- package/internal/themes/DefaultTheme/DefaultTheme.js +32 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +18 -0
- package/lib/date/InternalDate/InternalDate.js +7 -1
- package/lib/date/InternalDate/InternalDate.js.map +1 -1
- package/lib/date/InternalDate.d.ts +2 -0
- package/lib/date/InternalDateTransformer/InternalDateTransformer.js +30 -0
- package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
- package/lib/date/InternalDateTransformer.d.ts +3 -0
- package/lib/date/InternalDateValidator/InternalDateValidator.js +6 -1
- package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
- package/lib/date/comparison/comparison.js +45 -0
- package/lib/date/comparison/comparison.js.map +1 -0
- package/lib/date/comparison/package.json +6 -0
- package/lib/date/comparison.d.ts +6 -0
- package/lib/locale/constants/constants.js +4 -1
- package/lib/locale/constants/constants.js.map +1 -1
- package/lib/locale/constants.d.ts +3 -0
- package/lib/theming/ThemeContext.md +3 -1
- package/lib/theming/themes/Theme2022DarkUpdate2024/Theme2022DarkUpdate2024.js +33 -0
- package/lib/theming/themes/Theme2022DarkUpdate2024/Theme2022DarkUpdate2024.js.map +1 -0
- package/lib/theming/themes/Theme2022DarkUpdate2024/package.json +6 -0
- package/lib/theming/themes/Theme2022DarkUpdate2024.d.ts +30 -0
- package/lib/theming/themes/Theme2022Update2024/Theme2022Update2024.js +50 -0
- package/lib/theming/themes/Theme2022Update2024/Theme2022Update2024.js.map +1 -0
- package/lib/theming/themes/Theme2022Update2024/package.json +6 -0
- package/lib/theming/themes/Theme2022Update2024.d.ts +46 -0
- package/package.json +2 -2
|
@@ -604,9 +604,13 @@ export declare class DefaultTheme {
|
|
|
604
604
|
static calendarCellActiveHoverColor: string;
|
|
605
605
|
static calendarCellWeekendColor: string;
|
|
606
606
|
static calendarCellTodayBorder: string;
|
|
607
|
+
static calendarCellBorderRadius: string;
|
|
607
608
|
static calendarCellSelectedBgColor: string;
|
|
608
609
|
static calendarCellSelectedFontColor: string;
|
|
609
610
|
static calendarCellSize: string;
|
|
611
|
+
static get calendarCellHeight(): string;
|
|
612
|
+
static get calendarCellWidth(): string;
|
|
613
|
+
static calendarCellFontSize: string;
|
|
610
614
|
static get calendarCellLineHeight(): string;
|
|
611
615
|
static get calendarMonthHeaderStickedBgColor(): string;
|
|
612
616
|
static calendarMonthTitleBorderBottomColor: string;
|
|
@@ -620,6 +624,7 @@ export declare class DefaultTheme {
|
|
|
620
624
|
static calendarWrapperHeight: string;
|
|
621
625
|
static calendarMonthMarginBottom: string;
|
|
622
626
|
static calendarMaxMonthsToAppendOnScroll: string;
|
|
627
|
+
static calendarGridRowSpacing: string;
|
|
623
628
|
static dateSelectLineHeight: string;
|
|
624
629
|
static dateSelectFontSize: string;
|
|
625
630
|
static dateSelectFontWeight: string;
|
|
@@ -641,6 +646,15 @@ export declare class DefaultTheme {
|
|
|
641
646
|
static pickerTodayWrapperPaddingTop: string;
|
|
642
647
|
static pickerTodayWrapperPaddingBottom: string;
|
|
643
648
|
static pickerBorderRadius: string;
|
|
649
|
+
static mobileCalendarPaddingX: string;
|
|
650
|
+
static mobileCalendarCellWidth: string;
|
|
651
|
+
static mobileCalendarCellHeight: string;
|
|
652
|
+
static mobileCalendarCellBorderRadius: string;
|
|
653
|
+
static mobileCalendarCellFontSize: string;
|
|
654
|
+
static mobileCalendarGridRowSpacing: string;
|
|
655
|
+
static mobileDateSelectFontSize: string;
|
|
656
|
+
static mobileDateSelectLineHeight: string;
|
|
657
|
+
static mobileCalendarWrapperHeight: string;
|
|
644
658
|
static get dateSelectMenuBg(): string;
|
|
645
659
|
static get dateSelectMenuItemBgActive(): string;
|
|
646
660
|
static get dateSelectMenuItemBgDisabled(): string;
|
|
@@ -1019,6 +1033,7 @@ export declare class DefaultTheme {
|
|
|
1019
1033
|
static inputShadow: string;
|
|
1020
1034
|
static inputBg: string;
|
|
1021
1035
|
static inputIconColor: string;
|
|
1036
|
+
static get inputIconColorDisabled(): string;
|
|
1022
1037
|
static get inputFocusedIconColor(): string;
|
|
1023
1038
|
static inputColor: string;
|
|
1024
1039
|
static inputWidth: string;
|
|
@@ -1343,6 +1358,7 @@ export declare class DefaultTheme {
|
|
|
1343
1358
|
static mobilePopupTopPadding: string;
|
|
1344
1359
|
static mobilePopupContainerBottomPadding: string;
|
|
1345
1360
|
static mobilePopupHeaderPadding: string;
|
|
1361
|
+
static mobilePopupFooterPadding: string;
|
|
1346
1362
|
static mobilePopupContainerBorderRadius: string;
|
|
1347
1363
|
static get mobilePopupHeaderFontSize(): string;
|
|
1348
1364
|
static get mobilePopupHeaderLineHeight(): string;
|
|
@@ -1443,5 +1459,7 @@ export declare class DefaultTheme {
|
|
|
1443
1459
|
static miniModalFooterPaddingMobile: string;
|
|
1444
1460
|
static miniModalHeaderPaddingMobile: string;
|
|
1445
1461
|
static miniModalBodyPaddingMobile: string;
|
|
1462
|
+
static validationsTextColorError: string;
|
|
1463
|
+
static validationsTextColorWarning: string;
|
|
1446
1464
|
}
|
|
1447
1465
|
export declare const DefaultThemeInternal: typeof DefaultTheme;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import { defaultLangCode } from "../../locale/constants";
|
|
2
|
+
import { defaultLangCode, langCodesToCanonicalLocale } from "../../locale/constants";
|
|
3
3
|
import { defaultDateComponentsOrder, defaultDateComponentsSeparator, emptyDateComponents } from "../constants";
|
|
4
4
|
import { InternalDateCalculator } from "../InternalDateCalculator";
|
|
5
5
|
import { InternalDateGetter } from "../InternalDateGetter";
|
|
@@ -33,10 +33,12 @@ export var InternalDate = /*#__PURE__*/function () {
|
|
|
33
33
|
value = _ref.value;
|
|
34
34
|
|
|
35
35
|
this.components = _extends({}, emptyDateComponents);
|
|
36
|
+
this.canonicalLocale = 'ru-RU';
|
|
36
37
|
this.start = null;
|
|
37
38
|
this.end = null;
|
|
38
39
|
this.order = order != null ? order : internalDateLocale[langCode].order;
|
|
39
40
|
this.separator = separator != null ? separator : internalDateLocale[langCode].separator;
|
|
41
|
+
this.canonicalLocale = langCodesToCanonicalLocale[langCode];
|
|
40
42
|
|
|
41
43
|
if (value !== undefined) {
|
|
42
44
|
this.parseInternalValue(value);
|
|
@@ -344,6 +346,10 @@ export var InternalDate = /*#__PURE__*/function () {
|
|
|
344
346
|
return undefined;
|
|
345
347
|
};
|
|
346
348
|
|
|
349
|
+
_proto.toA11YFormat = function toA11YFormat() {
|
|
350
|
+
return InternalDateTransformer.componentsToA11YFormat(this.components, this.canonicalLocale);
|
|
351
|
+
};
|
|
352
|
+
|
|
347
353
|
_proto.clone = function clone() {
|
|
348
354
|
return new InternalDate({
|
|
349
355
|
order: this.order,
|
|
@@ -1 +1 @@
|
|
|
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 | undefined {\n const components = this.getComponentsLikeNumber();\n if (InternalDateValidator.compareWithNativeDate(components)) {\n return { ...components, month: components.month - 1 };\n }\n return undefined;\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"]}
|
|
1
|
+
{"version":3,"sources":["InternalDate.ts"],"names":["defaultLangCode","langCodesToCanonicalLocale","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","canonicalLocale","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","toA11YFormat","componentsToA11YFormat","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, langCodesToCanonicalLocale } 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 private canonicalLocale = 'ru-RU';\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 this.canonicalLocale = langCodesToCanonicalLocale[langCode];\n\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 | undefined {\n const components = this.getComponentsLikeNumber();\n if (InternalDateValidator.compareWithNativeDate(components)) {\n return { ...components, month: components.month - 1 };\n }\n return undefined;\n }\n\n public toA11YFormat(): string {\n return InternalDateTransformer.componentsToA11YFormat(this.components, this.canonicalLocale);\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"]}
|
|
@@ -3,6 +3,7 @@ export declare class InternalDate {
|
|
|
3
3
|
private order;
|
|
4
4
|
private separator;
|
|
5
5
|
private components;
|
|
6
|
+
private canonicalLocale;
|
|
6
7
|
private start;
|
|
7
8
|
private end;
|
|
8
9
|
constructor({ order, separator, langCode, value }?: InternalDateConstructorProps);
|
|
@@ -45,6 +46,7 @@ export declare class InternalDate {
|
|
|
45
46
|
toString(settings?: InternalDateToFragmentsSettings): string;
|
|
46
47
|
toInternalString(): string;
|
|
47
48
|
toNativeFormat(): InternalDateComponentsNumber | undefined;
|
|
49
|
+
toA11YFormat(): string;
|
|
48
50
|
clone(): InternalDate;
|
|
49
51
|
duplicateOf(pattern: InternalDate): InternalDate;
|
|
50
52
|
restore(type?: InternalDateComponentType | null): InternalDate;
|
|
@@ -153,6 +153,36 @@ export var InternalDateTransformer = /*#__PURE__*/function () {
|
|
|
153
153
|
}).join(InternalDateSeparator.Dot);
|
|
154
154
|
};
|
|
155
155
|
|
|
156
|
+
InternalDateTransformer.dateToHumanString = function dateToHumanString(_ref3) {
|
|
157
|
+
var date = _ref3.date,
|
|
158
|
+
month = _ref3.month,
|
|
159
|
+
year = _ref3.year;
|
|
160
|
+
return InternalDateTransformer.dateToInternalString({
|
|
161
|
+
date: date,
|
|
162
|
+
month: month !== null ? Number(month) + 1 : null,
|
|
163
|
+
year: year
|
|
164
|
+
});
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
InternalDateTransformer.componentsToNativeDate = function componentsToNativeDate(componentsRaw) {
|
|
168
|
+
var _InternalDateTransfor = InternalDateTransformer.dateComponentsStringToNumber(componentsRaw),
|
|
169
|
+
year = _InternalDateTransfor.year,
|
|
170
|
+
month = _InternalDateTransfor.month,
|
|
171
|
+
date = _InternalDateTransfor.date;
|
|
172
|
+
|
|
173
|
+
return new Date(Date.UTC(year, month - 1, date));
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
InternalDateTransformer.componentsToA11YFormat = function componentsToA11YFormat(components, canonicalLocale) {
|
|
177
|
+
var nativeDate = InternalDateTransformer.componentsToNativeDate(components);
|
|
178
|
+
return nativeDate.toLocaleDateString(canonicalLocale, {
|
|
179
|
+
weekday: 'long',
|
|
180
|
+
year: 'numeric',
|
|
181
|
+
month: 'long',
|
|
182
|
+
day: 'numeric'
|
|
183
|
+
});
|
|
184
|
+
};
|
|
185
|
+
|
|
156
186
|
return InternalDateTransformer;
|
|
157
187
|
}();
|
|
158
188
|
|
|
@@ -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","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
|
+
{"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","dateToHumanString","componentsToNativeDate","UTC","componentsToA11YFormat","canonicalLocale","nativeDate","toLocaleDateString","weekday","day","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 public static dateToHumanString({ date, month, year }: InternalDateComponentsRaw): string {\n return InternalDateTransformer.dateToInternalString({\n date,\n month: month !== null ? Number(month) + 1 : null,\n year,\n });\n }\n\n public static componentsToNativeDate(componentsRaw: InternalDateComponentsRaw): Date {\n const { year, month, date } = InternalDateTransformer.dateComponentsStringToNumber(componentsRaw);\n return new Date(Date.UTC(year, month - 1, date));\n }\n\n public static componentsToA11YFormat(components: InternalDateComponentsRaw, canonicalLocale: string): string {\n const nativeDate = InternalDateTransformer.componentsToNativeDate(components);\n return nativeDate.toLocaleDateString(canonicalLocale, {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n });\n }\n}\n"]}
|
|
@@ -9,4 +9,7 @@ export declare class InternalDateTransformer {
|
|
|
9
9
|
static parseValueToDate(value: string | null, order?: InternalDateOrder): InternalDateComponents | null;
|
|
10
10
|
static dateComponentsStringToNumber(componentsRaw: InternalDateComponentsRaw | null): InternalDateComponentsNumber;
|
|
11
11
|
static dateToInternalString(components: InternalDateComponentsRaw): string;
|
|
12
|
+
static dateToHumanString({ date, month, year }: InternalDateComponentsRaw): string;
|
|
13
|
+
static componentsToNativeDate(componentsRaw: InternalDateComponentsRaw): Date;
|
|
14
|
+
static componentsToA11YFormat(components: InternalDateComponentsRaw, canonicalLocale: string): string;
|
|
12
15
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { InternalDateGetter } from "../InternalDateGetter";
|
|
2
2
|
import { InternalDateComponentType } from "../types";
|
|
3
|
+
import { InternalDateTransformer } from "../InternalDateTransformer";
|
|
3
4
|
|
|
4
5
|
var calculateStartDate = function calculateStartDate(startDate) {
|
|
5
6
|
if (startDate) {
|
|
@@ -81,7 +82,11 @@ export var InternalDateValidator = /*#__PURE__*/function () {
|
|
|
81
82
|
var year = _ref4.year,
|
|
82
83
|
month = _ref4.month,
|
|
83
84
|
date = _ref4.date;
|
|
84
|
-
var nativeDate =
|
|
85
|
+
var nativeDate = InternalDateTransformer.componentsToNativeDate({
|
|
86
|
+
year: year,
|
|
87
|
+
month: month,
|
|
88
|
+
date: date
|
|
89
|
+
});
|
|
85
90
|
return nativeDate.getUTCFullYear() === year && nativeDate.getUTCMonth() + 1 === month && nativeDate.getUTCDate() === date;
|
|
86
91
|
};
|
|
87
92
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["InternalDateValidator.ts"],"names":["InternalDateGetter","InternalDateComponentType","calculateStartDate","startDate","Infinity","calculateEndDate","endDate","getValue","type","year","month","date","Year","Month","InternalDateValidator","checkForNull","undefined","All","checkLimits","value","getDefaultMin","getDefaultMax","Date","compareWithNativeDate","nativeDate","UTC","getUTCFullYear","getUTCMonth","getUTCDate","checkRangeFully","calculatedEndDate","calculatedStartDate","checkRangePiecemeal","startComponents","endComponents","startYear","startMonth","endYear","endMonth","testParseToNumber","Number","isNaN","parseInt","isEqualDateValues","a","b","toInternalString","isEqualDateFormats","areOrdersEqual","getOrder","areSeparatorsEqual","getSeparator"],"mappings":"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","sourcesContent":["import { InternalDate } from './InternalDate';\nimport { InternalDateGetter } from './InternalDateGetter';\nimport {\n InternalDateComponentRaw,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n} from './types';\n\nconst calculateStartDate = (startDate: number | null) => {\n if (startDate) {\n return startDate;\n }\n\n return -Infinity;\n};\n\nconst calculateEndDate = (endDate: number | null) => {\n if (endDate) {\n return endDate;\n }\n\n return Infinity;\n};\n\nconst getValue = (type: InternalDateComponentType, { year, month, date }: InternalDateComponentsNumber) => {\n if (type === InternalDateComponentType.Year) {\n return year;\n }\n\n if (type === InternalDateComponentType.Month) {\n return month;\n }\n\n return date;\n};\n\nexport class InternalDateValidator {\n public static checkForNull({ year, month, date }: InternalDateComponentsRaw, type?: InternalDateComponentType) {\n if (type !== undefined) {\n if (type === InternalDateComponentType.Year) {\n return year !== null;\n }\n\n if (type === InternalDateComponentType.Month) {\n return month !== null;\n }\n\n if (type === InternalDateComponentType.All) {\n return year !== null && month !== null && date !== null;\n }\n\n return date !== null;\n }\n\n return !(year === null || month === null || date === null);\n }\n\n public static checkLimits(\n { year, month, date }: InternalDateComponentsNumber,\n type?: InternalDateComponentType,\n ): boolean {\n if (type !== undefined) {\n const value = getValue(type, { date, month, year });\n\n return value >= InternalDateGetter.getDefaultMin(type) && value <= InternalDateGetter.getDefaultMax(type);\n }\n\n return (\n year >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Year) &&\n year <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Year) &&\n month >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Month) &&\n month <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Month) &&\n date >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Date) &&\n date <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Date)\n );\n }\n\n public static compareWithNativeDate({ year, month, date }: InternalDateComponentsNumber): boolean {\n const nativeDate: Date = new Date(Date.UTC(year, month - 1, date));\n return (\n nativeDate.getUTCFullYear() === year && nativeDate.getUTCMonth() + 1 === month && nativeDate.getUTCDate() === date\n );\n }\n\n public static checkRangeFully(date: number, startDate: number | null, endDate: number | null): boolean {\n if (startDate === null && endDate === null) {\n return true;\n }\n\n const calculatedEndDate = calculateEndDate(endDate);\n const calculatedStartDate = calculateStartDate(startDate);\n return date >= calculatedStartDate && date <= calculatedEndDate;\n }\n\n public static checkRangePiecemeal(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponentsNumber,\n startComponents: InternalDateComponentsNumber | null,\n endComponents: InternalDateComponentsNumber | null,\n ): boolean {\n if (startComponents === null && endComponents === null) {\n return true;\n }\n const {\n year: startYear = -Infinity,\n month: startMonth = -Infinity,\n date: startDate = -Infinity,\n } = startComponents || {};\n const { year: endYear = Infinity, month: endMonth = Infinity, date: endDate = Infinity } = endComponents || {};\n\n if (type === InternalDateComponentType.Year) {\n return !(year < startYear || year > endYear);\n } else if (type === InternalDateComponentType.Month) {\n return !((year === startYear && month < startMonth) || (year === endYear && month > endMonth));\n } else if (type === InternalDateComponentType.Date) {\n return !(\n (year === startYear && month === startMonth && date < startDate) ||\n (year === endYear && month === endMonth && date > endDate)\n );\n }\n return true;\n }\n\n public static testParseToNumber(value: InternalDateComponentRaw): value is NonNullable<typeof value> {\n if (value !== null) {\n return typeof value === 'number' || !Number.isNaN(parseInt(value, 10));\n }\n\n return false;\n }\n\n public static isEqualDateValues(a: InternalDate, b: InternalDate): boolean {\n return a.toInternalString() === b.toInternalString();\n }\n\n public static isEqualDateFormats(a: InternalDate, b: InternalDate): boolean {\n const areOrdersEqual = a.getOrder() === b.getOrder();\n const areSeparatorsEqual = a.getSeparator() === b.getSeparator();\n\n return areOrdersEqual && areSeparatorsEqual;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["InternalDateValidator.ts"],"names":["InternalDateGetter","InternalDateComponentType","InternalDateTransformer","calculateStartDate","startDate","Infinity","calculateEndDate","endDate","getValue","type","year","month","date","Year","Month","InternalDateValidator","checkForNull","undefined","All","checkLimits","value","getDefaultMin","getDefaultMax","Date","compareWithNativeDate","nativeDate","componentsToNativeDate","getUTCFullYear","getUTCMonth","getUTCDate","checkRangeFully","calculatedEndDate","calculatedStartDate","checkRangePiecemeal","startComponents","endComponents","startYear","startMonth","endYear","endMonth","testParseToNumber","Number","isNaN","parseInt","isEqualDateValues","a","b","toInternalString","isEqualDateFormats","areOrdersEqual","getOrder","areSeparatorsEqual","getSeparator"],"mappings":"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","sourcesContent":["import { InternalDate } from './InternalDate';\nimport { InternalDateGetter } from './InternalDateGetter';\nimport {\n InternalDateComponentRaw,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n} from './types';\nimport { InternalDateTransformer } from './InternalDateTransformer';\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 = InternalDateTransformer.componentsToNativeDate({ year, month, date });\n return (\n nativeDate.getUTCFullYear() === year && nativeDate.getUTCMonth() + 1 === month && nativeDate.getUTCDate() === date\n );\n }\n\n public static checkRangeFully(date: number, startDate: number | null, endDate: number | null): boolean {\n if (startDate === null && endDate === null) {\n return true;\n }\n\n const calculatedEndDate = calculateEndDate(endDate);\n const calculatedStartDate = calculateStartDate(startDate);\n return date >= calculatedStartDate && date <= calculatedEndDate;\n }\n\n public static checkRangePiecemeal(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponentsNumber,\n startComponents: InternalDateComponentsNumber | null,\n endComponents: InternalDateComponentsNumber | null,\n ): boolean {\n if (startComponents === null && endComponents === null) {\n return true;\n }\n const {\n year: startYear = -Infinity,\n month: startMonth = -Infinity,\n date: startDate = -Infinity,\n } = startComponents || {};\n const { year: endYear = Infinity, month: endMonth = Infinity, date: endDate = Infinity } = endComponents || {};\n\n if (type === InternalDateComponentType.Year) {\n return !(year < startYear || year > endYear);\n } else if (type === InternalDateComponentType.Month) {\n return !((year === startYear && month < startMonth) || (year === endYear && month > endMonth));\n } else if (type === InternalDateComponentType.Date) {\n return !(\n (year === startYear && month === startMonth && date < startDate) ||\n (year === endYear && month === endMonth && date > endDate)\n );\n }\n return true;\n }\n\n public static testParseToNumber(value: InternalDateComponentRaw): value is NonNullable<typeof value> {\n if (value !== null) {\n return typeof value === 'number' || !Number.isNaN(parseInt(value, 10));\n }\n\n return false;\n }\n\n public static isEqualDateValues(a: InternalDate, b: InternalDate): boolean {\n return a.toInternalString() === b.toInternalString();\n }\n\n public static isEqualDateFormats(a: InternalDate, b: InternalDate): boolean {\n const areOrdersEqual = a.getOrder() === b.getOrder();\n const areSeparatorsEqual = a.getSeparator() === b.getSeparator();\n\n return areOrdersEqual && areSeparatorsEqual;\n }\n}\n"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as CDS from "../../../components/Calendar/CalendarDateShape";
|
|
2
|
+
import { InternalDate } from "../InternalDate";
|
|
3
|
+
|
|
4
|
+
var stringToDate = function stringToDate(date) {
|
|
5
|
+
return new InternalDate({
|
|
6
|
+
value: date
|
|
7
|
+
}).getComponentsLikeNumber();
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export var isEqual = function isEqual(left, right) {
|
|
11
|
+
return left === right;
|
|
12
|
+
};
|
|
13
|
+
export var isLess = function isLess(left, right) {
|
|
14
|
+
var leftDate = stringToDate(left);
|
|
15
|
+
var rightDate = stringToDate(right);
|
|
16
|
+
return CDS.isLess(leftDate, rightDate);
|
|
17
|
+
};
|
|
18
|
+
export var isLessOrEqual = function isLessOrEqual(left, right) {
|
|
19
|
+
var leftDate = stringToDate(left);
|
|
20
|
+
var rightDate = stringToDate(right);
|
|
21
|
+
return CDS.isLess(leftDate, rightDate) || CDS.isEqual(leftDate, rightDate);
|
|
22
|
+
};
|
|
23
|
+
export var isGreater = function isGreater(left, right) {
|
|
24
|
+
var leftDate = stringToDate(left);
|
|
25
|
+
var rightDate = stringToDate(right);
|
|
26
|
+
return !CDS.isLessOrEqual(leftDate, rightDate);
|
|
27
|
+
};
|
|
28
|
+
export var isGreaterOrEqual = function isGreaterOrEqual(left, right) {
|
|
29
|
+
var leftDate = stringToDate(left);
|
|
30
|
+
var rightDate = stringToDate(right);
|
|
31
|
+
return !CDS.isLess(leftDate, rightDate);
|
|
32
|
+
};
|
|
33
|
+
export var isBetween = function isBetween(between, left, right) {
|
|
34
|
+
var betweenDate = stringToDate(between);
|
|
35
|
+
|
|
36
|
+
if (left && CDS.isLess(betweenDate, stringToDate(left))) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if (right && CDS.isGreater(betweenDate, stringToDate(right))) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return true;
|
|
45
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["comparison.ts"],"names":["CDS","InternalDate","stringToDate","date","value","getComponentsLikeNumber","isEqual","left","right","isLess","leftDate","rightDate","isLessOrEqual","isGreater","isGreaterOrEqual","isBetween","between","betweenDate"],"mappings":"AAAA,OAAO,KAAKA,GAAZ,MAAqB,6CAArB;;AAEA,SAASC,YAAT,QAA6B,gBAA7B;;AAEA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,IAAD,EAAyC;AAC5D,SAAO,IAAIF,YAAJ,CAAiB,EAAEG,KAAK,EAAED,IAAT,EAAjB,EAAkCE,uBAAlC,EAAP;AACD,CAFD;;AAIA,OAAO,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,IAAD,EAAeC,KAAf,UAA0CD,IAAI,KAAKC,KAAnD,EAAhB;;AAEP,OAAO,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACF,IAAD,EAAeC,KAAf,EAA0C;AAC9D,MAAME,QAAQ,GAAGR,YAAY,CAACK,IAAD,CAA7B;AACA,MAAMI,SAAS,GAAGT,YAAY,CAACM,KAAD,CAA9B;AACA,SAAOR,GAAG,CAACS,MAAJ,CAAWC,QAAX,EAAqBC,SAArB,CAAP;AACD,CAJM;;AAMP,OAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACL,IAAD,EAAeC,KAAf,EAA0C;AACrE,MAAME,QAAQ,GAAGR,YAAY,CAACK,IAAD,CAA7B;AACA,MAAMI,SAAS,GAAGT,YAAY,CAACM,KAAD,CAA9B;AACA,SAAOR,GAAG,CAACS,MAAJ,CAAWC,QAAX,EAAqBC,SAArB,KAAmCX,GAAG,CAACM,OAAJ,CAAYI,QAAZ,EAAsBC,SAAtB,CAA1C;AACD,CAJM;;AAMP,OAAO,IAAME,SAAS,GAAG,SAAZA,SAAY,CAACN,IAAD,EAAeC,KAAf,EAA0C;AACjE,MAAME,QAAQ,GAAGR,YAAY,CAACK,IAAD,CAA7B;AACA,MAAMI,SAAS,GAAGT,YAAY,CAACM,KAAD,CAA9B;AACA,SAAO,CAACR,GAAG,CAACY,aAAJ,CAAkBF,QAAlB,EAA4BC,SAA5B,CAAR;AACD,CAJM;;AAMP,OAAO,IAAMG,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACP,IAAD,EAAeC,KAAf,EAA0C;AACxE,MAAME,QAAQ,GAAGR,YAAY,CAACK,IAAD,CAA7B;AACA,MAAMI,SAAS,GAAGT,YAAY,CAACM,KAAD,CAA9B;AACA,SAAO,CAACR,GAAG,CAACS,MAAJ,CAAWC,QAAX,EAAqBC,SAArB,CAAR;AACD,CAJM;;AAMP,OAAO,IAAMI,SAAS,GAAG,SAAZA,SAAY,CAACC,OAAD,EAAkBT,IAAlB,EAAiCC,KAAjC,EAA6D;AACpF,MAAMS,WAAW,GAAGf,YAAY,CAACc,OAAD,CAAhC;AACA,MAAIT,IAAI,IAAIP,GAAG,CAACS,MAAJ,CAAWQ,WAAX,EAAwBf,YAAY,CAACK,IAAD,CAApC,CAAZ,EAAyD;AACvD,WAAO,KAAP;AACD;AACD,MAAIC,KAAK,IAAIR,GAAG,CAACa,SAAJ,CAAcI,WAAd,EAA2Bf,YAAY,CAACM,KAAD,CAAvC,CAAb,EAA8D;AAC5D,WAAO,KAAP;AACD;AACD,SAAO,IAAP;AACD,CATM","sourcesContent":["import * as CDS from '../../components/Calendar/CalendarDateShape';\n\nimport { InternalDate } from './InternalDate';\n\nconst stringToDate = (date: string): CDS.CalendarDateShape => {\n return new InternalDate({ value: date }).getComponentsLikeNumber();\n};\n\nexport const isEqual = (left: string, right: string): boolean => left === right;\n\nexport const isLess = (left: string, right: string): boolean => {\n const leftDate = stringToDate(left);\n const rightDate = stringToDate(right);\n return CDS.isLess(leftDate, rightDate);\n};\n\nexport const isLessOrEqual = (left: string, right: string): boolean => {\n const leftDate = stringToDate(left);\n const rightDate = stringToDate(right);\n return CDS.isLess(leftDate, rightDate) || CDS.isEqual(leftDate, rightDate);\n};\n\nexport const isGreater = (left: string, right: string): boolean => {\n const leftDate = stringToDate(left);\n const rightDate = stringToDate(right);\n return !CDS.isLessOrEqual(leftDate, rightDate);\n};\n\nexport const isGreaterOrEqual = (left: string, right: string): boolean => {\n const leftDate = stringToDate(left);\n const rightDate = stringToDate(right);\n return !CDS.isLess(leftDate, rightDate);\n};\n\nexport const isBetween = (between: string, left?: string, right?: string): boolean => {\n const betweenDate = stringToDate(between);\n if (left && CDS.isLess(betweenDate, stringToDate(left))) {\n return false;\n }\n if (right && CDS.isGreater(betweenDate, stringToDate(right))) {\n return false;\n }\n return true;\n};\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const isEqual: (left: string, right: string) => boolean;
|
|
2
|
+
export declare const isLess: (left: string, right: string) => boolean;
|
|
3
|
+
export declare const isLessOrEqual: (left: string, right: string) => boolean;
|
|
4
|
+
export declare const isGreater: (left: string, right: string) => boolean;
|
|
5
|
+
export declare const isGreaterOrEqual: (left: string, right: string) => boolean;
|
|
6
|
+
export declare const isBetween: (between: string, left?: string | undefined, right?: string | undefined) => boolean;
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
+
var _langCodesToCanonical;
|
|
2
|
+
|
|
1
3
|
import { LangCodes } from "../types";
|
|
2
|
-
export var defaultLangCode = LangCodes.ru_RU;
|
|
4
|
+
export var defaultLangCode = LangCodes.ru_RU;
|
|
5
|
+
export var langCodesToCanonicalLocale = (_langCodesToCanonical = {}, _langCodesToCanonical[LangCodes.ru_RU] = 'ru-RU', _langCodesToCanonical[LangCodes.en_GB] = 'en-GB', _langCodesToCanonical);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["constants.ts"],"names":["LangCodes","defaultLangCode","ru_RU"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["constants.ts"],"names":["LangCodes","defaultLangCode","ru_RU","langCodesToCanonicalLocale","en_GB"],"mappings":"0BAAA,SAASA,SAAT,QAA0B,SAA1B;;AAEA,OAAO,IAAMC,eAAoC,GAAGD,SAAS,CAACE,KAAvD;;AAEP,OAAO,IAAMC,0BAA0D;AACpEH,SAAS,CAACE,KAD0D,IAClD,OADkD;AAEpEF,SAAS,CAACI,KAF0D,IAElD,OAFkD,wBAAhE","sourcesContent":["import { LangCodes } from './types';\n\nexport const defaultLangCode: Readonly<LangCodes> = LangCodes.ru_RU;\n\nexport const langCodesToCanonicalLocale: { [key in LangCodes]: string } = {\n [LangCodes.ru_RU]: 'ru-RU',\n [LangCodes.en_GB]: 'en-GB',\n};\n"]}
|
|
@@ -41,8 +41,10 @@ public context: Theme = this.context;
|
|
|
41
41
|
| `DARK_THEME_2022` | Станет дефолтной темной в `5.0` |
|
|
42
42
|
| `DEFAULT_THEME` | Текущая дефолтная тема. Станет deprecated в `5.0` |
|
|
43
43
|
| `DARK_THEME` | Темная дефолтная. Станет deprecated в `5.0` |
|
|
44
|
-
| `DEFAULT_THEME_8PX_OLD` | Тема 2021 г. Будет удалена в
|
|
44
|
+
| `DEFAULT_THEME_8PX_OLD` | Тема 2021 г. Будет удалена в `5.0` |
|
|
45
45
|
| `FLAT_THEME_8PX_OLD` | Плоская тема 2021 г. Будет удалена в `5.0` |
|
|
46
|
+
| `THEME_2022_UPDATE_2024`| Тема 2022 г. с последними обновлениями цветов. В `5.0` будет влита в дефолтную|
|
|
47
|
+
| `THEME_2022_DARK_UPDATE_2024`| Тёмная тема 2022 г. с последними обновлениями цветов. В `5.0` будет влита в дефолтную темную|
|
|
46
48
|
|
|
47
49
|
## Примеры использования
|
|
48
50
|
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ThemeFactory } from "../../ThemeFactory";
|
|
2
|
+
import { THEME_2022_DARK } from "../Theme2022Dark";
|
|
3
|
+
export var THEME_2022_DARK_UPDATE_2024 = ThemeFactory.create({
|
|
4
|
+
green: '#23A14A',
|
|
5
|
+
greenDark: '#1C8A3F',
|
|
6
|
+
red: '#ED3F3F',
|
|
7
|
+
redDark: '#DD3333',
|
|
8
|
+
errorMain: '#ED3F3F',
|
|
9
|
+
linkSuccessColor: '#46CD68',
|
|
10
|
+
linkSuccessHoverColor: '#67D881',
|
|
11
|
+
linkSuccessActiveColor: '#23A14A',
|
|
12
|
+
linkDangerColor: '#FE6C6C',
|
|
13
|
+
linkDangerHoverColor: '#FE8C8C',
|
|
14
|
+
linkDangerActiveColor: '#ED3F3F',
|
|
15
|
+
btnSuccessBg: '#23A14A',
|
|
16
|
+
btnSuccessBorderColor: '#23A14A',
|
|
17
|
+
btnSuccessHoverBg: '#26AD50',
|
|
18
|
+
btnSuccessHoverBorderColor: '#26AD50',
|
|
19
|
+
btnSuccessActiveBg: '#1C8A3F',
|
|
20
|
+
btnSuccessActiveBorderColor: '#1C8A3F',
|
|
21
|
+
btnDangerBg: '#ED3F3F',
|
|
22
|
+
btnDangerBorderColor: '#ED3F3F',
|
|
23
|
+
btnDangerHoverBg: '#FE4C4C',
|
|
24
|
+
btnDangerHoverBorderColor: '#FE4C4C',
|
|
25
|
+
btnDangerActiveBg: '#CC2626',
|
|
26
|
+
btnDangerActiveBorderColor: '#CC2626',
|
|
27
|
+
calendarCellWeekendColor: '#FE6C6C',
|
|
28
|
+
fileUploaderBorderColorError: '#ED3F3F',
|
|
29
|
+
inputBorderColorError: '#FE6C6C',
|
|
30
|
+
validationsTextColorError: '#ED3F3F',
|
|
31
|
+
// error background for button use=link
|
|
32
|
+
btnErrorSecondary: '#AB0D0D'
|
|
33
|
+
}, THEME_2022_DARK);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["Theme2022DarkUpdate2024.ts"],"names":["ThemeFactory","THEME_2022_DARK","THEME_2022_DARK_UPDATE_2024","create","green","greenDark","red","redDark","errorMain","linkSuccessColor","linkSuccessHoverColor","linkSuccessActiveColor","linkDangerColor","linkDangerHoverColor","linkDangerActiveColor","btnSuccessBg","btnSuccessBorderColor","btnSuccessHoverBg","btnSuccessHoverBorderColor","btnSuccessActiveBg","btnSuccessActiveBorderColor","btnDangerBg","btnDangerBorderColor","btnDangerHoverBg","btnDangerHoverBorderColor","btnDangerActiveBg","btnDangerActiveBorderColor","calendarCellWeekendColor","fileUploaderBorderColorError","inputBorderColorError","validationsTextColorError","btnErrorSecondary"],"mappings":"AAAA,SAASA,YAAT,QAA6B,iBAA7B;;AAEA,SAASC,eAAT,QAAgC,iBAAhC;;AAEA,OAAO,IAAMC,2BAA2B,GAAGF,YAAY,CAACG,MAAb;AACzC;AACEC,EAAAA,KAAK,EAAE,SADT;AAEEC,EAAAA,SAAS,EAAE,SAFb;;AAIEC,EAAAA,GAAG,EAAE,SAJP;AAKEC,EAAAA,OAAO,EAAE,SALX;AAMEC,EAAAA,SAAS,EAAE,SANb;;AAQEC,EAAAA,gBAAgB,EAAE,SARpB;AASEC,EAAAA,qBAAqB,EAAE,SATzB;AAUEC,EAAAA,sBAAsB,EAAE,SAV1B;;AAYEC,EAAAA,eAAe,EAAE,SAZnB;AAaEC,EAAAA,oBAAoB,EAAE,SAbxB;AAcEC,EAAAA,qBAAqB,EAAE,SAdzB;;AAgBEC,EAAAA,YAAY,EAAE,SAhBhB;AAiBEC,EAAAA,qBAAqB,EAAE,SAjBzB;;AAmBEC,EAAAA,iBAAiB,EAAE,SAnBrB;AAoBEC,EAAAA,0BAA0B,EAAE,SApB9B;;AAsBEC,EAAAA,kBAAkB,EAAE,SAtBtB;AAuBEC,EAAAA,2BAA2B,EAAE,SAvB/B;;AAyBEC,EAAAA,WAAW,EAAE,SAzBf;AA0BEC,EAAAA,oBAAoB,EAAE,SA1BxB;;AA4BEC,EAAAA,gBAAgB,EAAE,SA5BpB;AA6BEC,EAAAA,yBAAyB,EAAE,SA7B7B;;AA+BEC,EAAAA,iBAAiB,EAAE,SA/BrB;AAgCEC,EAAAA,0BAA0B,EAAE,SAhC9B;;AAkCEC,EAAAA,wBAAwB,EAAE,SAlC5B;;AAoCEC,EAAAA,4BAA4B,EAAE,SApChC;;AAsCEC,EAAAA,qBAAqB,EAAE,SAtCzB;;AAwCEC,EAAAA,yBAAyB,EAAE,SAxC7B;AAyCE;AACAC,EAAAA,iBAAiB,EAAE,SA1CrB,EADyC;;AA6CzC9B,eA7CyC,CAApC","sourcesContent":["import { ThemeFactory } from '../ThemeFactory';\n\nimport { THEME_2022_DARK } from './Theme2022Dark';\n\nexport const THEME_2022_DARK_UPDATE_2024 = ThemeFactory.create(\n {\n green: '#23A14A',\n greenDark: '#1C8A3F',\n\n red: '#ED3F3F',\n redDark: '#DD3333',\n errorMain: '#ED3F3F',\n\n linkSuccessColor: '#46CD68',\n linkSuccessHoverColor: '#67D881',\n linkSuccessActiveColor: '#23A14A',\n\n linkDangerColor: '#FE6C6C',\n linkDangerHoverColor: '#FE8C8C',\n linkDangerActiveColor: '#ED3F3F',\n\n btnSuccessBg: '#23A14A',\n btnSuccessBorderColor: '#23A14A',\n\n btnSuccessHoverBg: '#26AD50',\n btnSuccessHoverBorderColor: '#26AD50',\n\n btnSuccessActiveBg: '#1C8A3F',\n btnSuccessActiveBorderColor: '#1C8A3F',\n\n btnDangerBg: '#ED3F3F',\n btnDangerBorderColor: '#ED3F3F',\n\n btnDangerHoverBg: '#FE4C4C',\n btnDangerHoverBorderColor: '#FE4C4C',\n\n btnDangerActiveBg: '#CC2626',\n btnDangerActiveBorderColor: '#CC2626',\n\n calendarCellWeekendColor: '#FE6C6C',\n\n fileUploaderBorderColorError: '#ED3F3F',\n\n inputBorderColorError: '#FE6C6C',\n\n validationsTextColorError: '#ED3F3F',\n // error background for button use=link\n btnErrorSecondary: '#AB0D0D',\n },\n THEME_2022_DARK,\n);\n"]}
|