@stenajs-webui/calendar 17.6.0 → 17.9.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.
Files changed (104) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/components/calendar/Calendar.d.ts +3 -3
  3. package/dist/components/calendar/CalendarMonth.d.ts +16 -16
  4. package/dist/components/calendar/CalendarMonthWithMonthTextHeader.d.ts +6 -6
  5. package/dist/components/calendar/CalendarTheme.d.ts +57 -57
  6. package/dist/components/calendar/CalendarWeek.d.ts +18 -18
  7. package/dist/components/calendar/DisabledDayWrapper.d.ts +7 -7
  8. package/dist/components/calendar/renderers/CalendarDay.d.ts +3 -3
  9. package/dist/components/calendar/renderers/WeekDayCell.d.ts +10 -10
  10. package/dist/components/calendar/renderers/WeekNumberCell.d.ts +13 -13
  11. package/dist/components/calendar-types/date-range-calendar/DateRangeCalendar.d.ts +11 -11
  12. package/dist/components/calendar-types/date-range-calendar/hooks/UseDateRangeCalendarState.d.ts +10 -10
  13. package/dist/components/calendar-types/date-range-calendar/hooks/UseDateRangeSelection.d.ts +3 -3
  14. package/dist/components/calendar-types/date-range-exclusion-calendar/DateRangeExclusionCalendar.d.ts +7 -7
  15. package/dist/components/calendar-types/date-range-exclusion-calendar/UseDateRangeExclusionSelection.d.ts +3 -3
  16. package/dist/components/calendar-types/multi-date-calendar/MultiDateCalendar.d.ts +8 -8
  17. package/dist/components/calendar-types/multi-date-calendar/UseMultiDateSelection.d.ts +3 -3
  18. package/dist/components/calendar-types/single-date-calendar/SingleDateCalendar.d.ts +7 -7
  19. package/dist/components/calendar-types/single-date-calendar/UseSingleDateSelection.d.ts +3 -3
  20. package/dist/components/calendar-types/single-week-calendar/SingleWeekCalendar.d.ts +8 -8
  21. package/dist/components/calendar-types/single-week-calendar/UseSingleWeekSelection.d.ts +3 -3
  22. package/dist/components/input-types/date-input/DateInput.d.ts +52 -52
  23. package/dist/components/input-types/date-input/UseDateInput.d.ts +6 -6
  24. package/dist/components/input-types/date-range-dual-text-input/DateRangeDualTextInput.d.ts +15 -15
  25. package/dist/components/input-types/date-range-dual-text-input/hooks/UseDateRangeEffects.d.ts +2 -2
  26. package/dist/components/input-types/date-range-dual-text-input/hooks/UseDateRangeHandlers.d.ts +11 -11
  27. package/dist/components/input-types/date-range-dual-text-input/hooks/UseInputStates.d.ts +17 -17
  28. package/dist/components/input-types/date-range-dual-text-input/hooks/UseUserInputHandlers.d.ts +13 -13
  29. package/dist/components/input-types/date-range-input/DateRangeInput.d.ts +51 -51
  30. package/dist/components/input-types/date-range-input/hooks/UseDateRangeInput.d.ts +16 -16
  31. package/dist/components/input-types/date-text-input/DateTextInput.d.ts +28 -28
  32. package/dist/components/input-types/date-time-input/DateTimeInput.d.ts +12 -12
  33. package/dist/components/input-types/date-time-input/hooks/UseDateRangeEffects.d.ts +2 -2
  34. package/dist/components/input-types/date-time-input/hooks/UseDateRangeHandlers.d.ts +11 -11
  35. package/dist/components/input-types/date-time-input/hooks/UseInputStates.d.ts +22 -22
  36. package/dist/components/input-types/date-time-input/hooks/UseUserInputHandlers.d.ts +12 -12
  37. package/dist/components/input-types/time-text-input/TimeTextInput.d.ts +15 -15
  38. package/dist/config/DefaultMaxDate.d.ts +1 -1
  39. package/dist/config/DefaultPopoverPlacement.d.ts +2 -2
  40. package/dist/features/calendar-with-month-year-pickers/CalendarPanelType.d.ts +1 -1
  41. package/dist/features/calendar-with-month-year-pickers/CalendarWithMonthYearPickers.d.ts +13 -13
  42. package/dist/features/date-range/hooks/UseDateRangeOnClickDayHandler.d.ts +4 -4
  43. package/dist/features/dual-text-input/DualTextInput.d.ts +44 -44
  44. package/dist/features/internal-panel-state/UseCalendarPopoverUpdater.d.ts +4 -4
  45. package/dist/features/internal-panel-state/UseInternalPanelState.d.ts +9 -9
  46. package/dist/features/month-picker/MonthPicker.d.ts +6 -6
  47. package/dist/features/month-picker/MonthPickerCell.d.ts +8 -8
  48. package/dist/features/month-switcher/CalendarWithMonthSwitcher.d.ts +15 -15
  49. package/dist/features/month-switcher/MonthSwitcherBelow.d.ts +12 -12
  50. package/dist/features/month-switcher/hooks/UseSelectedMonthStepperLogic.d.ts +6 -6
  51. package/dist/features/preset-picker/CalendarPreset.d.ts +14 -14
  52. package/dist/features/preset-picker/PresetFactory.d.ts +2 -2
  53. package/dist/features/preset-picker/PresetPicker.d.ts +6 -6
  54. package/dist/features/time-picker/TimePicker.d.ts +5 -5
  55. package/dist/features/time-picker/TimePickerCell.d.ts +10 -10
  56. package/dist/features/time-picker/TimePickerColumn.d.ts +10 -10
  57. package/dist/features/today-state/UseHighlightToday.d.ts +2 -2
  58. package/dist/features/year-picker/YearPicker.d.ts +6 -6
  59. package/dist/features/year-picker/YearPickerCell.d.ts +7 -7
  60. package/dist/index.d.ts +32 -32
  61. package/dist/index.es.js +2866 -2058
  62. package/dist/index.es.js.map +1 -1
  63. package/dist/index.js +1 -2148
  64. package/dist/index.js.map +1 -1
  65. package/dist/types/CalendarTypes.d.ts +133 -133
  66. package/dist/types/DateRange.d.ts +16 -16
  67. package/dist/types/InternalPanelAndFocusStateProps.d.ts +3 -3
  68. package/dist/util/calendar/CalendarDataFactory.d.ts +64 -64
  69. package/dist/util/calendar/StateHelper.d.ts +3 -3
  70. package/dist/util/calendar/StateModifier.d.ts +11 -11
  71. package/dist/util/date/DateFormats.d.ts +11 -11
  72. package/dist/util/date/DateListTools.d.ts +3 -3
  73. package/dist/util/date/DateMinMaxValidator.d.ts +1 -1
  74. package/dist/util/date-range/DateRangeTransformer.d.ts +3 -3
  75. package/dist/util/date-range/DateRangeValidator.d.ts +4 -4
  76. package/dist/util/time/OverlappingTimesValidator.d.ts +11 -11
  77. package/dist/util/time/TimeStringFormatValidator.d.ts +8 -8
  78. package/dist/util/time/TimeTransformer.d.ts +8 -8
  79. package/package.json +10 -11
  80. package/dist/components/calendar-types/date-range-calendar/DateRangeCalendar.stories.d.ts +0 -20
  81. package/dist/components/calendar-types/date-range-exclusion-calendar/DateRangeExclusionCalendar.stories.d.ts +0 -17
  82. package/dist/components/calendar-types/multi-date-calendar/MultiDateCalendar.stories.d.ts +0 -15
  83. package/dist/components/calendar-types/multi-date-calendar/__tests__/UseMultiDateSelection.test.d.ts +0 -1
  84. package/dist/components/calendar-types/single-date-calendar/SingleDateCalendar.stories.d.ts +0 -17
  85. package/dist/components/calendar-types/single-week-calendar/SingleWeekCalendar.stories.d.ts +0 -8
  86. package/dist/components/input-types/date-input/DateInput.stories.d.ts +0 -19
  87. package/dist/components/input-types/date-range-dual-text-input/DateRangeDualTextInput.stories.d.ts +0 -18
  88. package/dist/components/input-types/date-range-input/DateRangeInput.stories.d.ts +0 -17
  89. package/dist/components/input-types/date-text-input/DateTextInput.stories.d.ts +0 -19
  90. package/dist/components/input-types/date-time-input/DateTimeInput.stories.d.ts +0 -14
  91. package/dist/components/input-types/time-text-input/TimeTextInput.stories.d.ts +0 -15
  92. package/dist/features/month-picker/MonthPicker.stories.d.ts +0 -7
  93. package/dist/features/preset-picker/PresetPicker.stories.d.ts +0 -7
  94. package/dist/features/time-picker/TimePicker.stories.d.ts +0 -7
  95. package/dist/features/year-picker/YearPicker.stories.d.ts +0 -12
  96. package/dist/util/calendar/__tests__/CalendarDataFactory.test.d.ts +0 -1
  97. package/dist/util/calendar/__tests__/StateHelper.test.d.ts +0 -1
  98. package/dist/util/calendar/__tests__/StateModifier.test.d.ts +0 -1
  99. package/dist/util/date/__tests__/DateListTools.test.d.ts +0 -1
  100. package/dist/util/date/__tests__/DateMinMaxValidator.test.d.ts +0 -1
  101. package/dist/util/date-range/__tests__/DateRangeValidator.test.d.ts +0 -1
  102. package/dist/util/time/__tests__/OverlappingTimesValidator.test.d.ts +0 -1
  103. package/dist/util/time/__tests__/TimeStringFormatValidator.test.d.ts +0 -1
  104. package/dist/util/time/__tests__/TimeTransformer.test.d.ts +0 -1
@@ -1,133 +1,133 @@
1
- import * as React from "react";
2
- import { CalendarTheme } from "../components/calendar/CalendarTheme";
3
- import { DayData, MonthData, WeekData } from "../util/calendar/CalendarDataFactory";
4
- export interface CalendarDayProps<T = {}> extends ExtraDayContentProps<T> {
5
- extraDayContent?: React.ComponentType<ExtraDayContentProps<T>>;
6
- onClickDay?: OnClickDay<T>;
7
- defaultHighlights?: Array<DayStateHighlight>;
8
- }
9
- export interface ExtraDayContentProps<T = {}> {
10
- month: MonthData;
11
- week: WeekData;
12
- day: DayData;
13
- dayState?: DayState;
14
- userData?: T;
15
- theme: CalendarTheme;
16
- }
17
- export interface CalendarOnClicks<T> {
18
- /** onClick for the week day names over the days in the month. */
19
- onClickWeekDay?: OnClickWeekDay;
20
- /** onClick for the week numbers to the left of the days in the month. */
21
- onClickWeek?: OnClickWeek;
22
- /** onClick for a day in the calendar */
23
- onClickDay?: OnClickDay<T>;
24
- /** onClick for the month in the calendar header */
25
- onClickMonth?: OnClickMonth;
26
- /** onClick for the year in the calendar header */
27
- onClickYear?: OnClickYear;
28
- }
29
- export declare type RenderWeekNumber = (week: WeekData, theme: CalendarTheme, onClick?: OnClickWeek) => JSX.Element;
30
- export declare type RenderWeekDay = (weekDayName: string, theme: CalendarTheme, onClick?: OnClickWeekDay) => JSX.Element;
31
- export interface Renderers {
32
- /** Render function for week number to the left of the days in the month. */
33
- renderWeekNumber?: RenderWeekNumber;
34
- /** Render function for week day names over the days in the month. */
35
- renderWeekDay?: RenderWeekDay;
36
- }
37
- export interface CalendarProps<T> extends CalendarHeaderContentProps, CalendarOnClicks<T>, Renderers, OptionalMinMaxDatesAsString {
38
- /** The year to show. If used, must also provide month. Overrides prop date. */
39
- year?: number;
40
- /** The month to show. If used, must also provide year. Overrides prop date. */
41
- month?: number;
42
- /** The date to show. If used, do not use props year and month. */
43
- date?: Date;
44
- /** Number of months to display. The selected date will be the first month. */
45
- numMonths?: number;
46
- /** Split the months into rows. */
47
- monthsPerRow?: number;
48
- /** User value to pass down to renderers. */
49
- userDataPerMonth?: CalendarUserData<T>;
50
- /** Internal state to pass down to renderers. Do not use it, this is used by the framework. */
51
- statePerMonth?: CalendarState;
52
- /**
53
- * The component to use to render a day in the calendar.
54
- * Must use CalendarDayProps. Use CalendarDay or create your own.
55
- */
56
- dayComponent?: React.ComponentType<CalendarDayProps<T>>;
57
- /**
58
- * If supplied, this component will be rendered in the default day component inside a relative div.
59
- * This allows for added custom content in a day cell.
60
- */
61
- extraDayContent?: React.ComponentType<ExtraDayContentProps<T>>;
62
- /** The width of a cell in the calendar. Applies to days, week numbers, headers, etc. */
63
- width?: string;
64
- /** The height of a cell in the calendar. Applies to days, week numbers, headers, etc. */
65
- height?: string;
66
- /** Default highlights that will be applied to all days. */
67
- defaultHighlights?: Array<DayStateHighlight>;
68
- /** If true, today's date will be highlighted. */
69
- highlightToday?: boolean;
70
- /** The theme to use. */
71
- theme?: CalendarTheme;
72
- }
73
- export interface CalendarHeaderContentProps {
74
- /** Content to put left of the month header text. */
75
- headerLeftContent?: React.ReactElement<{}>;
76
- /** Content to put right of the month header text. */
77
- headerRightContent?: React.ReactElement<{}>;
78
- }
79
- export interface CalendarPropsWithDateSet<T> {
80
- year: number;
81
- month: number;
82
- numMonths?: number;
83
- monthsPerRow?: number;
84
- dayComponent?: React.ComponentType<CalendarDayProps<T>>;
85
- }
86
- export declare type DayStateHighlight = "selected" | "singleSelected" | "selectedStart" | "selectedEnd" | "range" | "today" | "error" | "disabled" | string;
87
- export interface HighlightsState {
88
- highlights?: Array<DayStateHighlight>;
89
- }
90
- export interface OptionalMinMaxDates {
91
- /**
92
- * Earliest date that can be interacted with. Earlier dates will be disabled.
93
- */
94
- minDate?: Date;
95
- /**
96
- * Latest date that can be interacted with. Later dates will be disabled.
97
- */
98
- maxDate?: Date;
99
- }
100
- export interface OptionalMinMaxDatesAsString {
101
- /**
102
- * Earliest date that can be interacted with. Earlier dates will be disabled.
103
- */
104
- minDate?: string;
105
- /**
106
- * Latest date that can be interacted with. Later dates will be disabled.
107
- */
108
- maxDate?: string;
109
- }
110
- export declare type DayState = HighlightsState;
111
- export declare type OnClickDay<T> = (day: DayData, data: T | undefined, ev: React.MouseEvent<HTMLButtonElement>) => void;
112
- export declare type OnClickWeekDay = (weekDay: number, ev: React.MouseEvent<HTMLButtonElement>) => void;
113
- export declare type OnClickWeek = (week: WeekData, ev: React.MouseEvent<HTMLButtonElement>) => void;
114
- export declare type OnClickMonth = (month: MonthData) => void;
115
- export declare type OnClickYear = (year: number) => void;
116
- export declare type CalendarUserData<T> = {
117
- [key: string]: CalendarUserMonthData<T>;
118
- };
119
- export declare type CalendarUserMonthData<T> = {
120
- [key: number]: CalendarUserWeekData<T>;
121
- };
122
- export declare type CalendarUserWeekData<T> = {
123
- [key: number]: T;
124
- };
125
- export declare type CalendarState = {
126
- [key: string]: StateForMonth;
127
- };
128
- export declare type StateForMonth = {
129
- [key: number]: StateForWeek;
130
- };
131
- export declare type StateForWeek = {
132
- [key: number]: DayState;
133
- } & HighlightsState;
1
+ import * as React from "react";
2
+ import { CalendarTheme } from "../components/calendar/CalendarTheme";
3
+ import { DayData, MonthData, WeekData } from "../util/calendar/CalendarDataFactory";
4
+ export interface CalendarDayProps<T = {}> extends ExtraDayContentProps<T> {
5
+ extraDayContent?: React.ComponentType<ExtraDayContentProps<T>>;
6
+ onClickDay?: OnClickDay<T>;
7
+ defaultHighlights?: Array<DayStateHighlight>;
8
+ }
9
+ export interface ExtraDayContentProps<T = {}> {
10
+ month: MonthData;
11
+ week: WeekData;
12
+ day: DayData;
13
+ dayState?: DayState;
14
+ userData?: T;
15
+ theme: CalendarTheme;
16
+ }
17
+ export interface CalendarOnClicks<T> {
18
+ /** onClick for the week day names over the days in the month. */
19
+ onClickWeekDay?: OnClickWeekDay;
20
+ /** onClick for the week numbers to the left of the days in the month. */
21
+ onClickWeek?: OnClickWeek;
22
+ /** onClick for a day in the calendar */
23
+ onClickDay?: OnClickDay<T>;
24
+ /** onClick for the month in the calendar header */
25
+ onClickMonth?: OnClickMonth;
26
+ /** onClick for the year in the calendar header */
27
+ onClickYear?: OnClickYear;
28
+ }
29
+ export declare type RenderWeekNumber = (week: WeekData, theme: CalendarTheme, onClick?: OnClickWeek) => JSX.Element;
30
+ export declare type RenderWeekDay = (weekDayName: string, theme: CalendarTheme, onClick?: OnClickWeekDay) => JSX.Element;
31
+ export interface Renderers {
32
+ /** Render function for week number to the left of the days in the month. */
33
+ renderWeekNumber?: RenderWeekNumber;
34
+ /** Render function for week day names over the days in the month. */
35
+ renderWeekDay?: RenderWeekDay;
36
+ }
37
+ export interface CalendarProps<T> extends CalendarHeaderContentProps, CalendarOnClicks<T>, Renderers, OptionalMinMaxDatesAsString {
38
+ /** The year to show. If used, must also provide month. Overrides prop date. */
39
+ year?: number;
40
+ /** The month to show. If used, must also provide year. Overrides prop date. */
41
+ month?: number;
42
+ /** The date to show. If used, do not use props year and month. */
43
+ date?: Date;
44
+ /** Number of months to display. The selected date will be the first month. */
45
+ numMonths?: number;
46
+ /** Split the months into rows. */
47
+ monthsPerRow?: number;
48
+ /** User value to pass down to renderers. */
49
+ userDataPerMonth?: CalendarUserData<T>;
50
+ /** Internal state to pass down to renderers. Do not use it, this is used by the framework. */
51
+ statePerMonth?: CalendarState;
52
+ /**
53
+ * The component to use to render a day in the calendar.
54
+ * Must use CalendarDayProps. Use CalendarDay or create your own.
55
+ */
56
+ dayComponent?: React.ComponentType<CalendarDayProps<T>>;
57
+ /**
58
+ * If supplied, this component will be rendered in the default day component inside a relative div.
59
+ * This allows for added custom content in a day cell.
60
+ */
61
+ extraDayContent?: React.ComponentType<ExtraDayContentProps<T>>;
62
+ /** The width of a cell in the calendar. Applies to days, week numbers, headers, etc. */
63
+ width?: string;
64
+ /** The height of a cell in the calendar. Applies to days, week numbers, headers, etc. */
65
+ height?: string;
66
+ /** Default highlights that will be applied to all days. */
67
+ defaultHighlights?: Array<DayStateHighlight>;
68
+ /** If true, today's date will be highlighted. */
69
+ highlightToday?: boolean;
70
+ /** The theme to use. */
71
+ theme?: CalendarTheme;
72
+ }
73
+ export interface CalendarHeaderContentProps {
74
+ /** Content to put left of the month header text. */
75
+ headerLeftContent?: React.ReactElement<{}>;
76
+ /** Content to put right of the month header text. */
77
+ headerRightContent?: React.ReactElement<{}>;
78
+ }
79
+ export interface CalendarPropsWithDateSet<T> {
80
+ year: number;
81
+ month: number;
82
+ numMonths?: number;
83
+ monthsPerRow?: number;
84
+ dayComponent?: React.ComponentType<CalendarDayProps<T>>;
85
+ }
86
+ export declare type DayStateHighlight = "selected" | "singleSelected" | "selectedStart" | "selectedEnd" | "range" | "today" | "error" | "disabled" | string;
87
+ export interface HighlightsState {
88
+ highlights?: Array<DayStateHighlight>;
89
+ }
90
+ export interface OptionalMinMaxDates {
91
+ /**
92
+ * Earliest date that can be interacted with. Earlier dates will be disabled.
93
+ */
94
+ minDate?: Date;
95
+ /**
96
+ * Latest date that can be interacted with. Later dates will be disabled.
97
+ */
98
+ maxDate?: Date;
99
+ }
100
+ export interface OptionalMinMaxDatesAsString {
101
+ /**
102
+ * Earliest date that can be interacted with. Earlier dates will be disabled.
103
+ */
104
+ minDate?: string;
105
+ /**
106
+ * Latest date that can be interacted with. Later dates will be disabled.
107
+ */
108
+ maxDate?: string;
109
+ }
110
+ export declare type DayState = HighlightsState;
111
+ export declare type OnClickDay<T> = (day: DayData, data: T | undefined, ev: React.MouseEvent<HTMLButtonElement>) => void;
112
+ export declare type OnClickWeekDay = (weekDay: number, ev: React.MouseEvent<HTMLButtonElement>) => void;
113
+ export declare type OnClickWeek = (week: WeekData, ev: React.MouseEvent<HTMLButtonElement>) => void;
114
+ export declare type OnClickMonth = (month: MonthData) => void;
115
+ export declare type OnClickYear = (year: number) => void;
116
+ export declare type CalendarUserData<T> = {
117
+ [key: string]: CalendarUserMonthData<T>;
118
+ };
119
+ export declare type CalendarUserMonthData<T> = {
120
+ [key: number]: CalendarUserWeekData<T>;
121
+ };
122
+ export declare type CalendarUserWeekData<T> = {
123
+ [key: number]: T;
124
+ };
125
+ export declare type CalendarState = {
126
+ [key: string]: StateForMonth;
127
+ };
128
+ export declare type StateForMonth = {
129
+ [key: number]: StateForWeek;
130
+ };
131
+ export declare type StateForWeek = {
132
+ [key: number]: DayState;
133
+ } & HighlightsState;
@@ -1,16 +1,16 @@
1
- export interface DateRange {
2
- startDate?: Date;
3
- endDate?: Date;
4
- }
5
- export interface DateStringRange {
6
- /**
7
- * Format: yyyy-MM-dd
8
- * Example: 2021-02-21
9
- */
10
- startDate?: string;
11
- /**
12
- * Format: yyyy-MM-dd
13
- * Example: 2021-02-21
14
- */
15
- endDate?: string;
16
- }
1
+ export interface DateRange {
2
+ startDate?: Date;
3
+ endDate?: Date;
4
+ }
5
+ export interface DateStringRange {
6
+ /**
7
+ * Format: yyyy-MM-dd
8
+ * Example: 2021-02-21
9
+ */
10
+ startDate?: string;
11
+ /**
12
+ * Format: yyyy-MM-dd
13
+ * Example: 2021-02-21
14
+ */
15
+ endDate?: string;
16
+ }
@@ -1,3 +1,3 @@
1
- import { UseInternalPanelStateProps } from "../features/internal-panel-state/UseInternalPanelState";
2
- import { CalendarWithMonthSwitcherProps } from "../features/month-switcher/CalendarWithMonthSwitcher";
3
- export declare type InternalPanelAndFocusStateProps<T> = Omit<CalendarWithMonthSwitcherProps<T>, "currentPanel" | "setCurrentPanel" | "dateInFocus" | "setDateInFocus"> & UseInternalPanelStateProps;
1
+ import { UseInternalPanelStateProps } from "../features/internal-panel-state/UseInternalPanelState";
2
+ import { CalendarWithMonthSwitcherProps } from "../features/month-switcher/CalendarWithMonthSwitcher";
3
+ export declare type InternalPanelAndFocusStateProps<T> = Omit<CalendarWithMonthSwitcherProps<T>, "currentPanel" | "setCurrentPanel" | "dateInFocus" | "setDateInFocus"> & UseInternalPanelStateProps;
@@ -1,64 +1,64 @@
1
- export declare enum Month {
2
- JANUARY = 0,
3
- FEBRUARY = 1,
4
- MARCH = 2,
5
- APRIL = 3,
6
- MAY = 4,
7
- JUNE = 5,
8
- JULY = 6,
9
- AUGUST = 7,
10
- SEPTEMBER = 8,
11
- OCTOBER = 9,
12
- NOVEMBER = 10,
13
- DECEMBER = 11
14
- }
15
- export declare enum WeekDay {
16
- SUNDAY = 0,
17
- MONDAY = 1,
18
- TUESDAY = 2,
19
- WEDNESDAY = 3,
20
- THURSDAY = 4,
21
- FRIDAY = 5,
22
- SATURDAY = 6
23
- }
24
- export interface DayData {
25
- name: string;
26
- date: Date;
27
- dateString: string;
28
- weekNumber: number;
29
- year: number;
30
- month: number;
31
- dayOfMonth: number;
32
- dayOfWeek: number;
33
- isFirstDayOfWeek: boolean;
34
- isLastDayOfWeek: boolean;
35
- isFirstDayOfMonth: boolean;
36
- isLastDayOfMonth: boolean;
37
- }
38
- export interface WeekData {
39
- weekNumber: number;
40
- startMonth: number;
41
- startYear: number;
42
- endMonth: number;
43
- endYear: number;
44
- isLastWeekOfMonth: boolean;
45
- days: Array<DayData>;
46
- }
47
- export interface MonthData {
48
- monthString: string;
49
- name: string;
50
- year: number;
51
- monthInYear: number;
52
- weeks: Array<WeekData>;
53
- }
54
- export declare const getMonthsInYear: (year: number, startMonth: number, numMonths: number) => Array<MonthData>;
55
- export declare const getMonthInYear: (year: number, month: number) => MonthData;
56
- export declare const getWeeksForMonth: (year: number, month: number, forceSixWeeks?: boolean) => Array<WeekData>;
57
- export declare const getWeekForDate: (firstDayOfWeek: Date) => WeekData;
58
- export declare const createDay: (date: Date) => DayData;
59
- export declare const getDaysForWeekForDate: (firstDayOfWeek: Date) => Array<DayData>;
60
- export declare const getStartDateOfISOWeek: (weekNumber: number, year: number) => Date;
61
- export declare const calculateOverflowingMonth: (year: number, month: number) => {
62
- year: number;
63
- month: number;
64
- };
1
+ export declare enum Month {
2
+ JANUARY = 0,
3
+ FEBRUARY = 1,
4
+ MARCH = 2,
5
+ APRIL = 3,
6
+ MAY = 4,
7
+ JUNE = 5,
8
+ JULY = 6,
9
+ AUGUST = 7,
10
+ SEPTEMBER = 8,
11
+ OCTOBER = 9,
12
+ NOVEMBER = 10,
13
+ DECEMBER = 11
14
+ }
15
+ export declare enum WeekDay {
16
+ SUNDAY = 0,
17
+ MONDAY = 1,
18
+ TUESDAY = 2,
19
+ WEDNESDAY = 3,
20
+ THURSDAY = 4,
21
+ FRIDAY = 5,
22
+ SATURDAY = 6
23
+ }
24
+ export interface DayData {
25
+ name: string;
26
+ date: Date;
27
+ dateString: string;
28
+ weekNumber: number;
29
+ year: number;
30
+ month: number;
31
+ dayOfMonth: number;
32
+ dayOfWeek: number;
33
+ isFirstDayOfWeek: boolean;
34
+ isLastDayOfWeek: boolean;
35
+ isFirstDayOfMonth: boolean;
36
+ isLastDayOfMonth: boolean;
37
+ }
38
+ export interface WeekData {
39
+ weekNumber: number;
40
+ startMonth: number;
41
+ startYear: number;
42
+ endMonth: number;
43
+ endYear: number;
44
+ isLastWeekOfMonth: boolean;
45
+ days: Array<DayData>;
46
+ }
47
+ export interface MonthData {
48
+ monthString: string;
49
+ name: string;
50
+ year: number;
51
+ monthInYear: number;
52
+ weeks: Array<WeekData>;
53
+ }
54
+ export declare const getMonthsInYear: (year: number, startMonth: number, numMonths: number) => Array<MonthData>;
55
+ export declare const getMonthInYear: (year: number, month: number) => MonthData;
56
+ export declare const getWeeksForMonth: (year: number, month: number, forceSixWeeks?: boolean) => Array<WeekData>;
57
+ export declare const getWeekForDate: (firstDayOfWeek: Date) => WeekData;
58
+ export declare const createDay: (date: Date) => DayData;
59
+ export declare const getDaysForWeekForDate: (firstDayOfWeek: Date) => Array<DayData>;
60
+ export declare const getStartDateOfISOWeek: (weekNumber: number, year: number) => Date;
61
+ export declare const calculateOverflowingMonth: (year: number, month: number) => {
62
+ year: number;
63
+ month: number;
64
+ };
@@ -1,3 +1,3 @@
1
- import { DayState, DayStateHighlight } from "../../types/CalendarTypes";
2
- export declare const dayHasHighlight: (dayState: DayState | undefined, defaultHighlights: Array<DayStateHighlight> | undefined, highlight: string) => boolean;
3
- export declare const dayHighlightSelect: <T>(dayState: DayState | undefined, defaultHighlights: Array<DayStateHighlight> | undefined, highlightsOrBoolean: Array<string | boolean>, returnValues: T[], fallbackValue?: T | undefined) => T | undefined;
1
+ import { DayState, DayStateHighlight } from "../../types/CalendarTypes";
2
+ export declare const dayHasHighlight: (dayState: DayState | undefined, defaultHighlights: Array<DayStateHighlight> | undefined, highlight: string) => boolean;
3
+ export declare const dayHighlightSelect: <T>(dayState: DayState | undefined, defaultHighlights: Array<DayStateHighlight> | undefined, highlightsOrBoolean: Array<string | boolean>, returnValues: T[], fallbackValue?: T | undefined) => T | undefined;
@@ -1,11 +1,11 @@
1
- import { CalendarState, CalendarUserData, DayState, DayStateHighlight } from "../../types/CalendarTypes";
2
- import { WeekData } from "./CalendarDataFactory";
3
- export declare const buildDayStateForDateRange: (statePerMonth?: CalendarUserData<DayState>, start?: Date, end?: Date) => CalendarUserData<DayState> | undefined;
4
- export declare const buildDayStateForSingleMonth: (statePerMonth: CalendarUserData<import("../../types/CalendarTypes").HighlightsState> | undefined, start: Date | undefined, end: Date | undefined, dateInFocus: Date) => CalendarUserData<DayState> | undefined;
5
- export declare const buildDayStateForRange: (statePerMonth: CalendarUserData<import("../../types/CalendarTypes").HighlightsState> | undefined, start: Date | undefined, end: Date | undefined, startLimit: Date, endLimit: Date) => CalendarUserData<DayState> | undefined;
6
- export declare const setDayStateValue: (state: CalendarUserData<DayState> | undefined, date: Date, values: Partial<DayState>) => CalendarUserData<DayState>;
7
- export declare const setDayStateValueFunction: (state: CalendarUserData<DayState> | undefined, date: Date, setter: (dayState: DayState | undefined) => Partial<DayState>) => CalendarUserData<DayState>;
8
- export declare const addDayStateHighlights: (calendarState: CalendarState | undefined, date: Date, highlights: Array<DayStateHighlight>) => CalendarUserData<DayState>;
9
- export declare const addDayStateHighlightsOnSingleDay: (dayState: DayState | undefined, highlights: Array<DayStateHighlight>) => DayState;
10
- export declare const addWeekStateHighlights: (calendarState: CalendarState | undefined, week: WeekData, highlights: Array<DayStateHighlight>) => CalendarUserData<DayState>;
11
- export declare const addWeekRangeHighlights: (calendarState: CalendarState | undefined, week: WeekData) => CalendarUserData<DayState>;
1
+ import { CalendarState, CalendarUserData, DayState, DayStateHighlight } from "../../types/CalendarTypes";
2
+ import { WeekData } from "./CalendarDataFactory";
3
+ export declare const buildDayStateForDateRange: (statePerMonth?: CalendarUserData<DayState>, start?: Date, end?: Date) => CalendarUserData<DayState> | undefined;
4
+ export declare const buildDayStateForSingleMonth: (statePerMonth: CalendarUserData<import("../../types/CalendarTypes").HighlightsState> | undefined, start: Date | undefined, end: Date | undefined, dateInFocus: Date) => CalendarUserData<DayState> | undefined;
5
+ export declare const buildDayStateForRange: (statePerMonth: CalendarUserData<import("../../types/CalendarTypes").HighlightsState> | undefined, start: Date | undefined, end: Date | undefined, startLimit: Date, endLimit: Date) => CalendarUserData<DayState> | undefined;
6
+ export declare const setDayStateValue: (state: CalendarUserData<DayState> | undefined, date: Date, values: Partial<DayState>) => CalendarUserData<DayState>;
7
+ export declare const setDayStateValueFunction: (state: CalendarUserData<DayState> | undefined, date: Date, setter: (dayState: DayState | undefined) => Partial<DayState>) => CalendarUserData<DayState>;
8
+ export declare const addDayStateHighlights: (calendarState: CalendarState | undefined, date: Date, highlights: Array<DayStateHighlight>) => CalendarUserData<DayState>;
9
+ export declare const addDayStateHighlightsOnSingleDay: (dayState: DayState | undefined, highlights: Array<DayStateHighlight>) => DayState;
10
+ export declare const addWeekStateHighlights: (calendarState: CalendarState | undefined, week: WeekData, highlights: Array<DayStateHighlight>) => CalendarUserData<DayState>;
11
+ export declare const addWeekRangeHighlights: (calendarState: CalendarState | undefined, week: WeekData) => CalendarUserData<DayState>;
@@ -1,11 +1,11 @@
1
- export declare const DateFormats: {
2
- yearAndMonth: string;
3
- fullDate: string;
4
- fullMonthName: string;
5
- fullDateAndTime: string;
6
- fullDateAndTimeSystem: string;
7
- weekDayName: string;
8
- weekDayNameShort: string;
9
- dateAndMonth: string;
10
- monthAndDate: string;
11
- };
1
+ export declare const DateFormats: {
2
+ yearAndMonth: string;
3
+ fullDate: string;
4
+ fullMonthName: string;
5
+ fullDateAndTime: string;
6
+ fullDateAndTimeSystem: string;
7
+ weekDayName: string;
8
+ weekDayNameShort: string;
9
+ dateAndMonth: string;
10
+ monthAndDate: string;
11
+ };
@@ -1,3 +1,3 @@
1
- export declare const addDateIfNotExists: (list: Array<Date>, date: Date) => Array<Date>;
2
- export declare const removeDateIfExist: (list: Array<Date>, date: Date) => Array<Date>;
3
- export declare const listContainsDate: (list: Array<Date>, date: Date) => boolean;
1
+ export declare const addDateIfNotExists: (list: Array<Date>, date: Date) => Array<Date>;
2
+ export declare const removeDateIfExist: (list: Array<Date>, date: Date) => Array<Date>;
3
+ export declare const listContainsDate: (list: Array<Date>, date: Date) => boolean;
@@ -1 +1 @@
1
- export declare const isDateInMinMaxRange: (date: Date, min: Date | undefined, max: Date | undefined) => boolean;
1
+ export declare const isDateInMinMaxRange: (date: Date, min: Date | undefined, max: Date | undefined) => boolean;
@@ -1,3 +1,3 @@
1
- import { DateRange, DateStringRange } from "../../types/DateRange";
2
- export declare const dateRangeToStrings: (dateRange: DateRange) => DateStringRange;
3
- export declare const stringsToDateRange: ({ startDate, endDate, }: DateStringRange) => DateRange;
1
+ import { DateRange, DateStringRange } from "../../types/DateRange";
2
+ export declare const dateRangeToStrings: (dateRange: DateRange) => DateStringRange;
3
+ export declare const stringsToDateRange: ({ startDate, endDate, }: DateStringRange) => DateRange;
@@ -1,4 +1,4 @@
1
- import { DateRange, DateStringRange } from "../../types/DateRange";
2
- export declare const isDateRangeInvalid: ({ startDate, endDate, }: DateRange) => boolean;
3
- export declare const toggleDatesIfEndIsEarlierThanStart: (dateRange: DateRange) => DateRange;
4
- export declare const toggleDateStringsIfEndIsEarlierThanStart: (dateRange: DateStringRange) => DateStringRange;
1
+ import { DateRange, DateStringRange } from "../../types/DateRange";
2
+ export declare const isDateRangeInvalid: ({ startDate, endDate, }: DateRange) => boolean;
3
+ export declare const toggleDatesIfEndIsEarlierThanStart: (dateRange: DateRange) => DateRange;
4
+ export declare const toggleDateStringsIfEndIsEarlierThanStart: (dateRange: DateStringRange) => DateStringRange;
@@ -1,11 +1,11 @@
1
- export interface TimeInterval {
2
- startTime: string;
3
- endTime: string;
4
- }
5
- export interface TimeIntervalNumber {
6
- startTime: number | null;
7
- endTime: number | null;
8
- }
9
- export declare const transformTimeIntervalToNumbers: (interval: TimeInterval) => TimeIntervalNumber;
10
- export declare const timesOverlap: (i1: TimeIntervalNumber, i2: TimeIntervalNumber) => boolean;
11
- export declare const hasOverlappingTimes: (intervals: Array<TimeIntervalNumber>) => boolean;
1
+ export interface TimeInterval {
2
+ startTime: string;
3
+ endTime: string;
4
+ }
5
+ export interface TimeIntervalNumber {
6
+ startTime: number | null;
7
+ endTime: number | null;
8
+ }
9
+ export declare const transformTimeIntervalToNumbers: (interval: TimeInterval) => TimeIntervalNumber;
10
+ export declare const timesOverlap: (i1: TimeIntervalNumber, i2: TimeIntervalNumber) => boolean;
11
+ export declare const hasOverlappingTimes: (intervals: Array<TimeIntervalNumber>) => boolean;
@@ -1,8 +1,8 @@
1
- export interface FormatTimeStringResult {
2
- time: string;
3
- success: boolean;
4
- }
5
- export declare const formatHours: (hours: string) => string;
6
- export declare const formatMinutes: (minutes: string) => string;
7
- export declare const formatTimeString: (time: string) => FormatTimeStringResult;
8
- export declare const validUserInput: (input: string | undefined) => boolean;
1
+ export interface FormatTimeStringResult {
2
+ time: string;
3
+ success: boolean;
4
+ }
5
+ export declare const formatHours: (hours: string) => string;
6
+ export declare const formatMinutes: (minutes: string) => string;
7
+ export declare const formatTimeString: (time: string) => FormatTimeStringResult;
8
+ export declare const validUserInput: (input: string | undefined) => boolean;
@@ -1,8 +1,8 @@
1
- export declare const transformNumberTimeToString: (time: number | undefined | null) => string | undefined;
2
- export declare const transformTimeStringToNumber: (time: string | undefined | null) => number | null;
3
- export declare const isValidTimeString: (time: string | undefined) => boolean;
4
- export declare const getHoursAndMinutesFromTimeString: (value: string | undefined) => {
5
- hour: number | undefined;
6
- minute: number | undefined;
7
- };
8
- export declare const transformTimeInDateToTimeString: (date: Date) => string;
1
+ export declare const transformNumberTimeToString: (time: number | undefined | null) => string | undefined;
2
+ export declare const transformTimeStringToNumber: (time: string | undefined | null) => number | null;
3
+ export declare const isValidTimeString: (time: string | undefined) => boolean;
4
+ export declare const getHoursAndMinutesFromTimeString: (value: string | undefined) => {
5
+ hour: number | undefined;
6
+ minute: number | undefined;
7
+ };
8
+ export declare const transformTimeInDateToTimeString: (date: Date) => string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stenajs-webui/calendar",
3
- "version": "17.6.0",
3
+ "version": "17.9.0",
4
4
  "description": "",
5
5
  "author": "mattias800",
6
6
  "license": "MIT",
@@ -18,20 +18,19 @@
18
18
  "npm": ">=5"
19
19
  },
20
20
  "scripts": {
21
- "test": "cross-env CI=1 react-scripts-ts test --env=jsdom",
22
- "build": "rollup -c",
23
- "start": "rollup -c -w",
24
- "clean": "rm -rf dist",
21
+ "build": "yarn tsc -p tsconfig.build.json && yarn vite build",
22
+ "start": "yarn tsc -p tsconfig.build.json && yarn vite build --watch",
23
+ "clean": "rimraf dist",
25
24
  "prepare": "yarn clean && yarn run build",
26
25
  "predeploy": "cd example && yarn install && yarn run build",
27
26
  "deploy": "gh-pages -d example/build"
28
27
  },
29
28
  "dependencies": {
30
- "@stenajs-webui/core": "17.6.0",
31
- "@stenajs-webui/elements": "17.6.0",
32
- "@stenajs-webui/forms": "17.6.0",
33
- "@stenajs-webui/theme": "17.6.0",
34
- "@stenajs-webui/tooltip": "17.6.0",
29
+ "@stenajs-webui/core": "17.9.0",
30
+ "@stenajs-webui/elements": "17.9.0",
31
+ "@stenajs-webui/forms": "17.9.0",
32
+ "@stenajs-webui/theme": "17.9.0",
33
+ "@stenajs-webui/tooltip": "17.9.0",
35
34
  "date-fns": "2.26.0"
36
35
  },
37
36
  "peerDependencies": {
@@ -71,5 +70,5 @@
71
70
  "files": [
72
71
  "dist"
73
72
  ],
74
- "gitHead": "2312d798dfd8af052a6340d9ee78c5bc30acbec1"
73
+ "gitHead": "75a374c3203e76acb301a0b4d3a9d119a9bfb8da"
75
74
  }