@chayns-components/date 5.0.0-beta.1000

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 (173) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +34 -0
  3. package/lib/cjs/components/calendar/Calendar.js +314 -0
  4. package/lib/cjs/components/calendar/Calendar.js.map +1 -0
  5. package/lib/cjs/components/calendar/Calendar.styles.js +34 -0
  6. package/lib/cjs/components/calendar/Calendar.styles.js.map +1 -0
  7. package/lib/cjs/components/calendar/month-wrapper/MonthWrapper.js +158 -0
  8. package/lib/cjs/components/calendar/month-wrapper/MonthWrapper.js.map +1 -0
  9. package/lib/cjs/components/calendar/month-wrapper/MonthWrapper.styles.js +23 -0
  10. package/lib/cjs/components/calendar/month-wrapper/MonthWrapper.styles.js.map +1 -0
  11. package/lib/cjs/components/calendar/month-wrapper/month/Month.js +65 -0
  12. package/lib/cjs/components/calendar/month-wrapper/month/Month.js.map +1 -0
  13. package/lib/cjs/components/calendar/month-wrapper/month/Month.styles.js +26 -0
  14. package/lib/cjs/components/calendar/month-wrapper/month/Month.styles.js.map +1 -0
  15. package/lib/cjs/components/calendar/month-wrapper/month/day-wrapper/DayWrapper.js +129 -0
  16. package/lib/cjs/components/calendar/month-wrapper/month/day-wrapper/DayWrapper.js.map +1 -0
  17. package/lib/cjs/components/calendar/month-wrapper/month/day-wrapper/DayWrapper.styles.js +16 -0
  18. package/lib/cjs/components/calendar/month-wrapper/month/day-wrapper/DayWrapper.styles.js.map +1 -0
  19. package/lib/cjs/components/calendar/month-wrapper/month/day-wrapper/day/Day.js +63 -0
  20. package/lib/cjs/components/calendar/month-wrapper/month/day-wrapper/day/Day.js.map +1 -0
  21. package/lib/cjs/components/calendar/month-wrapper/month/day-wrapper/day/Day.styles.js +114 -0
  22. package/lib/cjs/components/calendar/month-wrapper/month/day-wrapper/day/Day.styles.js.map +1 -0
  23. package/lib/cjs/components/calendar/month-wrapper/month/day-wrapper/day/category/Category.js +17 -0
  24. package/lib/cjs/components/calendar/month-wrapper/month/day-wrapper/day/category/Category.js.map +1 -0
  25. package/lib/cjs/components/calendar/month-wrapper/month/day-wrapper/day/category/Category.styles.js +18 -0
  26. package/lib/cjs/components/calendar/month-wrapper/month/day-wrapper/day/category/Category.styles.js.map +1 -0
  27. package/lib/cjs/components/calendar/month-wrapper/month/weekday-wrapper/WeekdayWrapper.js +42 -0
  28. package/lib/cjs/components/calendar/month-wrapper/month/weekday-wrapper/WeekdayWrapper.js.map +1 -0
  29. package/lib/cjs/components/calendar/month-wrapper/month/weekday-wrapper/WeekdayWrapper.styles.js +16 -0
  30. package/lib/cjs/components/calendar/month-wrapper/month/weekday-wrapper/WeekdayWrapper.styles.js.map +1 -0
  31. package/lib/cjs/components/calendar/month-wrapper/month/weekday-wrapper/weekday/Weekday.js +15 -0
  32. package/lib/cjs/components/calendar/month-wrapper/month/weekday-wrapper/weekday/Weekday.js.map +1 -0
  33. package/lib/cjs/components/calendar/month-wrapper/month/weekday-wrapper/weekday/Weekday.styles.js +17 -0
  34. package/lib/cjs/components/calendar/month-wrapper/month/weekday-wrapper/weekday/Weekday.styles.js.map +1 -0
  35. package/lib/cjs/components/calendar/month-year-pickers/MonthYearPickers.js +86 -0
  36. package/lib/cjs/components/calendar/month-year-pickers/MonthYearPickers.js.map +1 -0
  37. package/lib/cjs/components/date-info/DateInfo.js +35 -0
  38. package/lib/cjs/components/date-info/DateInfo.js.map +1 -0
  39. package/lib/cjs/components/opening-times/OpeningTimes.js +246 -0
  40. package/lib/cjs/components/opening-times/OpeningTimes.js.map +1 -0
  41. package/lib/cjs/components/opening-times/OpeningTimes.styles.js +28 -0
  42. package/lib/cjs/components/opening-times/OpeningTimes.styles.js.map +1 -0
  43. package/lib/cjs/components/opening-times/hint-text/HintText.js +19 -0
  44. package/lib/cjs/components/opening-times/hint-text/HintText.js.map +1 -0
  45. package/lib/cjs/components/opening-times/hint-text/HintText.styles.js +24 -0
  46. package/lib/cjs/components/opening-times/hint-text/HintText.styles.js.map +1 -0
  47. package/lib/cjs/components/opening-times/opening-inputs/OpeningInputs.js +153 -0
  48. package/lib/cjs/components/opening-times/opening-inputs/OpeningInputs.js.map +1 -0
  49. package/lib/cjs/components/opening-times/opening-inputs/OpeningInputs.styles.js +24 -0
  50. package/lib/cjs/components/opening-times/opening-inputs/OpeningInputs.styles.js.map +1 -0
  51. package/lib/cjs/components/opening-times/opening-inputs/opening-input/OpeningInput.js +106 -0
  52. package/lib/cjs/components/opening-times/opening-inputs/opening-input/OpeningInput.js.map +1 -0
  53. package/lib/cjs/components/opening-times/opening-inputs/opening-input/OpeningInput.styles.js +41 -0
  54. package/lib/cjs/components/opening-times/opening-inputs/opening-input/OpeningInput.styles.js.map +1 -0
  55. package/lib/cjs/hooks/useDateInfo.js +63 -0
  56. package/lib/cjs/hooks/useDateInfo.js.map +1 -0
  57. package/lib/cjs/index.js +177 -0
  58. package/lib/cjs/index.js.map +1 -0
  59. package/lib/cjs/types/calendar.js +28 -0
  60. package/lib/cjs/types/calendar.js.map +1 -0
  61. package/lib/cjs/types/dateinfo.js +2 -0
  62. package/lib/cjs/types/dateinfo.js.map +1 -0
  63. package/lib/cjs/types/openingTimes.js +18 -0
  64. package/lib/cjs/types/openingTimes.js.map +1 -0
  65. package/lib/cjs/utils/calendar.js +73 -0
  66. package/lib/cjs/utils/calendar.js.map +1 -0
  67. package/lib/cjs/utils/date.js +114 -0
  68. package/lib/cjs/utils/date.js.map +1 -0
  69. package/lib/cjs/utils/dateInfo.js +126 -0
  70. package/lib/cjs/utils/dateInfo.js.map +1 -0
  71. package/lib/esm/components/calendar/Calendar.js +306 -0
  72. package/lib/esm/components/calendar/Calendar.js.map +1 -0
  73. package/lib/esm/components/calendar/Calendar.styles.js +33 -0
  74. package/lib/esm/components/calendar/Calendar.styles.js.map +1 -0
  75. package/lib/esm/components/calendar/month-wrapper/MonthWrapper.js +150 -0
  76. package/lib/esm/components/calendar/month-wrapper/MonthWrapper.js.map +1 -0
  77. package/lib/esm/components/calendar/month-wrapper/MonthWrapper.styles.js +22 -0
  78. package/lib/esm/components/calendar/month-wrapper/MonthWrapper.styles.js.map +1 -0
  79. package/lib/esm/components/calendar/month-wrapper/month/Month.js +61 -0
  80. package/lib/esm/components/calendar/month-wrapper/month/Month.js.map +1 -0
  81. package/lib/esm/components/calendar/month-wrapper/month/Month.styles.js +22 -0
  82. package/lib/esm/components/calendar/month-wrapper/month/Month.styles.js.map +1 -0
  83. package/lib/esm/components/calendar/month-wrapper/month/day-wrapper/DayWrapper.js +121 -0
  84. package/lib/esm/components/calendar/month-wrapper/month/day-wrapper/DayWrapper.js.map +1 -0
  85. package/lib/esm/components/calendar/month-wrapper/month/day-wrapper/DayWrapper.styles.js +9 -0
  86. package/lib/esm/components/calendar/month-wrapper/month/day-wrapper/DayWrapper.styles.js.map +1 -0
  87. package/lib/esm/components/calendar/month-wrapper/month/day-wrapper/day/Day.js +54 -0
  88. package/lib/esm/components/calendar/month-wrapper/month/day-wrapper/day/Day.js.map +1 -0
  89. package/lib/esm/components/calendar/month-wrapper/month/day-wrapper/day/Day.styles.js +123 -0
  90. package/lib/esm/components/calendar/month-wrapper/month/day-wrapper/day/Day.styles.js.map +1 -0
  91. package/lib/esm/components/calendar/month-wrapper/month/day-wrapper/day/category/Category.js +13 -0
  92. package/lib/esm/components/calendar/month-wrapper/month/day-wrapper/day/category/Category.js.map +1 -0
  93. package/lib/esm/components/calendar/month-wrapper/month/day-wrapper/day/category/Category.styles.js +14 -0
  94. package/lib/esm/components/calendar/month-wrapper/month/day-wrapper/day/category/Category.styles.js.map +1 -0
  95. package/lib/esm/components/calendar/month-wrapper/month/weekday-wrapper/WeekdayWrapper.js +34 -0
  96. package/lib/esm/components/calendar/month-wrapper/month/weekday-wrapper/WeekdayWrapper.js.map +1 -0
  97. package/lib/esm/components/calendar/month-wrapper/month/weekday-wrapper/WeekdayWrapper.styles.js +9 -0
  98. package/lib/esm/components/calendar/month-wrapper/month/weekday-wrapper/WeekdayWrapper.styles.js.map +1 -0
  99. package/lib/esm/components/calendar/month-wrapper/month/weekday-wrapper/weekday/Weekday.js +11 -0
  100. package/lib/esm/components/calendar/month-wrapper/month/weekday-wrapper/weekday/Weekday.js.map +1 -0
  101. package/lib/esm/components/calendar/month-wrapper/month/weekday-wrapper/weekday/Weekday.styles.js +13 -0
  102. package/lib/esm/components/calendar/month-wrapper/month/weekday-wrapper/weekday/Weekday.styles.js.map +1 -0
  103. package/lib/esm/components/calendar/month-year-pickers/MonthYearPickers.js +79 -0
  104. package/lib/esm/components/calendar/month-year-pickers/MonthYearPickers.js.map +1 -0
  105. package/lib/esm/components/date-info/DateInfo.js +28 -0
  106. package/lib/esm/components/date-info/DateInfo.js.map +1 -0
  107. package/lib/esm/components/opening-times/OpeningTimes.js +240 -0
  108. package/lib/esm/components/opening-times/OpeningTimes.js.map +1 -0
  109. package/lib/esm/components/opening-times/OpeningTimes.styles.js +24 -0
  110. package/lib/esm/components/opening-times/OpeningTimes.styles.js.map +1 -0
  111. package/lib/esm/components/opening-times/hint-text/HintText.js +12 -0
  112. package/lib/esm/components/opening-times/hint-text/HintText.js.map +1 -0
  113. package/lib/esm/components/opening-times/hint-text/HintText.styles.js +23 -0
  114. package/lib/esm/components/opening-times/hint-text/HintText.styles.js.map +1 -0
  115. package/lib/esm/components/opening-times/opening-inputs/OpeningInputs.js +149 -0
  116. package/lib/esm/components/opening-times/opening-inputs/OpeningInputs.js.map +1 -0
  117. package/lib/esm/components/opening-times/opening-inputs/OpeningInputs.styles.js +22 -0
  118. package/lib/esm/components/opening-times/opening-inputs/OpeningInputs.styles.js.map +1 -0
  119. package/lib/esm/components/opening-times/opening-inputs/opening-input/OpeningInput.js +99 -0
  120. package/lib/esm/components/opening-times/opening-inputs/opening-input/OpeningInput.js.map +1 -0
  121. package/lib/esm/components/opening-times/opening-inputs/opening-input/OpeningInput.styles.js +40 -0
  122. package/lib/esm/components/opening-times/opening-inputs/opening-input/OpeningInput.styles.js.map +1 -0
  123. package/lib/esm/hooks/useDateInfo.js +57 -0
  124. package/lib/esm/hooks/useDateInfo.js.map +1 -0
  125. package/lib/esm/index.js +15 -0
  126. package/lib/esm/index.js.map +1 -0
  127. package/lib/esm/types/calendar.js +22 -0
  128. package/lib/esm/types/calendar.js.map +1 -0
  129. package/lib/esm/types/dateinfo.js +2 -0
  130. package/lib/esm/types/dateinfo.js.map +1 -0
  131. package/lib/esm/types/openingTimes.js +12 -0
  132. package/lib/esm/types/openingTimes.js.map +1 -0
  133. package/lib/esm/utils/calendar.js +63 -0
  134. package/lib/esm/utils/calendar.js.map +1 -0
  135. package/lib/esm/utils/date.js +89 -0
  136. package/lib/esm/utils/date.js.map +1 -0
  137. package/lib/esm/utils/dateInfo.js +120 -0
  138. package/lib/esm/utils/dateInfo.js.map +1 -0
  139. package/lib/types/components/calendar/Calendar.d.ts +97 -0
  140. package/lib/types/components/calendar/Calendar.styles.d.ts +8 -0
  141. package/lib/types/components/calendar/month-wrapper/MonthWrapper.d.ts +26 -0
  142. package/lib/types/components/calendar/month-wrapper/MonthWrapper.styles.d.ts +274 -0
  143. package/lib/types/components/calendar/month-wrapper/month/Month.d.ts +26 -0
  144. package/lib/types/components/calendar/month-wrapper/month/Month.styles.d.ts +8 -0
  145. package/lib/types/components/calendar/month-wrapper/month/day-wrapper/DayWrapper.d.ts +20 -0
  146. package/lib/types/components/calendar/month-wrapper/month/day-wrapper/DayWrapper.styles.d.ts +1 -0
  147. package/lib/types/components/calendar/month-wrapper/month/day-wrapper/day/Day.d.ts +19 -0
  148. package/lib/types/components/calendar/month-wrapper/month/day-wrapper/day/Day.styles.d.ts +20 -0
  149. package/lib/types/components/calendar/month-wrapper/month/day-wrapper/day/category/Category.d.ts +6 -0
  150. package/lib/types/components/calendar/month-wrapper/month/day-wrapper/day/category/Category.styles.d.ts +7 -0
  151. package/lib/types/components/calendar/month-wrapper/month/weekday-wrapper/WeekdayWrapper.d.ts +7 -0
  152. package/lib/types/components/calendar/month-wrapper/month/weekday-wrapper/WeekdayWrapper.styles.d.ts +1 -0
  153. package/lib/types/components/calendar/month-wrapper/month/weekday-wrapper/weekday/Weekday.d.ts +6 -0
  154. package/lib/types/components/calendar/month-wrapper/month/weekday-wrapper/weekday/Weekday.styles.d.ts +3 -0
  155. package/lib/types/components/calendar/month-year-pickers/MonthYearPickers.d.ts +19 -0
  156. package/lib/types/components/date-info/DateInfo.d.ts +5 -0
  157. package/lib/types/components/opening-times/OpeningTimes.d.ts +51 -0
  158. package/lib/types/components/opening-times/OpeningTimes.styles.d.ts +11 -0
  159. package/lib/types/components/opening-times/hint-text/HintText.d.ts +6 -0
  160. package/lib/types/components/opening-times/hint-text/HintText.styles.d.ts +3 -0
  161. package/lib/types/components/opening-times/opening-inputs/OpeningInputs.d.ts +46 -0
  162. package/lib/types/components/opening-times/opening-inputs/OpeningInputs.styles.d.ts +272 -0
  163. package/lib/types/components/opening-times/opening-inputs/opening-input/OpeningInput.d.ts +15 -0
  164. package/lib/types/components/opening-times/opening-inputs/opening-input/OpeningInput.styles.d.ts +273 -0
  165. package/lib/types/hooks/useDateInfo.d.ts +2 -0
  166. package/lib/types/index.d.ts +10 -0
  167. package/lib/types/types/calendar.d.ts +55 -0
  168. package/lib/types/types/dateinfo.d.ts +34 -0
  169. package/lib/types/types/openingTimes.d.ts +33 -0
  170. package/lib/types/utils/calendar.d.ts +18 -0
  171. package/lib/types/utils/date.d.ts +27 -0
  172. package/lib/types/utils/dateInfo.d.ts +14 -0
  173. package/package.json +86 -0
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Calendar", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _Calendar.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "CalendarType", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _calendar.CalendarType;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "DateInfo", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _DateInfo.default;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "OpeningInputs", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _OpeningInputs.default;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "OpeningTimes", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _OpeningTimes.default;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "addDays", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _date.addDays;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "addYears", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _date.addYears;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "differenceInCalendarMonths", {
49
+ enumerable: true,
50
+ get: function () {
51
+ return _date.differenceInCalendarMonths;
52
+ }
53
+ });
54
+ Object.defineProperty(exports, "eachDayOfInterval", {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _date.eachDayOfInterval;
58
+ }
59
+ });
60
+ Object.defineProperty(exports, "endOfWeek", {
61
+ enumerable: true,
62
+ get: function () {
63
+ return _date.endOfWeek;
64
+ }
65
+ });
66
+ Object.defineProperty(exports, "getDateInfo", {
67
+ enumerable: true,
68
+ get: function () {
69
+ return _dateInfo.getDateInfo;
70
+ }
71
+ });
72
+ Object.defineProperty(exports, "getIsDateNearToday", {
73
+ enumerable: true,
74
+ get: function () {
75
+ return _date.getIsDateNearToday;
76
+ }
77
+ });
78
+ Object.defineProperty(exports, "getTimeTillNow", {
79
+ enumerable: true,
80
+ get: function () {
81
+ return _dateInfo.getTimeTillNow;
82
+ }
83
+ });
84
+ Object.defineProperty(exports, "isAfter", {
85
+ enumerable: true,
86
+ get: function () {
87
+ return _date.isAfter;
88
+ }
89
+ });
90
+ Object.defineProperty(exports, "isBefore", {
91
+ enumerable: true,
92
+ get: function () {
93
+ return _date.isBefore;
94
+ }
95
+ });
96
+ Object.defineProperty(exports, "isCurrentYear", {
97
+ enumerable: true,
98
+ get: function () {
99
+ return _date.isCurrentYear;
100
+ }
101
+ });
102
+ Object.defineProperty(exports, "isMorning", {
103
+ enumerable: true,
104
+ get: function () {
105
+ return _date.isMorning;
106
+ }
107
+ });
108
+ Object.defineProperty(exports, "isSameDay", {
109
+ enumerable: true,
110
+ get: function () {
111
+ return _date.isSameDay;
112
+ }
113
+ });
114
+ Object.defineProperty(exports, "isSameMonth", {
115
+ enumerable: true,
116
+ get: function () {
117
+ return _date.isSameMonth;
118
+ }
119
+ });
120
+ Object.defineProperty(exports, "isToday", {
121
+ enumerable: true,
122
+ get: function () {
123
+ return _date.isToday;
124
+ }
125
+ });
126
+ Object.defineProperty(exports, "isTomorrow", {
127
+ enumerable: true,
128
+ get: function () {
129
+ return _date.isTomorrow;
130
+ }
131
+ });
132
+ Object.defineProperty(exports, "isWithinInterval", {
133
+ enumerable: true,
134
+ get: function () {
135
+ return _date.isWithinInterval;
136
+ }
137
+ });
138
+ Object.defineProperty(exports, "isYesterday", {
139
+ enumerable: true,
140
+ get: function () {
141
+ return _date.isYesterday;
142
+ }
143
+ });
144
+ Object.defineProperty(exports, "startOfMonth", {
145
+ enumerable: true,
146
+ get: function () {
147
+ return _date.startOfMonth;
148
+ }
149
+ });
150
+ Object.defineProperty(exports, "startOfWeek", {
151
+ enumerable: true,
152
+ get: function () {
153
+ return _date.startOfWeek;
154
+ }
155
+ });
156
+ Object.defineProperty(exports, "subYears", {
157
+ enumerable: true,
158
+ get: function () {
159
+ return _date.subYears;
160
+ }
161
+ });
162
+ Object.defineProperty(exports, "useDateInfo", {
163
+ enumerable: true,
164
+ get: function () {
165
+ return _useDateInfo.useDateInfo;
166
+ }
167
+ });
168
+ var _Calendar = _interopRequireDefault(require("./components/calendar/Calendar"));
169
+ var _calendar = require("./types/calendar");
170
+ var _OpeningInputs = _interopRequireDefault(require("./components/opening-times/opening-inputs/OpeningInputs"));
171
+ var _OpeningTimes = _interopRequireDefault(require("./components/opening-times/OpeningTimes"));
172
+ var _DateInfo = _interopRequireDefault(require("./components/date-info/DateInfo"));
173
+ var _useDateInfo = require("./hooks/useDateInfo");
174
+ var _dateInfo = require("./utils/dateInfo");
175
+ var _date = require("./utils/date");
176
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
177
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_Calendar","_interopRequireDefault","require","_calendar","_OpeningInputs","_OpeningTimes","_DateInfo","_useDateInfo","_dateInfo","_date","e","__esModule","default"],"sources":["../../src/index.ts"],"sourcesContent":["// Calendar\nexport {default as Calendar} from './components/calendar/Calendar';\nexport type {Categories, HighlightedDates, HighlightedDateStyles, DateInterval, CustomThumbColors} from './types/calendar';\nexport {CalendarType} from './types/calendar';\n\n// OpeningTimes\nexport {default as OpeningInputs} from './components/opening-times/opening-inputs/OpeningInputs';\nexport {default as OpeningTimes} from './components/opening-times/OpeningTimes';\nexport type {HintTextPosition, OpeningTime, Time, Weekday} from './types/openingTimes';\n\n// DateInfo\nexport {default as DateInfo} from './components/date-info/DateInfo';\nexport {useDateInfo} from './hooks/useDateInfo';\nexport {getDateInfo, getTimeTillNow} from './utils/dateInfo'\n\n// Utils\nexport {\n isToday,\n getIsDateNearToday,\n isTomorrow,\n isYesterday,\n isMorning,\n isCurrentYear,\n addYears,\n addDays,\n isSameDay,\n eachDayOfInterval,\n isWithinInterval,\n subYears,\n endOfWeek,\n startOfWeek,\n isSameMonth,\n differenceInCalendarMonths,\n startOfMonth,\n isAfter,\n isBefore\n} from './utils/date'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AAGA,IAAAE,cAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAIA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AAGA,IAAAO,KAAA,GAAAP,OAAA;AAoBqB,SAAAD,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EMonth = exports.CalendarType = void 0;
7
+ let EMonth = exports.EMonth = /*#__PURE__*/function (EMonth) {
8
+ EMonth[EMonth["January"] = 1] = "January";
9
+ EMonth[EMonth["February"] = 2] = "February";
10
+ EMonth[EMonth["March"] = 3] = "March";
11
+ EMonth[EMonth["April"] = 4] = "April";
12
+ EMonth[EMonth["May"] = 5] = "May";
13
+ EMonth[EMonth["June"] = 6] = "June";
14
+ EMonth[EMonth["July"] = 7] = "July";
15
+ EMonth[EMonth["August"] = 8] = "August";
16
+ EMonth[EMonth["September"] = 9] = "September";
17
+ EMonth[EMonth["October"] = 10] = "October";
18
+ EMonth[EMonth["November"] = 11] = "November";
19
+ EMonth[EMonth["December"] = 12] = "December";
20
+ return EMonth;
21
+ }({});
22
+ let CalendarType = exports.CalendarType = /*#__PURE__*/function (CalendarType) {
23
+ CalendarType["Single"] = "single";
24
+ CalendarType["Multiple"] = "multiple";
25
+ CalendarType["Interval"] = "interval";
26
+ return CalendarType;
27
+ }({});
28
+ //# sourceMappingURL=calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.js","names":["EMonth","exports","CalendarType"],"sources":["../../../src/types/calendar.ts"],"sourcesContent":["import type { CSSProperties } from 'react';\n\nexport interface HighlightedDates {\n dates: Date[];\n style: HighlightedDateStyles;\n}\n\nexport interface HighlightedDateStyles {\n backgroundColor: CSSProperties['backgroundColor'];\n textColor: CSSProperties['color'];\n}\n\nexport interface Categories {\n id: string;\n dates: Date[];\n color: CSSProperties['color'];\n}\n\nexport interface IMonth {\n month: EMonth;\n year: number;\n}\n\nexport interface CustomThumbColors {\n /**\n * The background color of the main thumbs (single, multi, interval)\n */\n mainBackgroundColor?: CSSProperties['color'];\n /**\n * The text color of the main thumbs (single, multi, interval)\n */\n mainTextColor?: CSSProperties['color'];\n /**\n * The background color of the middle part of the interval thumb\n */\n secondaryBackgroundColor?: CSSProperties['color'];\n\n}\n\nexport enum EMonth {\n January = 1,\n February,\n March,\n April,\n May,\n June,\n July,\n August,\n September,\n October,\n November,\n December,\n}\n\nexport enum CalendarType {\n Single = 'single',\n Multiple = 'multiple',\n Interval = 'interval',\n}\n\nexport type DateInterval = {\n start: Date;\n end?: Date;\n};\n"],"mappings":";;;;;;IAuCYA,MAAM,GAAAC,OAAA,CAAAD,MAAA,0BAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAAA,OAANA,MAAM;AAAA;AAAA,IAeNE,YAAY,GAAAD,OAAA,CAAAC,YAAA,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=dateinfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateinfo.js","names":[],"sources":["../../../src/types/dateinfo.ts"],"sourcesContent":["export interface UseDateInfoOptions {\n /**\n * The date, that should be displayed\n */\n date: Date;\n /**\n * Additional text for \"shouldShowDateToNowDifference\" prop. Writes a text before the calculated time\n */\n preText?: string;\n /**\n * Adds the current year to the display\n */\n shouldShowYear?: boolean;\n /**\n * Adds the time to the display.\n */\n shouldShowTime?: boolean;\n /**\n * Whether the relative day of week to today should be shown (today, yesterday or tomorrow).\n */\n shouldShowRelativeDayOfWeek?: boolean;\n /**\n * Shortens the day and month text to maximum three digits\n */\n shouldUseShortText?: boolean;\n /**\n * Adds the day of week to the display\n */\n shouldShowDayOfWeek?: boolean;\n /**\n * Shows the difference from the date to now. The component handles updates itself.\n */\n shouldShowDateToNowDifference?: boolean;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.OpeningTimesButtonType = exports.HintTextPosition = void 0;
7
+ let OpeningTimesButtonType = exports.OpeningTimesButtonType = /*#__PURE__*/function (OpeningTimesButtonType) {
8
+ OpeningTimesButtonType[OpeningTimesButtonType["NONE"] = 0] = "NONE";
9
+ OpeningTimesButtonType[OpeningTimesButtonType["ADD"] = 1] = "ADD";
10
+ OpeningTimesButtonType[OpeningTimesButtonType["REMOVE"] = 2] = "REMOVE";
11
+ return OpeningTimesButtonType;
12
+ }({});
13
+ let HintTextPosition = exports.HintTextPosition = /*#__PURE__*/function (HintTextPosition) {
14
+ HintTextPosition[HintTextPosition["Top"] = 0] = "Top";
15
+ HintTextPosition[HintTextPosition["Bottom"] = 1] = "Bottom";
16
+ return HintTextPosition;
17
+ }({});
18
+ //# sourceMappingURL=openingTimes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openingTimes.js","names":["OpeningTimesButtonType","exports","HintTextPosition"],"sources":["../../../src/types/openingTimes.ts"],"sourcesContent":["export interface Weekday {\n name: string;\n id: number;\n}\n\nexport interface Time {\n id: string;\n start: string;\n end: string;\n}\n\nexport interface OpeningTime {\n weekdayId: Weekday['id'];\n id: string;\n isDisabled?: boolean;\n times: Time[];\n}\n\nexport interface OnTimeAdd {\n dayId: OpeningTime['id'];\n time: Time;\n}\n\nexport interface OnChange {\n enabledDays?: OpeningTime['id'][];\n dayId?: OpeningTime['id'];\n time?: Time;\n}\n\nexport enum OpeningTimesButtonType {\n NONE,\n ADD,\n REMOVE,\n}\n\nexport enum HintTextPosition {\n Top,\n Bottom,\n}\n"],"mappings":";;;;;;IA6BYA,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,0BAAtBA,sBAAsB;EAAtBA,sBAAsB,CAAtBA,sBAAsB;EAAtBA,sBAAsB,CAAtBA,sBAAsB;EAAtBA,sBAAsB,CAAtBA,sBAAsB;EAAA,OAAtBA,sBAAsB;AAAA;AAAA,IAMtBE,gBAAgB,GAAAD,OAAA,CAAAC,gBAAA,0BAAhBA,gBAAgB;EAAhBA,gBAAgB,CAAhBA,gBAAgB;EAAhBA,gBAAgB,CAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA","ignoreList":[]}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isDateInRange = exports.getYearsBetween = exports.getNewDate = exports.getMonthAndYear = exports.formatMonth = exports.findNextDate = void 0;
7
+ var _date = require("./date");
8
+ const getMonthAndYear = date => {
9
+ const month = date.getMonth() + 1;
10
+ const year = date.getFullYear();
11
+ return {
12
+ month,
13
+ year
14
+ };
15
+ };
16
+ exports.getMonthAndYear = getMonthAndYear;
17
+ const isDateInRange = ({
18
+ minDate,
19
+ maxDate,
20
+ currentDate
21
+ }) => {
22
+ const monthStartOfCurrentDate = (0, _date.startOfMonth)(currentDate);
23
+ const monthStartOfMaxDate = (0, _date.startOfMonth)(maxDate);
24
+ const monthStartOfMinDate = (0, _date.startOfMonth)(minDate);
25
+ switch (true) {
26
+ case (0, _date.isAfter)(monthStartOfCurrentDate, monthStartOfMaxDate):
27
+ return monthStartOfMaxDate;
28
+ case (0, _date.isBefore)(monthStartOfCurrentDate, monthStartOfMinDate):
29
+ return monthStartOfMinDate;
30
+ default:
31
+ return monthStartOfCurrentDate;
32
+ }
33
+ };
34
+ exports.isDateInRange = isDateInRange;
35
+ const getNewDate = (index, currentDate) => {
36
+ const newDate = new Date(currentDate);
37
+ newDate.setMonth(currentDate.getMonth() + index);
38
+ if (currentDate.getMonth() === 11 && newDate.getMonth() === 0) {
39
+ newDate.setFullYear(currentDate.getFullYear() + 1);
40
+ }
41
+ if (currentDate.getMonth() === 0 && newDate.getMonth() === 11) {
42
+ newDate.setFullYear(currentDate.getFullYear() - 1);
43
+ }
44
+ return newDate;
45
+ };
46
+ exports.getNewDate = getNewDate;
47
+ const formatMonth = ({
48
+ month,
49
+ locale
50
+ }) => {
51
+ const date = new Date(2022, month - 1, 1);
52
+ return date.toLocaleString(locale, {
53
+ month: 'long'
54
+ });
55
+ };
56
+ exports.formatMonth = formatMonth;
57
+ const findNextDate = (date, dateArray) => {
58
+ const futureDates = dateArray.filter(d => d > date);
59
+ futureDates.sort((a, b) => a.getTime() - b.getTime());
60
+ return futureDates[0];
61
+ };
62
+ exports.findNextDate = findNextDate;
63
+ const getYearsBetween = (startDate, endDate) => {
64
+ const startYear = startDate.getFullYear();
65
+ const endYear = endDate.getFullYear();
66
+ const years = [];
67
+ for (let year = startYear; year <= endYear; year++) {
68
+ years.push(year);
69
+ }
70
+ return years;
71
+ };
72
+ exports.getYearsBetween = getYearsBetween;
73
+ //# sourceMappingURL=calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.js","names":["_date","require","getMonthAndYear","date","month","getMonth","year","getFullYear","exports","isDateInRange","minDate","maxDate","currentDate","monthStartOfCurrentDate","startOfMonth","monthStartOfMaxDate","monthStartOfMinDate","isAfter","isBefore","getNewDate","index","newDate","Date","setMonth","setFullYear","formatMonth","locale","toLocaleString","findNextDate","dateArray","futureDates","filter","d","sort","a","b","getTime","getYearsBetween","startDate","endDate","startYear","endYear","years","push"],"sources":["../../../src/utils/calendar.ts"],"sourcesContent":["import type { EMonth, IMonth } from '../types/calendar';\nimport {isAfter, isBefore, startOfMonth} from \"./date\";\nimport {Language} from \"chayns-api\";\n\nexport const getMonthAndYear = (date: Date): IMonth => {\n const month = date.getMonth() + 1;\n\n const year = date.getFullYear();\n\n return {\n month,\n year,\n };\n};\n\ninterface FormatMonthOptions {\n month: EMonth;\n locale: Language;\n}\n\ninterface IsDateInRange {\n minDate: Date;\n maxDate: Date;\n currentDate: Date;\n}\n\nexport const isDateInRange = ({ minDate, maxDate, currentDate }: IsDateInRange): Date => {\n const monthStartOfCurrentDate = startOfMonth(currentDate);\n const monthStartOfMaxDate = startOfMonth(maxDate);\n const monthStartOfMinDate = startOfMonth(minDate);\n\n switch (true) {\n case isAfter(monthStartOfCurrentDate, monthStartOfMaxDate):\n return monthStartOfMaxDate;\n case isBefore(monthStartOfCurrentDate, monthStartOfMinDate):\n return monthStartOfMinDate;\n default:\n return monthStartOfCurrentDate;\n }\n};\n\nexport const getNewDate = (index: number, currentDate: Date) => {\n const newDate = new Date(currentDate);\n newDate.setMonth(currentDate.getMonth() + index);\n\n if (currentDate.getMonth() === 11 && newDate.getMonth() === 0) {\n newDate.setFullYear(currentDate.getFullYear() + 1);\n }\n\n if (currentDate.getMonth() === 0 && newDate.getMonth() === 11) {\n newDate.setFullYear(currentDate.getFullYear() - 1);\n }\n\n return newDate;\n};\n\nexport const formatMonth = ({ month, locale }: FormatMonthOptions) => {\n const date = new Date(2022, month - 1, 1);\n return date.toLocaleString(locale, { month: 'long' });\n}\n\nexport const findNextDate = (date: Date, dateArray: Date[]): Date | undefined => {\n const futureDates = dateArray.filter((d) => d > date);\n\n futureDates.sort((a, b) => a.getTime() - b.getTime());\n\n return futureDates[0];\n};\n\nexport const getYearsBetween = (startDate: Date, endDate: Date): number[] => {\n const startYear = startDate.getFullYear();\n const endYear = endDate.getFullYear();\n const years: number[] = [];\n\n for (let year = startYear; year <= endYear; year++) {\n years.push(year);\n }\n\n return years;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.subYears = exports.startOfWeek = exports.startOfMonth = exports.isYesterday = exports.isWithinInterval = exports.isTomorrow = exports.isToday = exports.isSameMonth = exports.isSameDay = exports.isMorning = exports.isCurrentYear = exports.isBefore = exports.isAfter = exports.getIsDateNearToday = exports.endOfWeek = exports.eachDayOfInterval = exports.differenceInCalendarMonths = exports.addYears = exports.addDays = void 0;
7
+ const isToday = date => {
8
+ const today = new Date();
9
+ return today.toDateString() === date.toDateString();
10
+ };
11
+ exports.isToday = isToday;
12
+ const isTomorrow = date => {
13
+ const tomorrow = new Date();
14
+ tomorrow.setDate(tomorrow.getDate() + 1);
15
+ return tomorrow.toDateString() === date.toDateString();
16
+ };
17
+ exports.isTomorrow = isTomorrow;
18
+ const isYesterday = date => {
19
+ const yesterday = new Date();
20
+ yesterday.setDate(yesterday.getDate() - 1);
21
+ return yesterday.toDateString() === date.toDateString();
22
+ };
23
+ exports.isYesterday = isYesterday;
24
+ const isCurrentYear = date => {
25
+ const currentYear = new Date().getFullYear();
26
+ const yearOfGivenDate = date.getFullYear();
27
+ return currentYear === yearOfGivenDate;
28
+ };
29
+ exports.isCurrentYear = isCurrentYear;
30
+ const getIsDateNearToday = date => {
31
+ const today = new Date();
32
+ today.setHours(0, 0, 0, 0);
33
+ const targetDate = new Date(date);
34
+ targetDate.setHours(0, 0, 0, 0);
35
+ const diffInDays = (targetDate.getTime() - today.getTime()) / (1000 * 60 * 60 * 24);
36
+ return diffInDays === 0 || diffInDays === -1 || diffInDays === 1;
37
+ };
38
+ exports.getIsDateNearToday = getIsDateNearToday;
39
+ const isMorning = date => {
40
+ const hours = date.getHours();
41
+ return hours >= 0 && hours < 12;
42
+ };
43
+ exports.isMorning = isMorning;
44
+ const isAfter = (firstDate, secondDate) => {
45
+ return firstDate.getTime() > secondDate.getTime();
46
+ };
47
+ exports.isAfter = isAfter;
48
+ const isBefore = (firstDate, secondDate) => {
49
+ return firstDate.getTime() < secondDate.getTime();
50
+ };
51
+ exports.isBefore = isBefore;
52
+ const startOfMonth = date => {
53
+ return new Date(date.getFullYear(), date.getMonth(), 1);
54
+ };
55
+ exports.startOfMonth = startOfMonth;
56
+ const addYears = (date, years) => {
57
+ return new Date(date.getFullYear() + years, date.getMonth(), date.getDate());
58
+ };
59
+ exports.addYears = addYears;
60
+ const differenceInCalendarMonths = (firstDate, secondDate) => {
61
+ return (firstDate.getFullYear() - secondDate.getFullYear()) * 12 + (firstDate.getMonth() - secondDate.getMonth());
62
+ };
63
+ exports.differenceInCalendarMonths = differenceInCalendarMonths;
64
+ const isSameDay = (firstDate, secondDate) => {
65
+ return firstDate.getFullYear() === secondDate.getFullYear() && firstDate.getMonth() === secondDate.getMonth() && firstDate.getDate() === secondDate.getDate();
66
+ };
67
+ exports.isSameDay = isSameDay;
68
+ const isSameMonth = (firstDate, secondDate) => {
69
+ return firstDate.getFullYear() === secondDate.getFullYear() && firstDate.getMonth() === secondDate.getMonth();
70
+ };
71
+ exports.isSameMonth = isSameMonth;
72
+ const isWithinInterval = (date, interval) => {
73
+ return date.getTime() >= interval.start.getTime() && date.getTime() <= interval.end.getTime();
74
+ };
75
+ exports.isWithinInterval = isWithinInterval;
76
+ const subYears = (date, years) => {
77
+ return new Date(date.getFullYear() - years, date.getMonth(), date.getDate());
78
+ };
79
+ exports.subYears = subYears;
80
+ const startOfWeek = date => {
81
+ const day = date.getDay();
82
+ const diff = day === 0 ? -6 : 1 - day;
83
+ const start = new Date(date);
84
+ start.setDate(date.getDate() + diff);
85
+ start.setHours(0, 0, 0, 0);
86
+ return start;
87
+ };
88
+ exports.startOfWeek = startOfWeek;
89
+ const endOfWeek = date => {
90
+ const day = date.getDay();
91
+ const diff = day === 0 ? 0 : 7 - day;
92
+ const end = new Date(date);
93
+ end.setDate(date.getDate() + diff);
94
+ end.setHours(23, 59, 59, 999);
95
+ return end;
96
+ };
97
+ exports.endOfWeek = endOfWeek;
98
+ const eachDayOfInterval = interval => {
99
+ const days = [];
100
+ const currentDate = new Date(interval.start);
101
+ while (currentDate <= interval.end) {
102
+ days.push(new Date(currentDate));
103
+ currentDate.setDate(currentDate.getDate() + 1);
104
+ }
105
+ return days;
106
+ };
107
+ exports.eachDayOfInterval = eachDayOfInterval;
108
+ const addDays = (date, days) => {
109
+ const result = new Date(date);
110
+ result.setDate(date.getDate() + days);
111
+ return result;
112
+ };
113
+ exports.addDays = addDays;
114
+ //# sourceMappingURL=date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.js","names":["isToday","date","today","Date","toDateString","exports","isTomorrow","tomorrow","setDate","getDate","isYesterday","yesterday","isCurrentYear","currentYear","getFullYear","yearOfGivenDate","getIsDateNearToday","setHours","targetDate","diffInDays","getTime","isMorning","hours","getHours","isAfter","firstDate","secondDate","isBefore","startOfMonth","getMonth","addYears","years","differenceInCalendarMonths","isSameDay","isSameMonth","isWithinInterval","interval","start","end","subYears","startOfWeek","day","getDay","diff","endOfWeek","eachDayOfInterval","days","currentDate","push","addDays","result"],"sources":["../../../src/utils/date.ts"],"sourcesContent":["export const isToday = (date: Date): boolean => {\n const today = new Date();\n return today.toDateString() === date.toDateString();\n};\n\nexport const isTomorrow = (date: Date): boolean => {\n const tomorrow = new Date();\n tomorrow.setDate(tomorrow.getDate() + 1);\n return tomorrow.toDateString() === date.toDateString();\n};\n\nexport const isYesterday = (date: Date): boolean => {\n const yesterday = new Date();\n yesterday.setDate(yesterday.getDate() - 1);\n return yesterday.toDateString() === date.toDateString();\n};\n\nexport const isCurrentYear = (date: Date): boolean => {\n const currentYear = new Date().getFullYear();\n const yearOfGivenDate = date.getFullYear();\n return currentYear === yearOfGivenDate;\n};\n\nexport const getIsDateNearToday = (date: Date) => {\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n\n const targetDate = new Date(date);\n targetDate.setHours(0, 0, 0, 0);\n\n const diffInDays = (targetDate.getTime() - today.getTime()) / (1000 * 60 * 60 * 24);\n\n return diffInDays === 0 || diffInDays === -1 || diffInDays === 1;\n};\n\nexport const isMorning = (date: Date) => {\n const hours = date.getHours();\n\n return hours >= 0 && hours < 12;\n};\n\nexport const isAfter = (firstDate: Date, secondDate: Date): boolean => {\n return firstDate.getTime() > secondDate.getTime();\n}\n\nexport const isBefore = (firstDate: Date, secondDate: Date): boolean => {\n return firstDate.getTime() < secondDate.getTime();\n}\n\nexport const startOfMonth = (date: Date): Date => {\n return new Date(date.getFullYear(), date.getMonth(), 1);\n}\n\nexport const addYears = (date: Date, years: number): Date => {\n return new Date(date.getFullYear() + years, date.getMonth(), date.getDate());\n};\n\nexport const differenceInCalendarMonths = (firstDate: Date, secondDate: Date): number => {\n return (firstDate.getFullYear() - secondDate.getFullYear()) * 12 + (firstDate.getMonth() - secondDate.getMonth());\n};\n\nexport const isSameDay = (firstDate: Date, secondDate: Date): boolean => {\n return (\n firstDate.getFullYear() === secondDate.getFullYear() &&\n firstDate.getMonth() === secondDate.getMonth() &&\n firstDate.getDate() === secondDate.getDate()\n );\n};\n\nexport const isSameMonth = (firstDate: Date, secondDate: Date): boolean => {\n return (\n firstDate.getFullYear() === secondDate.getFullYear() &&\n firstDate.getMonth() === secondDate.getMonth()\n );\n};\n\ninterface Interval {\n start: Date;\n end: Date;\n}\n\nexport const isWithinInterval = (date: Date, interval: Interval): boolean => {\n return date.getTime() >= interval.start.getTime() && date.getTime() <= interval.end.getTime();\n};\n\nexport const subYears = (date: Date, years: number): Date => {\n return new Date(date.getFullYear() - years, date.getMonth(), date.getDate());\n};\n\nexport const startOfWeek = (date: Date): Date => {\n const day = date.getDay();\n const diff = day === 0 ? -6 : 1 - day;\n const start = new Date(date);\n start.setDate(date.getDate() + diff);\n start.setHours(0, 0, 0, 0);\n return start;\n};\n\nexport const endOfWeek = (date: Date): Date => {\n const day = date.getDay();\n const diff = day === 0 ? 0 : 7 - day;\n const end = new Date(date);\n end.setDate(date.getDate() + diff);\n end.setHours(23, 59, 59, 999);\n return end;\n};\n\nexport const eachDayOfInterval = (interval: { start: Date, end: Date }): Date[] => {\n const days: Date[] = [];\n const currentDate = new Date(interval.start);\n\n while (currentDate <= interval.end) {\n days.push(new Date(currentDate));\n currentDate.setDate(currentDate.getDate() + 1);\n }\n\n return days;\n};\n\nexport const addDays = (date: Date, days: number): Date => {\n const result = new Date(date);\n result.setDate(date.getDate() + days);\n return result;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getTimeTillNow = exports.getTimeString = exports.getDateInfo = void 0;
7
+ var _chaynsApi = require("chayns-api");
8
+ var _date = require("./date");
9
+ const getDateInfo = ({
10
+ date,
11
+ shouldShowYear,
12
+ shouldShowTime,
13
+ shouldShowDayOfWeek,
14
+ shouldShowRelativeDayOfWeek,
15
+ shouldUseShortText
16
+ }) => {
17
+ const {
18
+ active: language
19
+ } = (0, _chaynsApi.getLanguage)();
20
+ let dayPart = '';
21
+ if (shouldShowRelativeDayOfWeek) {
22
+ const rtf = new Intl.RelativeTimeFormat(language, {
23
+ numeric: 'auto'
24
+ });
25
+ if ((0, _date.isToday)(date)) {
26
+ dayPart = capitalizeFirstLetter(rtf.format(0, 'day'));
27
+ }
28
+ if ((0, _date.isTomorrow)(date)) {
29
+ dayPart = capitalizeFirstLetter(rtf.format(1, 'day'));
30
+ }
31
+ if ((0, _date.isYesterday)(date)) {
32
+ dayPart = capitalizeFirstLetter(rtf.format(-1, 'day'));
33
+ }
34
+ }
35
+ if (!dayPart && shouldShowDayOfWeek) {
36
+ dayPart = date.toLocaleDateString(language, {
37
+ weekday: shouldUseShortText ? 'short' : 'long'
38
+ });
39
+ }
40
+ const dateParts = {
41
+ day: '2-digit',
42
+ month: shouldUseShortText ? 'short' : 'long'
43
+ };
44
+ if (shouldShowYear && !(0, _date.isCurrentYear)(date)) {
45
+ dateParts.year = 'numeric';
46
+ }
47
+ const timeParts = {};
48
+ if (shouldShowTime) {
49
+ timeParts.hour = '2-digit';
50
+ timeParts.minute = '2-digit';
51
+ }
52
+ let formattedTime = '';
53
+ if (Object.keys(timeParts).length > 0) {
54
+ formattedTime = `, ${date.toLocaleTimeString(language, {
55
+ ...timeParts
56
+ })}`;
57
+ }
58
+ const hourWord = getTimeString({
59
+ language
60
+ });
61
+ formattedTime += shouldShowTime ? ` ${hourWord}` : '';
62
+ const formattedDate = `${date.toLocaleDateString(language, dateParts)}${formattedTime}`;
63
+ return `${dayPart}${dayPart ? ', ' : ''}${formattedDate}`;
64
+ };
65
+ exports.getDateInfo = getDateInfo;
66
+ const capitalizeFirstLetter = text => text.charAt(0).toUpperCase() + text.slice(1);
67
+ const getTimeTillNow = ({
68
+ date,
69
+ currentDate,
70
+ language = _chaynsApi.Language.English
71
+ }) => {
72
+ const diffInSeconds = Math.floor((currentDate.getTime() - date.getTime()) / 1000);
73
+ const isPast = diffInSeconds > 0;
74
+ const units = [{
75
+ label: 'year',
76
+ seconds: 31536000
77
+ }, {
78
+ label: 'month',
79
+ seconds: 2592000
80
+ }, {
81
+ label: 'day',
82
+ seconds: 86400
83
+ }, {
84
+ label: 'hour',
85
+ seconds: 3600
86
+ }, {
87
+ label: 'minute',
88
+ seconds: 60
89
+ }, {
90
+ label: 'second',
91
+ seconds: 1
92
+ }];
93
+ const absDiff = Math.abs(diffInSeconds);
94
+ const {
95
+ label,
96
+ seconds
97
+ } = units.find(u => absDiff >= u.seconds) || {
98
+ label: 'second',
99
+ seconds: 1
100
+ };
101
+ const count = Math.floor(absDiff / seconds);
102
+ const formatter = new Intl.RelativeTimeFormat(language, {
103
+ numeric: 'auto'
104
+ });
105
+ return formatter.format(isPast ? -count : count, label);
106
+ };
107
+ exports.getTimeTillNow = getTimeTillNow;
108
+ const getTimeString = ({
109
+ language
110
+ }) => {
111
+ const map = {
112
+ nl: 'uur',
113
+ fr: 'heures',
114
+ de: 'Uhr',
115
+ es: 'horas',
116
+ it: 'ore',
117
+ pt: 'horas',
118
+ pl: 'godzina',
119
+ tr: 'saat',
120
+ uk: 'година',
121
+ en: ''
122
+ };
123
+ return map[language ?? ''] ?? '';
124
+ };
125
+ exports.getTimeString = getTimeString;
126
+ //# sourceMappingURL=dateInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateInfo.js","names":["_chaynsApi","require","_date","getDateInfo","date","shouldShowYear","shouldShowTime","shouldShowDayOfWeek","shouldShowRelativeDayOfWeek","shouldUseShortText","active","language","getLanguage","dayPart","rtf","Intl","RelativeTimeFormat","numeric","isToday","capitalizeFirstLetter","format","isTomorrow","isYesterday","toLocaleDateString","weekday","dateParts","day","month","isCurrentYear","year","timeParts","hour","minute","formattedTime","Object","keys","length","toLocaleTimeString","hourWord","getTimeString","formattedDate","exports","text","charAt","toUpperCase","slice","getTimeTillNow","currentDate","Language","English","diffInSeconds","Math","floor","getTime","isPast","units","label","seconds","absDiff","abs","find","u","count","formatter","map","nl","fr","de","es","it","pt","pl","tr","uk","en"],"sources":["../../../src/utils/dateInfo.ts"],"sourcesContent":["import { getLanguage, Language } from 'chayns-api';\nimport { UseDateInfoOptions } from '../types/dateinfo';\nimport { isCurrentYear, isToday, isTomorrow, isYesterday } from './date';\n\nexport const getDateInfo = ({\n date,\n shouldShowYear,\n shouldShowTime,\n shouldShowDayOfWeek,\n shouldShowRelativeDayOfWeek,\n shouldUseShortText,\n}: Omit<UseDateInfoOptions, 'shouldShowDateToNowDifference' & 'preText'>) => {\n const { active: language } = getLanguage();\n\n let dayPart = '';\n\n if (shouldShowRelativeDayOfWeek) {\n const rtf = new Intl.RelativeTimeFormat(language, { numeric: 'auto' });\n\n if (isToday(date)) {\n dayPart = capitalizeFirstLetter(rtf.format(0, 'day'));\n }\n\n if (isTomorrow(date)) {\n dayPart = capitalizeFirstLetter(rtf.format(1, 'day'));\n }\n\n if (isYesterday(date)) {\n dayPart = capitalizeFirstLetter(rtf.format(-1, 'day'));\n }\n }\n\n if (!dayPart && shouldShowDayOfWeek) {\n dayPart = date.toLocaleDateString(language, {\n weekday: shouldUseShortText ? 'short' : 'long',\n });\n }\n\n const dateParts: Intl.DateTimeFormatOptions = {\n day: '2-digit',\n month: shouldUseShortText ? 'short' : 'long',\n };\n\n if (shouldShowYear && !isCurrentYear(date)) {\n dateParts.year = 'numeric';\n }\n\n const timeParts: Intl.DateTimeFormatOptions = {};\n\n if (shouldShowTime) {\n timeParts.hour = '2-digit';\n timeParts.minute = '2-digit';\n }\n\n let formattedTime = '';\n if (Object.keys(timeParts).length > 0) {\n formattedTime = `, ${date.toLocaleTimeString(language, { ...timeParts })}`;\n }\n\n const hourWord = getTimeString({ language });\n\n formattedTime += shouldShowTime ? ` ${hourWord}` : '';\n\n const formattedDate = `${date.toLocaleDateString(language, dateParts)}${formattedTime}`;\n\n return `${dayPart}${dayPart ? ', ' : ''}${formattedDate}`;\n};\n\nconst capitalizeFirstLetter = (text: string): string =>\n text.charAt(0).toUpperCase() + text.slice(1);\n\ntype RelativeTimeUnit = 'year' | 'month' | 'day' | 'hour' | 'minute' | 'second';\n\ninterface GetTimeTillNow {\n date: Date;\n currentDate: Date;\n language: Language;\n}\n\nexport const getTimeTillNow = ({\n date,\n currentDate,\n language = Language.English,\n}: GetTimeTillNow): string => {\n const diffInSeconds = Math.floor((currentDate.getTime() - date.getTime()) / 1000);\n const isPast = diffInSeconds > 0;\n\n const units: { label: RelativeTimeUnit; seconds: number }[] = [\n { label: 'year', seconds: 31536000 },\n { label: 'month', seconds: 2592000 },\n { label: 'day', seconds: 86400 },\n { label: 'hour', seconds: 3600 },\n { label: 'minute', seconds: 60 },\n { label: 'second', seconds: 1 },\n ];\n\n const absDiff = Math.abs(diffInSeconds);\n const { label, seconds } = units.find((u) => absDiff >= u.seconds) || {\n label: 'second',\n seconds: 1,\n };\n const count = Math.floor(absDiff / seconds);\n\n const formatter = new Intl.RelativeTimeFormat(language, { numeric: 'auto' });\n\n return formatter.format(isPast ? -count : count, label);\n};\n\ninterface GetTimeStringProps {\n language?: Language;\n}\n\nexport const getTimeString = ({ language }: GetTimeStringProps) => {\n const map: { [key: string]: string } = {\n nl: 'uur',\n fr: 'heures',\n de: 'Uhr',\n es: 'horas',\n it: 'ore',\n pt: 'horas',\n pl: 'godzina',\n tr: 'saat',\n uk: 'година',\n en: '',\n };\n\n return map[language ?? ''] ?? '';\n};\n"],"mappings":"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","ignoreList":[]}