bge-ui 1.3.4 → 1.3.6

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 (135) hide show
  1. package/dist/datePicker/components/ActionRow.vue.d.ts +1051 -0
  2. package/dist/datePicker/components/Common/ArrowBtn.vue.d.ts +29 -0
  3. package/dist/datePicker/components/Common/InstanceWrap.vue.d.ts +29 -0
  4. package/dist/datePicker/components/Common/SelectionOverlay.vue.d.ts +55 -0
  5. package/dist/datePicker/components/DatePicker/DatePicker.vue.d.ts +1114 -0
  6. package/dist/datePicker/components/DatePicker/DpCalendar.vue.d.ts +1085 -0
  7. package/dist/datePicker/components/DatePicker/DpHeader.vue.d.ts +1103 -0
  8. package/dist/datePicker/components/DatePicker/date-picker.d.ts +35 -0
  9. package/dist/datePicker/components/DatepickerInput.vue.d.ts +1008 -0
  10. package/dist/datePicker/components/DatepickerMenu.vue.d.ts +1061 -0
  11. package/dist/datePicker/components/Icons/CalendarIcon.d.ts +9 -0
  12. package/dist/datePicker/components/Icons/CancelIcon.d.ts +9 -0
  13. package/dist/datePicker/components/Icons/ChevronDownIcon.d.ts +9 -0
  14. package/dist/datePicker/components/Icons/ChevronLeftIcon.d.ts +9 -0
  15. package/dist/datePicker/components/Icons/ChevronRightIcon.d.ts +9 -0
  16. package/dist/datePicker/components/Icons/ChevronUpIcon.d.ts +9 -0
  17. package/dist/datePicker/components/Icons/ClockIcon.d.ts +9 -0
  18. package/dist/datePicker/components/Icons/index.d.ts +7 -0
  19. package/dist/datePicker/components/MonthPicker/MonthPicker.vue.d.ts +1071 -0
  20. package/dist/datePicker/components/MonthPicker/month-picker.d.ts +34 -0
  21. package/dist/datePicker/components/QuarterPicker/QuarterPicker.vue.d.ts +1043 -0
  22. package/dist/datePicker/components/QuarterPicker/quarter-picker.d.ts +25 -0
  23. package/dist/datePicker/components/TimePicker/TimeInput.vue.d.ts +1116 -0
  24. package/dist/datePicker/components/TimePicker/TimePicker.vue.d.ts +1087 -0
  25. package/dist/datePicker/components/TimePicker/TimePickerSolo.vue.d.ts +1036 -0
  26. package/dist/datePicker/components/TimePicker/time-picker-utils.d.ts +15 -0
  27. package/dist/datePicker/components/TimePicker/time-picker.d.ts +13 -0
  28. package/dist/datePicker/components/YearPicker/YearPicker.vue.d.ts +1040 -0
  29. package/dist/datePicker/components/YearPicker/year-picker.d.ts +9 -0
  30. package/dist/datePicker/components/shared/YearModePicker.vue.d.ts +1075 -0
  31. package/dist/datePicker/components/shared/month-quarter-picker.d.ts +29 -0
  32. package/dist/datePicker/composables/arrow-navigate.d.ts +26 -0
  33. package/dist/datePicker/composables/calendar-class.d.ts +8 -0
  34. package/dist/datePicker/composables/common.d.ts +6 -0
  35. package/dist/datePicker/composables/defaults.d.ts +37 -0
  36. package/dist/datePicker/composables/external-internal-mapper.d.ts +14 -0
  37. package/dist/datePicker/composables/flow.d.ts +10 -0
  38. package/dist/datePicker/composables/index.d.ts +14 -0
  39. package/dist/datePicker/composables/model.d.ts +17 -0
  40. package/dist/datePicker/composables/month-year.d.ts +10 -0
  41. package/dist/datePicker/composables/position.d.ts +25 -0
  42. package/dist/datePicker/composables/shared.d.ts +12 -0
  43. package/dist/datePicker/composables/slots.d.ts +10 -0
  44. package/dist/datePicker/composables/state.d.ts +8 -0
  45. package/dist/datePicker/composables/transition.d.ts +7 -0
  46. package/dist/datePicker/composables/validation.d.ts +12 -0
  47. package/dist/datePicker/constants/index.d.ts +43 -0
  48. package/dist/datePicker/datePicker.vue.d.ts +1006 -0
  49. package/dist/datePicker/directives/clickOutside.d.ts +2 -0
  50. package/dist/datePicker/index.vue.d.ts +1012 -0
  51. package/dist/datePicker/interfaces.d.ts +323 -0
  52. package/dist/datePicker/props.d.ts +865 -0
  53. package/dist/datePicker/utils/date-utils.d.ts +45 -0
  54. package/dist/datePicker/utils/defaults.d.ts +42 -0
  55. package/dist/datePicker/utils/timezone.d.ts +8 -0
  56. package/dist/datePicker/utils/type-guard.d.ts +1 -0
  57. package/dist/datePicker/utils/util.d.ts +57 -0
  58. package/dist/dialog/index.vue.d.ts +6 -3
  59. package/dist/index.d.ts +2 -1
  60. package/dist/index.js +13008 -1250
  61. package/dist/style.css +1188 -1
  62. package/dist/tooltip/index.vue.d.ts +2 -2
  63. package/dist/tooltip/usePopper.d.ts +5 -5
  64. package/package.json +3 -2
  65. package/src/datePicker/components/ActionRow.vue +216 -0
  66. package/src/datePicker/components/Common/ArrowBtn.vue +42 -0
  67. package/src/datePicker/components/Common/InstanceWrap.vue +28 -0
  68. package/src/datePicker/components/Common/SelectionOverlay.vue +320 -0
  69. package/src/datePicker/components/DatePicker/DatePicker.vue +302 -0
  70. package/src/datePicker/components/DatePicker/DpCalendar.vue +405 -0
  71. package/src/datePicker/components/DatePicker/DpHeader.vue +332 -0
  72. package/src/datePicker/components/DatePicker/date-picker.ts +674 -0
  73. package/src/datePicker/components/DatepickerInput.vue +334 -0
  74. package/src/datePicker/components/DatepickerMenu.vue +424 -0
  75. package/src/datePicker/components/Icons/CalendarIcon.ts +40 -0
  76. package/src/datePicker/components/Icons/CancelIcon.ts +32 -0
  77. package/src/datePicker/components/Icons/ChevronDownIcon.ts +29 -0
  78. package/src/datePicker/components/Icons/ChevronLeftIcon.ts +29 -0
  79. package/src/datePicker/components/Icons/ChevronRightIcon.ts +29 -0
  80. package/src/datePicker/components/Icons/ChevronUpIcon.ts +29 -0
  81. package/src/datePicker/components/Icons/ClockIcon.ts +32 -0
  82. package/src/datePicker/components/Icons/index.ts +8 -0
  83. package/src/datePicker/components/MonthPicker/MonthPicker.vue +130 -0
  84. package/src/datePicker/components/MonthPicker/month-picker.ts +232 -0
  85. package/src/datePicker/components/QuarterPicker/QuarterPicker.vue +111 -0
  86. package/src/datePicker/components/QuarterPicker/quarter-picker.ts +153 -0
  87. package/src/datePicker/components/TimePicker/TimeInput.vue +477 -0
  88. package/src/datePicker/components/TimePicker/TimePicker.vue +265 -0
  89. package/src/datePicker/components/TimePicker/TimePickerSolo.vue +79 -0
  90. package/src/datePicker/components/TimePicker/time-picker-utils.ts +179 -0
  91. package/src/datePicker/components/TimePicker/time-picker.ts +112 -0
  92. package/src/datePicker/components/YearPicker/YearPicker.vue +70 -0
  93. package/src/datePicker/components/YearPicker/year-picker.ts +109 -0
  94. package/src/datePicker/components/shared/YearModePicker.vue +105 -0
  95. package/src/datePicker/components/shared/month-quarter-picker.ts +199 -0
  96. package/src/datePicker/composables/arrow-navigate.ts +191 -0
  97. package/src/datePicker/composables/calendar-class.ts +383 -0
  98. package/src/datePicker/composables/common.ts +25 -0
  99. package/src/datePicker/composables/defaults.ts +123 -0
  100. package/src/datePicker/composables/external-internal-mapper.ts +442 -0
  101. package/src/datePicker/composables/flow.ts +70 -0
  102. package/src/datePicker/composables/index.ts +14 -0
  103. package/src/datePicker/composables/model.ts +89 -0
  104. package/src/datePicker/composables/month-year.ts +72 -0
  105. package/src/datePicker/composables/position.ts +297 -0
  106. package/src/datePicker/composables/shared.ts +98 -0
  107. package/src/datePicker/composables/slots.ts +84 -0
  108. package/src/datePicker/composables/state.ts +25 -0
  109. package/src/datePicker/composables/transition.ts +18 -0
  110. package/src/datePicker/composables/validation.ts +312 -0
  111. package/src/datePicker/constants/index.ts +49 -0
  112. package/src/datePicker/datePicker.vue +554 -0
  113. package/src/datePicker/directives/clickOutside.ts +79 -0
  114. package/src/datePicker/index.vue +158 -0
  115. package/src/datePicker/interfaces.ts +404 -0
  116. package/src/datePicker/props.ts +173 -0
  117. package/src/datePicker/style/components/_ActionRow.scss +73 -0
  118. package/src/datePicker/style/components/_Calendar.scss +284 -0
  119. package/src/datePicker/style/components/_DatepickerInput.scss +109 -0
  120. package/src/datePicker/style/components/_DatepickerMenu.scss +213 -0
  121. package/src/datePicker/style/components/_MonthYearInput.scss +97 -0
  122. package/src/datePicker/style/components/_QuarterPicker.scss +53 -0
  123. package/src/datePicker/style/components/_SelectionOverlay.scss +142 -0
  124. package/src/datePicker/style/components/_TimeInput.scss +181 -0
  125. package/src/datePicker/style/components/_shared.scss +15 -0
  126. package/src/datePicker/style/main.scss +259 -0
  127. package/src/datePicker/utils/date-utils.ts +440 -0
  128. package/src/datePicker/utils/defaults.ts +327 -0
  129. package/src/datePicker/utils/timezone.ts +38 -0
  130. package/src/datePicker/utils/type-guard.ts +3 -0
  131. package/src/datePicker/utils/util.ts +322 -0
  132. package/src/dialog/index.vue +9 -0
  133. package/src/form/index.vue +2 -1
  134. package/src/index.ts +6 -2
  135. package/src/slider/index.vue +1 -1
@@ -0,0 +1,312 @@
1
+ import { differenceInCalendarDays, eachDayOfInterval, getDay, getHours, getMinutes, getMonth, getYear } from 'date-fns';
2
+ import {
3
+ checkTimeMinMax,
4
+ getDate,
5
+ getDateForCompare,
6
+ getDaysInBetween,
7
+ getTimeObj,
8
+ isDateAfter,
9
+ isDateBefore,
10
+ isDateEqual,
11
+ resetDate,
12
+ setTimeValue,
13
+ } from '../utils/date-utils';
14
+ import { useDefaults } from '../composables/defaults';
15
+ import { convertType, getMapDate } from '../utils/util';
16
+
17
+ import type { InternalModuleValue, DisabledTimesFn, DisabledTime, TimeModel, MaybeDate } from '../interfaces';
18
+ import type { PickerBasePropsType, AllPropsType } from '../props';
19
+ import { computed } from 'vue';
20
+
21
+ export const useValidation = (props: PickerBasePropsType | AllPropsType) => {
22
+ const { defaultedFilters, defaultedRange, propDates, defaultedMultiDates } = useDefaults(props);
23
+
24
+ const isDateDisabled = (date: Date) => {
25
+ if (!propDates.value.disabledDates) return false;
26
+ if (typeof propDates.value.disabledDates === 'function') return propDates.value.disabledDates(getDate(date));
27
+ return !!getMapDate(date, propDates.value.disabledDates);
28
+ };
29
+
30
+ const validateAboveMax = (date: Date) => {
31
+ if (!propDates.value.maxDate) return false;
32
+ if (props.yearPicker) return getYear(date) > getYear(propDates.value.maxDate);
33
+ return isDateAfter(date, propDates.value.maxDate);
34
+ };
35
+
36
+ const validateBellowMin = (date: Date) => {
37
+ if (!propDates.value.minDate) return false;
38
+ if (props.yearPicker) return getYear(date) < getYear(propDates.value.minDate);
39
+ return isDateBefore(date, propDates.value.minDate);
40
+ };
41
+
42
+ const validateDate = (date: Date) => {
43
+ const aboveMax = validateAboveMax(date);
44
+ const bellowMin = validateBellowMin(date);
45
+ const isDisabled = isDateDisabled(date);
46
+
47
+ const disabledMonths = defaultedFilters.value.months.map((month) => +month);
48
+ const inDisabledMonths = disabledMonths.includes(getMonth(date));
49
+ const weekDayDisabled = props.disabledWeekDays.length
50
+ ? props.disabledWeekDays.some((day) => +day === getDay(date))
51
+ : false;
52
+
53
+ const notInSpecific = checkAllowedDates(date);
54
+
55
+ const dateYear = getYear(date);
56
+
57
+ const outOfYearRange = dateYear < +props.yearRange[0] || dateYear > +props.yearRange[1];
58
+
59
+ return !(
60
+ aboveMax ||
61
+ bellowMin ||
62
+ isDisabled ||
63
+ inDisabledMonths ||
64
+ outOfYearRange ||
65
+ weekDayDisabled ||
66
+ notInSpecific
67
+ );
68
+ };
69
+
70
+ const validateMinDate = (month: number, year: number): boolean => {
71
+ return (
72
+ isDateBefore(...getDateForCompare(propDates.value.minDate, month, year)) ||
73
+ isDateEqual(...getDateForCompare(propDates.value.minDate, month, year))
74
+ );
75
+ };
76
+
77
+ const validateMaxDate = (month: number, year: number): boolean => {
78
+ return (
79
+ isDateAfter(...getDateForCompare(propDates.value.maxDate, month, year)) ||
80
+ isDateEqual(...getDateForCompare(propDates.value.maxDate, month, year))
81
+ );
82
+ };
83
+
84
+ const validateBothMinAndMax = (month: number, year: number, isNext: boolean) => {
85
+ let valid = false;
86
+ if (propDates.value.maxDate && isNext && validateMaxDate(month, year)) {
87
+ valid = true;
88
+ }
89
+ if (propDates.value.minDate && !isNext && validateMinDate(month, year)) {
90
+ valid = true;
91
+ }
92
+ return valid;
93
+ };
94
+
95
+ const validateMonthYearInRange = (month: number, year: number, isNext: boolean, preventNav: boolean): boolean => {
96
+ let valid = false;
97
+ if (preventNav && (propDates.value.minDate || propDates.value.maxDate)) {
98
+ if (propDates.value.minDate && propDates.value.maxDate) {
99
+ valid = validateBothMinAndMax(month, year, isNext);
100
+ } else if (propDates.value.minDate && validateMinDate(month, year)) {
101
+ valid = true;
102
+ } else if (propDates.value.maxDate && validateMaxDate(month, year)) {
103
+ valid = true;
104
+ }
105
+ } else {
106
+ valid = true;
107
+ }
108
+ return valid;
109
+ };
110
+
111
+ const checkAllowedDates = (date: Date) => {
112
+ if (Array.isArray(propDates.value.allowedDates) && !propDates.value.allowedDates.length) return true;
113
+ if (propDates.value.allowedDates) {
114
+ return !getMapDate(date, propDates.value.allowedDates);
115
+ }
116
+ return false;
117
+ };
118
+
119
+ /**
120
+ * Check if date is between max and min date, or if it is included in filters
121
+ */
122
+ const isDisabled = (date: Date): boolean => {
123
+ return !validateDate(date);
124
+ };
125
+
126
+ // Check if there are disabled dates for a given range
127
+ const isDateRangeAllowed = (range: Date[]): boolean => {
128
+ if (defaultedRange.value.noDisabledRange) {
129
+ const datesInBetween = eachDayOfInterval({ start: range[0], end: range[1] });
130
+ return !datesInBetween.some((date) => isDisabled(date));
131
+ }
132
+ return true;
133
+ };
134
+ const isValidYear = (val: MaybeDate) => {
135
+ if (val) {
136
+ const activeYear = getYear(val);
137
+ return activeYear >= +props.yearRange[0] && activeYear <= props.yearRange[1];
138
+ }
139
+ return true;
140
+ };
141
+
142
+ const shouldCheckMinMaxRange = (modelValue: InternalModuleValue, index: number): modelValue is Array<Date> => {
143
+ return Boolean(
144
+ Array.isArray(modelValue) &&
145
+ modelValue[index] &&
146
+ (defaultedRange.value.maxRange || defaultedRange.value.minRange) &&
147
+ isValidYear(modelValue[index]),
148
+ );
149
+ };
150
+
151
+ // If min or max range is set, validate given range
152
+ const checkMinMaxRange = (secondDate: Date, modelValue: InternalModuleValue, index = 0): boolean => {
153
+ if (shouldCheckMinMaxRange(modelValue, index) && isValidYear(secondDate)) {
154
+ const absoluteDiff = differenceInCalendarDays(secondDate, modelValue[index]);
155
+ const daysInBetween = getDaysInBetween(modelValue[index], secondDate);
156
+ const disabledDates =
157
+ daysInBetween.length === 1 ? 0 : daysInBetween.filter((date) => isDisabled(date)).length;
158
+ const diff = Math.abs(absoluteDiff) - (defaultedRange.value.minMaxRawRange ? 0 : disabledDates);
159
+ if (defaultedRange.value.minRange && defaultedRange.value.maxRange)
160
+ return diff >= +defaultedRange.value.minRange && diff <= +defaultedRange.value.maxRange;
161
+ if (defaultedRange.value.minRange) return diff >= +defaultedRange.value.minRange;
162
+ if (defaultedRange.value.maxRange) return diff <= +defaultedRange.value.maxRange;
163
+ }
164
+ return true;
165
+ };
166
+
167
+ // Check if we need to do a time validation
168
+ const skipTimeValidation = () => {
169
+ return !props.enableTimePicker || props.monthPicker || props.yearPicker || props.ignoreTimeValidation;
170
+ };
171
+
172
+ // Return set time for a given date or array of dates
173
+ const getSetTimeValue = (date: Date | Date[]) => {
174
+ if (Array.isArray(date)) {
175
+ return [date[0] ? setTimeValue(date[0]) : null, date[1] ? setTimeValue(date[1]) : null];
176
+ }
177
+ return setTimeValue(date);
178
+ };
179
+
180
+ const checkDisabledTimePerRange = (disabledTimes: DisabledTime[], date: Date, isValid: boolean) => {
181
+ return (
182
+ disabledTimes.find((time) =>
183
+ +time.hours === getHours(date) && time.minutes === '*'
184
+ ? true
185
+ : +time.minutes === getMinutes(date) && +time.hours === getHours(date),
186
+ ) && isValid
187
+ );
188
+ };
189
+
190
+ // In case range is used, and separate set of disabled is provided for start and end dates, validate separately
191
+ const checkDisabledTimesRanged = (disabledTimes: DisabledTime[][], dates: Date[], isValid: boolean) => {
192
+ const [disabledTimesStart, disabledTimesEnd] = disabledTimes;
193
+ const [startDate, endDate] = dates;
194
+ return (
195
+ !checkDisabledTimePerRange(disabledTimesStart, startDate, isValid) &&
196
+ !checkDisabledTimePerRange(disabledTimesEnd, endDate, isValid) &&
197
+ isValid
198
+ );
199
+ };
200
+
201
+ const checkDisabledTimesOnArr = (isValid: boolean, date: Date[] | Date) => {
202
+ const dates = Array.isArray(date) ? date : [date];
203
+ if (Array.isArray(props.disabledTimes)) {
204
+ if (Array.isArray(props.disabledTimes[0])) {
205
+ return checkDisabledTimesRanged(props.disabledTimes as DisabledTime[][], dates, isValid);
206
+ }
207
+ return !dates.some((dt) => {
208
+ return checkDisabledTimePerRange(props.disabledTimes as DisabledTime[], dt, isValid);
209
+ });
210
+ }
211
+ return isValid;
212
+ };
213
+
214
+ const checkDisabledTimesFn = (isValid: boolean, date: Date | Date[]) => {
215
+ const param = Array.isArray(date)
216
+ ? [getTimeObj(date[0]), date[1] ? getTimeObj(date[1]) : undefined]
217
+ : getTimeObj(date);
218
+ const valid = !(props.disabledTimes as DisabledTimesFn)(param);
219
+ return isValid && valid;
220
+ };
221
+
222
+ const checkDisabledTimes = (date: Date | Date[], isValid: boolean) => {
223
+ if (props.disabledTimes) {
224
+ if (Array.isArray(props.disabledTimes)) {
225
+ return checkDisabledTimesOnArr(isValid, date);
226
+ }
227
+ return checkDisabledTimesFn(isValid, date);
228
+ }
229
+ return isValid;
230
+ };
231
+
232
+ // Validate time
233
+ const isValidTime = (date: InternalModuleValue): boolean => {
234
+ let isValid = true;
235
+ if (!date) return true;
236
+ if (skipTimeValidation()) return true;
237
+
238
+ const selectedDateTime = !propDates.value.minDate && !propDates.value.maxDate ? getSetTimeValue(date) : date;
239
+
240
+ if (props.maxTime || propDates.value.maxDate) {
241
+ isValid = checkTimeMinMax(
242
+ props.maxTime as TimeModel,
243
+ propDates.value.maxDate,
244
+ 'max',
245
+ convertType(selectedDateTime),
246
+ isValid,
247
+ );
248
+ }
249
+
250
+ if (props.minTime || propDates.value.minDate) {
251
+ isValid = checkTimeMinMax(
252
+ props.minTime as TimeModel,
253
+ propDates.value.minDate,
254
+ 'min',
255
+ convertType(selectedDateTime),
256
+ isValid,
257
+ );
258
+ }
259
+ return checkDisabledTimes(date, isValid);
260
+ };
261
+
262
+ const isMonthWithinRange = (date: Date | string): boolean => {
263
+ if (!props.monthPicker) return true;
264
+ let valid = true;
265
+ const dateToCompare = getDate(resetDate(date));
266
+ if (propDates.value.minDate && propDates.value.maxDate) {
267
+ const minDate = getDate(resetDate(propDates.value.minDate));
268
+ const maxDate = getDate(resetDate(propDates.value.maxDate));
269
+ return (
270
+ (isDateAfter(dateToCompare, minDate) && isDateBefore(dateToCompare, maxDate)) ||
271
+ isDateEqual(dateToCompare, minDate) ||
272
+ isDateEqual(dateToCompare, maxDate)
273
+ );
274
+ }
275
+ if (propDates.value.minDate) {
276
+ const minDate = getDate(resetDate(propDates.value.minDate));
277
+
278
+ valid = isDateAfter(dateToCompare, minDate) || isDateEqual(dateToCompare, minDate);
279
+ }
280
+ if (propDates.value.maxDate) {
281
+ const maxDate = getDate(resetDate(propDates.value.maxDate));
282
+ valid = isDateBefore(dateToCompare, maxDate) || isDateEqual(dateToCompare, maxDate);
283
+ }
284
+
285
+ return valid;
286
+ };
287
+
288
+ const isTimeValid = computed(() => (internalModelValue: InternalModuleValue): boolean => {
289
+ if (!props.enableTimePicker || props.ignoreTimeValidation) return true;
290
+ return isValidTime(internalModelValue);
291
+ });
292
+
293
+ const isMonthValid = computed(() => (internalModelValue: InternalModuleValue): boolean => {
294
+ if (!props.monthPicker) return true;
295
+ if (Array.isArray(internalModelValue) && (defaultedRange.value.enabled || defaultedMultiDates.value.enabled)) {
296
+ const invalid = internalModelValue.filter((value) => !isMonthWithinRange(value));
297
+ return !invalid.length;
298
+ }
299
+ return isMonthWithinRange(internalModelValue as Date);
300
+ });
301
+
302
+ return {
303
+ isDisabled,
304
+ validateDate,
305
+ validateMonthYearInRange,
306
+ isDateRangeAllowed,
307
+ checkMinMaxRange,
308
+ isValidTime,
309
+ isTimeValid,
310
+ isMonthValid,
311
+ };
312
+ };
@@ -0,0 +1,49 @@
1
+ export enum HeaderPicker {
2
+ month = 'month',
3
+ year = 'year',
4
+ }
5
+
6
+ export enum MenuPlacement {
7
+ top = 'top',
8
+ bottom = 'bottom',
9
+ }
10
+
11
+ export enum CMP {
12
+ header = 'header',
13
+ calendar = 'calendar',
14
+ timePicker = 'timePicker',
15
+ }
16
+
17
+ export enum FlowStep {
18
+ month = 'month',
19
+ year = 'year',
20
+ calendar = 'calendar',
21
+ time = 'time',
22
+ minutes = 'minutes',
23
+ hours = 'hours',
24
+ seconds = 'seconds',
25
+ }
26
+
27
+ export const modelTypePredefined = ['timestamp', 'date', 'iso'];
28
+
29
+ export enum ArrowDirection {
30
+ up = 'up',
31
+ down = 'down',
32
+ left = 'left',
33
+ right = 'right',
34
+ }
35
+
36
+ export enum EventKey {
37
+ arrowUp = 'ArrowUp',
38
+ arrowDown = 'ArrowDown',
39
+ arrowLeft = 'ArrowLeft',
40
+ arrowRight = 'ArrowRight',
41
+ enter = 'Enter',
42
+ space = ' ',
43
+ esc = 'Escape',
44
+ tab = 'Tab',
45
+ home = 'Home',
46
+ end = 'End',
47
+ pageUp = 'PageUp',
48
+ pageDown = 'PageDown',
49
+ }