@skyux/datetime 5.1.4 → 5.5.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 (198) hide show
  1. package/README.md +6 -4
  2. package/bundles/skyux-datetime.umd.js +80 -80
  3. package/documentation.json +379 -22
  4. package/esm2015/index.js +28 -0
  5. package/esm2015/index.js.map +1 -0
  6. package/esm2015/lib/modules/date-pipe/date-format-utility.js +48 -0
  7. package/esm2015/lib/modules/date-pipe/date-format-utility.js.map +1 -0
  8. package/esm2015/lib/modules/date-pipe/date-pipe.module.js +21 -0
  9. package/esm2015/lib/modules/date-pipe/date-pipe.module.js.map +1 -0
  10. package/esm2015/lib/modules/date-pipe/date.pipe.js +65 -0
  11. package/esm2015/lib/modules/date-pipe/date.pipe.js.map +1 -0
  12. package/esm2015/lib/modules/date-pipe/fuzzy-date.pipe.js +47 -0
  13. package/esm2015/lib/modules/date-pipe/fuzzy-date.pipe.js.map +1 -0
  14. package/esm2015/lib/modules/date-range-picker/date-range-picker.component.js +464 -0
  15. package/esm2015/lib/modules/date-range-picker/date-range-picker.component.js.map +1 -0
  16. package/esm2015/lib/modules/date-range-picker/date-range-picker.module.js +47 -0
  17. package/esm2015/lib/modules/date-range-picker/date-range-picker.module.js.map +1 -0
  18. package/esm2015/lib/modules/date-range-picker/date-range.service.js +97 -0
  19. package/esm2015/lib/modules/date-range-picker/date-range.service.js.map +1 -0
  20. package/esm2015/lib/modules/date-range-picker/types/date-range-calculation.js +2 -0
  21. package/esm2015/lib/modules/date-range-picker/types/date-range-calculation.js.map +1 -0
  22. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator-config.js +2 -0
  23. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator-config.js.map +1 -0
  24. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator-date-range-function.js +2 -0
  25. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator-date-range-function.js.map +1 -0
  26. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator-id.js +118 -0
  27. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator-id.js.map +1 -0
  28. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator-type.js +23 -0
  29. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator-type.js.map +1 -0
  30. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator-validate-function.js +2 -0
  31. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator-validate-function.js.map +1 -0
  32. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator.js +56 -0
  33. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator.js.map +1 -0
  34. package/esm2015/lib/modules/date-range-picker/types/date-range-default-calculator-config.js +2 -0
  35. package/esm2015/lib/modules/date-range-picker/types/date-range-default-calculator-config.js.map +1 -0
  36. package/esm2015/lib/modules/date-range-picker/types/date-range-default-calculator-configs.js +147 -0
  37. package/esm2015/lib/modules/date-range-picker/types/date-range-default-calculator-configs.js.map +1 -0
  38. package/esm2015/lib/modules/date-range-picker/types/date-range-relative-value.js +252 -0
  39. package/esm2015/lib/modules/date-range-picker/types/date-range-relative-value.js.map +1 -0
  40. package/esm2015/lib/modules/date-range-picker/types/date-range.js +2 -0
  41. package/esm2015/lib/modules/date-range-picker/types/date-range.js.map +1 -0
  42. package/esm2015/lib/modules/datepicker/date-formatter.js +38 -0
  43. package/esm2015/lib/modules/datepicker/date-formatter.js.map +1 -0
  44. package/esm2015/lib/modules/datepicker/datepicker-adapter.service.js +33 -0
  45. package/esm2015/lib/modules/datepicker/datepicker-adapter.service.js.map +1 -0
  46. package/esm2015/lib/modules/datepicker/datepicker-calendar-change.js +2 -0
  47. package/esm2015/lib/modules/datepicker/datepicker-calendar-change.js.map +1 -0
  48. package/esm2015/lib/modules/datepicker/datepicker-calendar-inner.component.js +315 -0
  49. package/esm2015/lib/modules/datepicker/datepicker-calendar-inner.component.js.map +1 -0
  50. package/esm2015/lib/modules/datepicker/datepicker-calendar.component.js +109 -0
  51. package/esm2015/lib/modules/datepicker/datepicker-calendar.component.js.map +1 -0
  52. package/esm2015/lib/modules/datepicker/datepicker-config.service.js +21 -0
  53. package/esm2015/lib/modules/datepicker/datepicker-config.service.js.map +1 -0
  54. package/esm2015/lib/modules/datepicker/datepicker-custom-date.js +2 -0
  55. package/esm2015/lib/modules/datepicker/datepicker-custom-date.js.map +1 -0
  56. package/esm2015/lib/modules/datepicker/datepicker-date.js +2 -0
  57. package/esm2015/lib/modules/datepicker/datepicker-date.js.map +1 -0
  58. package/esm2015/lib/modules/datepicker/datepicker-input-fuzzy.directive.js +457 -0
  59. package/esm2015/lib/modules/datepicker/datepicker-input-fuzzy.directive.js.map +1 -0
  60. package/esm2015/lib/modules/datepicker/datepicker-input.directive.js +435 -0
  61. package/esm2015/lib/modules/datepicker/datepicker-input.directive.js.map +1 -0
  62. package/esm2015/lib/modules/datepicker/datepicker.component.js +333 -0
  63. package/esm2015/lib/modules/datepicker/datepicker.component.js.map +1 -0
  64. package/esm2015/lib/modules/datepicker/datepicker.module.js +95 -0
  65. package/esm2015/lib/modules/datepicker/datepicker.module.js.map +1 -0
  66. package/esm2015/lib/modules/datepicker/datepicker.service.js +21 -0
  67. package/esm2015/lib/modules/datepicker/datepicker.service.js.map +1 -0
  68. package/esm2015/lib/modules/datepicker/daypicker-button.component.js +26 -0
  69. package/esm2015/lib/modules/datepicker/daypicker-button.component.js.map +1 -0
  70. package/esm2015/lib/modules/datepicker/daypicker-cell.component.js +130 -0
  71. package/esm2015/lib/modules/datepicker/daypicker-cell.component.js.map +1 -0
  72. package/esm2015/lib/modules/datepicker/daypicker.component.js +215 -0
  73. package/esm2015/lib/modules/datepicker/daypicker.component.js.map +1 -0
  74. package/esm2015/lib/modules/datepicker/fuzzy-date.js +2 -0
  75. package/esm2015/lib/modules/datepicker/fuzzy-date.js.map +1 -0
  76. package/esm2015/lib/modules/datepicker/fuzzy-date.service.js +403 -0
  77. package/esm2015/lib/modules/datepicker/fuzzy-date.service.js.map +1 -0
  78. package/esm2015/lib/modules/datepicker/monthpicker.component.js +84 -0
  79. package/esm2015/lib/modules/datepicker/monthpicker.component.js.map +1 -0
  80. package/esm2015/lib/modules/datepicker/yearpicker.component.js +90 -0
  81. package/esm2015/lib/modules/datepicker/yearpicker.component.js.map +1 -0
  82. package/esm2015/lib/modules/shared/sky-datetime-resources.module.js +131 -0
  83. package/esm2015/lib/modules/shared/sky-datetime-resources.module.js.map +1 -0
  84. package/esm2015/lib/modules/timepicker/timepicker.component.js +367 -0
  85. package/esm2015/lib/modules/timepicker/timepicker.component.js.map +1 -0
  86. package/esm2015/lib/modules/timepicker/timepicker.directive.js +229 -0
  87. package/esm2015/lib/modules/timepicker/timepicker.directive.js.map +1 -0
  88. package/esm2015/lib/modules/timepicker/timepicker.interface.js +2 -0
  89. package/esm2015/lib/modules/timepicker/timepicker.interface.js.map +1 -0
  90. package/esm2015/lib/modules/timepicker/timepicker.module.js +46 -0
  91. package/esm2015/lib/modules/timepicker/timepicker.module.js.map +1 -0
  92. package/esm2015/skyux-datetime.js +2 -2
  93. package/esm2015/skyux-datetime.js.map +1 -0
  94. package/esm2015/testing/datepicker-fixture.js +1 -1
  95. package/esm2015/testing/datepicker-fixture.js.map +1 -0
  96. package/esm2015/testing/public-api.js +1 -1
  97. package/esm2015/testing/public-api.js.map +1 -0
  98. package/esm2015/testing/skyux-datetime-testing.js +1 -1
  99. package/esm2015/testing/skyux-datetime-testing.js.map +1 -0
  100. package/esm2015/testing/timepicker-fixture.js +1 -1
  101. package/esm2015/testing/timepicker-fixture.js.map +1 -0
  102. package/fesm2015/skyux-datetime-testing.js.map +1 -1
  103. package/fesm2015/skyux-datetime.js +301 -301
  104. package/fesm2015/skyux-datetime.js.map +1 -1
  105. package/index.d.ts +25 -0
  106. package/{modules → lib/modules}/date-pipe/date-format-utility.d.ts +0 -0
  107. package/{modules → lib/modules}/date-pipe/date-pipe.module.d.ts +0 -0
  108. package/{modules → lib/modules}/date-pipe/date.pipe.d.ts +0 -0
  109. package/{modules → lib/modules}/date-pipe/fuzzy-date.pipe.d.ts +0 -0
  110. package/{modules → lib/modules}/date-range-picker/date-range-picker.component.d.ts +0 -0
  111. package/{modules → lib/modules}/date-range-picker/date-range-picker.module.d.ts +0 -0
  112. package/{modules → lib/modules}/date-range-picker/date-range.service.d.ts +0 -0
  113. package/{modules → lib/modules}/date-range-picker/types/date-range-calculation.d.ts +0 -0
  114. package/{modules → lib/modules}/date-range-picker/types/date-range-calculator-config.d.ts +0 -0
  115. package/{modules → lib/modules}/date-range-picker/types/date-range-calculator-date-range-function.d.ts +0 -0
  116. package/{modules → lib/modules}/date-range-picker/types/date-range-calculator-id.d.ts +0 -0
  117. package/{modules → lib/modules}/date-range-picker/types/date-range-calculator-type.d.ts +0 -0
  118. package/{modules → lib/modules}/date-range-picker/types/date-range-calculator-validate-function.d.ts +0 -0
  119. package/{modules → lib/modules}/date-range-picker/types/date-range-calculator.d.ts +0 -0
  120. package/{modules → lib/modules}/date-range-picker/types/date-range-default-calculator-config.d.ts +0 -0
  121. package/{modules → lib/modules}/date-range-picker/types/date-range-default-calculator-configs.d.ts +0 -0
  122. package/{modules → lib/modules}/date-range-picker/types/date-range-relative-value.d.ts +0 -0
  123. package/{modules → lib/modules}/date-range-picker/types/date-range.d.ts +0 -0
  124. package/{modules → lib/modules}/datepicker/date-formatter.d.ts +0 -0
  125. package/{modules → lib/modules}/datepicker/datepicker-adapter.service.d.ts +0 -0
  126. package/{modules → lib/modules}/datepicker/datepicker-calendar-change.d.ts +0 -0
  127. package/{modules → lib/modules}/datepicker/datepicker-calendar-inner.component.d.ts +0 -0
  128. package/{modules → lib/modules}/datepicker/datepicker-calendar.component.d.ts +0 -0
  129. package/{modules → lib/modules}/datepicker/datepicker-config.service.d.ts +0 -0
  130. package/{modules → lib/modules}/datepicker/datepicker-custom-date.d.ts +0 -0
  131. package/{modules → lib/modules}/datepicker/datepicker-date.d.ts +0 -0
  132. package/{modules → lib/modules}/datepicker/datepicker-input-fuzzy.directive.d.ts +0 -0
  133. package/{modules → lib/modules}/datepicker/datepicker-input.directive.d.ts +0 -0
  134. package/{modules → lib/modules}/datepicker/datepicker.component.d.ts +0 -0
  135. package/{modules → lib/modules}/datepicker/datepicker.module.d.ts +0 -0
  136. package/{modules → lib/modules}/datepicker/datepicker.service.d.ts +0 -0
  137. package/{modules → lib/modules}/datepicker/daypicker-button.component.d.ts +0 -0
  138. package/{modules → lib/modules}/datepicker/daypicker-cell.component.d.ts +0 -0
  139. package/{modules → lib/modules}/datepicker/daypicker.component.d.ts +0 -0
  140. package/{modules → lib/modules}/datepicker/fuzzy-date.d.ts +0 -0
  141. package/{modules → lib/modules}/datepicker/fuzzy-date.service.d.ts +0 -0
  142. package/{modules → lib/modules}/datepicker/monthpicker.component.d.ts +0 -0
  143. package/{modules → lib/modules}/datepicker/yearpicker.component.d.ts +0 -0
  144. package/{modules → lib/modules}/shared/sky-datetime-resources.module.d.ts +0 -0
  145. package/{modules → lib/modules}/timepicker/timepicker.component.d.ts +0 -0
  146. package/{modules → lib/modules}/timepicker/timepicker.directive.d.ts +0 -0
  147. package/{modules → lib/modules}/timepicker/timepicker.interface.d.ts +0 -0
  148. package/{modules → lib/modules}/timepicker/timepicker.module.d.ts +0 -0
  149. package/package.json +24 -10
  150. package/skyux-datetime.d.ts +1 -1
  151. package/LICENSE +0 -21
  152. package/bundles/skyux-datetime-testing.umd.js.map +0 -1
  153. package/bundles/skyux-datetime.umd.js.map +0 -1
  154. package/esm2015/modules/date-pipe/date-format-utility.js +0 -48
  155. package/esm2015/modules/date-pipe/date-pipe.module.js +0 -21
  156. package/esm2015/modules/date-pipe/date.pipe.js +0 -64
  157. package/esm2015/modules/date-pipe/fuzzy-date.pipe.js +0 -46
  158. package/esm2015/modules/date-range-picker/date-range-picker.component.js +0 -460
  159. package/esm2015/modules/date-range-picker/date-range-picker.module.js +0 -47
  160. package/esm2015/modules/date-range-picker/date-range.service.js +0 -96
  161. package/esm2015/modules/date-range-picker/types/date-range-calculation.js +0 -2
  162. package/esm2015/modules/date-range-picker/types/date-range-calculator-config.js +0 -2
  163. package/esm2015/modules/date-range-picker/types/date-range-calculator-date-range-function.js +0 -2
  164. package/esm2015/modules/date-range-picker/types/date-range-calculator-id.js +0 -118
  165. package/esm2015/modules/date-range-picker/types/date-range-calculator-type.js +0 -23
  166. package/esm2015/modules/date-range-picker/types/date-range-calculator-validate-function.js +0 -2
  167. package/esm2015/modules/date-range-picker/types/date-range-calculator.js +0 -56
  168. package/esm2015/modules/date-range-picker/types/date-range-default-calculator-config.js +0 -2
  169. package/esm2015/modules/date-range-picker/types/date-range-default-calculator-configs.js +0 -147
  170. package/esm2015/modules/date-range-picker/types/date-range-relative-value.js +0 -252
  171. package/esm2015/modules/date-range-picker/types/date-range.js +0 -2
  172. package/esm2015/modules/datepicker/date-formatter.js +0 -38
  173. package/esm2015/modules/datepicker/datepicker-adapter.service.js +0 -33
  174. package/esm2015/modules/datepicker/datepicker-calendar-change.js +0 -2
  175. package/esm2015/modules/datepicker/datepicker-calendar-inner.component.js +0 -315
  176. package/esm2015/modules/datepicker/datepicker-calendar.component.js +0 -108
  177. package/esm2015/modules/datepicker/datepicker-config.service.js +0 -21
  178. package/esm2015/modules/datepicker/datepicker-custom-date.js +0 -2
  179. package/esm2015/modules/datepicker/datepicker-date.js +0 -2
  180. package/esm2015/modules/datepicker/datepicker-input-fuzzy.directive.js +0 -453
  181. package/esm2015/modules/datepicker/datepicker-input.directive.js +0 -432
  182. package/esm2015/modules/datepicker/datepicker.component.js +0 -331
  183. package/esm2015/modules/datepicker/datepicker.module.js +0 -95
  184. package/esm2015/modules/datepicker/datepicker.service.js +0 -21
  185. package/esm2015/modules/datepicker/daypicker-button.component.js +0 -25
  186. package/esm2015/modules/datepicker/daypicker-cell.component.js +0 -128
  187. package/esm2015/modules/datepicker/daypicker.component.js +0 -214
  188. package/esm2015/modules/datepicker/fuzzy-date.js +0 -2
  189. package/esm2015/modules/datepicker/fuzzy-date.service.js +0 -402
  190. package/esm2015/modules/datepicker/monthpicker.component.js +0 -83
  191. package/esm2015/modules/datepicker/yearpicker.component.js +0 -89
  192. package/esm2015/modules/shared/sky-datetime-resources.module.js +0 -131
  193. package/esm2015/modules/timepicker/timepicker.component.js +0 -365
  194. package/esm2015/modules/timepicker/timepicker.directive.js +0 -227
  195. package/esm2015/modules/timepicker/timepicker.interface.js +0 -2
  196. package/esm2015/modules/timepicker/timepicker.module.js +0 -46
  197. package/esm2015/public-api.js +0 -28
  198. package/public-api.d.ts +0 -25
@@ -0,0 +1,252 @@
1
+ /**
2
+ * Need to add the following to classes which contain static methods.
3
+ * See: https://github.com/ng-packagr/ng-packagr/issues/641
4
+ * @internal
5
+ * @dynamic
6
+ */
7
+ export class SkyDateRangeRelativeValue {
8
+ // Abstract classes are not covered properly.
9
+ /* istanbul ignore next */
10
+ constructor() { }
11
+ static get today() {
12
+ const today = new Date();
13
+ return {
14
+ startDate: today,
15
+ endDate: today,
16
+ };
17
+ }
18
+ static get tomorrow() {
19
+ const tomorrow = new Date();
20
+ tomorrow.setDate(tomorrow.getDate() + 1);
21
+ return {
22
+ startDate: tomorrow,
23
+ endDate: tomorrow,
24
+ };
25
+ }
26
+ static get yesterday() {
27
+ const yesterday = new Date();
28
+ yesterday.setDate(yesterday.getDate() - 1);
29
+ return {
30
+ startDate: yesterday,
31
+ endDate: yesterday,
32
+ };
33
+ }
34
+ /**
35
+ * A date range starting with the nearest past Sunday and ending with the following Saturday.
36
+ */
37
+ static get thisWeek() {
38
+ const startDate = new Date();
39
+ startDate.setDate(startDate.getDate() - startDate.getDay());
40
+ const endDate = new Date();
41
+ endDate.setDate(endDate.getDate() - endDate.getDay() + 6);
42
+ return {
43
+ startDate,
44
+ endDate,
45
+ };
46
+ }
47
+ /**
48
+ * A date range starting with the nearest upcoming Sunday and ending with the following Saturday.
49
+ */
50
+ static get nextWeek() {
51
+ const startDate = new Date();
52
+ startDate.setDate(startDate.getDate() - startDate.getDay() + 7);
53
+ const endDate = new Date();
54
+ endDate.setDate(endDate.getDate() - endDate.getDay() + 13);
55
+ return {
56
+ startDate,
57
+ endDate,
58
+ };
59
+ }
60
+ static get lastWeek() {
61
+ const startDate = new Date();
62
+ startDate.setDate(startDate.getDate() - startDate.getDay() - 7);
63
+ const endDate = new Date();
64
+ endDate.setDate(endDate.getDate() - endDate.getDay() - 1);
65
+ return {
66
+ startDate,
67
+ endDate,
68
+ };
69
+ }
70
+ static get thisMonth() {
71
+ const startDate = new Date();
72
+ startDate.setDate(1);
73
+ const endDate = new Date();
74
+ endDate.setMonth(endDate.getMonth() + 1);
75
+ endDate.setDate(0);
76
+ return {
77
+ startDate,
78
+ endDate,
79
+ };
80
+ }
81
+ static get nextMonth() {
82
+ const startDate = new Date();
83
+ startDate.setDate(1);
84
+ startDate.setMonth(startDate.getMonth() + 1);
85
+ const endDate = new Date();
86
+ endDate.setDate(1);
87
+ endDate.setMonth(endDate.getMonth() + 2);
88
+ endDate.setDate(0);
89
+ return {
90
+ startDate,
91
+ endDate,
92
+ };
93
+ }
94
+ static get lastMonth() {
95
+ const startDate = new Date();
96
+ // First, set the day of the month to zero,
97
+ // which points to the last day of the previous month.
98
+ startDate.setDate(0);
99
+ // Finally, set the day of the month to 1.
100
+ startDate.setDate(1);
101
+ const endDate = new Date();
102
+ endDate.setDate(0);
103
+ return {
104
+ startDate,
105
+ endDate,
106
+ };
107
+ }
108
+ static get thisQuarter() {
109
+ const startDate = new Date();
110
+ const endDate = new Date();
111
+ const currentMonth = startDate.getMonth();
112
+ const quarterStartMonth = SkyDateRangeRelativeValue.getQuarterStartMonth(currentMonth);
113
+ startDate.setMonth(quarterStartMonth);
114
+ startDate.setDate(1);
115
+ endDate.setMonth(quarterStartMonth + 3);
116
+ endDate.setDate(0);
117
+ return {
118
+ startDate,
119
+ endDate,
120
+ };
121
+ }
122
+ static get nextQuarter() {
123
+ const startDate = new Date();
124
+ const endDate = new Date();
125
+ const currentMonth = startDate.getMonth();
126
+ const quarterStartMonth = SkyDateRangeRelativeValue.getQuarterStartMonth(currentMonth);
127
+ startDate.setMonth(quarterStartMonth + 3);
128
+ startDate.setDate(1);
129
+ endDate.setMonth(quarterStartMonth + 6);
130
+ endDate.setDate(0);
131
+ return {
132
+ startDate,
133
+ endDate,
134
+ };
135
+ }
136
+ static get lastQuarter() {
137
+ const startDate = new Date();
138
+ startDate.setDate(1);
139
+ const endDate = new Date();
140
+ endDate.setDate(1);
141
+ const currentMonth = startDate.getMonth();
142
+ const quarterStartMonth = SkyDateRangeRelativeValue.getQuarterStartMonth(currentMonth);
143
+ startDate.setMonth(quarterStartMonth - 3);
144
+ startDate.setDate(1);
145
+ endDate.setMonth(quarterStartMonth);
146
+ endDate.setDate(0);
147
+ return {
148
+ startDate,
149
+ endDate,
150
+ };
151
+ }
152
+ static get thisCalendarYear() {
153
+ const startDate = new Date();
154
+ startDate.setDate(1);
155
+ startDate.setMonth(0);
156
+ const endDate = new Date();
157
+ endDate.setDate(1);
158
+ endDate.setMonth(0);
159
+ endDate.setFullYear(endDate.getFullYear() + 1);
160
+ endDate.setDate(0);
161
+ return {
162
+ startDate,
163
+ endDate,
164
+ };
165
+ }
166
+ static get nextCalendarYear() {
167
+ const startDate = new Date();
168
+ startDate.setDate(1);
169
+ startDate.setMonth(0);
170
+ startDate.setFullYear(startDate.getFullYear() + 1);
171
+ const endDate = new Date();
172
+ endDate.setDate(1);
173
+ endDate.setMonth(0);
174
+ endDate.setFullYear(startDate.getFullYear() + 1);
175
+ endDate.setDate(0);
176
+ return {
177
+ startDate,
178
+ endDate,
179
+ };
180
+ }
181
+ static get lastCalendarYear() {
182
+ const startDate = new Date();
183
+ startDate.setDate(1);
184
+ startDate.setMonth(0);
185
+ startDate.setFullYear(startDate.getFullYear() - 1);
186
+ const endDate = new Date();
187
+ endDate.setDate(1);
188
+ endDate.setMonth(0);
189
+ endDate.setDate(0);
190
+ return {
191
+ startDate,
192
+ endDate,
193
+ };
194
+ }
195
+ static get thisFiscalYear() {
196
+ const start = new Date();
197
+ start.setDate(1);
198
+ return SkyDateRangeRelativeValue.getClosestFiscalYearRange(start);
199
+ }
200
+ static get nextFiscalYear() {
201
+ const start = new Date();
202
+ start.setDate(1);
203
+ start.setFullYear(start.getFullYear() + 1);
204
+ return SkyDateRangeRelativeValue.getClosestFiscalYearRange(start);
205
+ }
206
+ static get lastFiscalYear() {
207
+ const start = new Date();
208
+ start.setDate(1);
209
+ start.setFullYear(start.getFullYear() - 1);
210
+ return SkyDateRangeRelativeValue.getClosestFiscalYearRange(start);
211
+ }
212
+ static getQuarterStartMonth(currentMonth) {
213
+ let month;
214
+ if (currentMonth < 3) {
215
+ month = 0;
216
+ }
217
+ else if (currentMonth < 6) {
218
+ month = 3;
219
+ }
220
+ else if (currentMonth < 9) {
221
+ month = 6;
222
+ }
223
+ else {
224
+ month = 9;
225
+ }
226
+ return month;
227
+ }
228
+ /**
229
+ * Return a fiscal year based on a start date.
230
+ * (The fiscal year starts in October and continues through to next September.)
231
+ */
232
+ static getClosestFiscalYearRange(startDate) {
233
+ const endDate = new Date(startDate);
234
+ if (startDate.getMonth() >= 9) {
235
+ startDate.setMonth(9);
236
+ endDate.setFullYear(startDate.getFullYear() + 1);
237
+ endDate.setMonth(9);
238
+ endDate.setDate(0);
239
+ }
240
+ else {
241
+ startDate.setFullYear(startDate.getFullYear() - 1);
242
+ startDate.setMonth(9);
243
+ endDate.setMonth(9);
244
+ endDate.setDate(0);
245
+ }
246
+ return {
247
+ startDate,
248
+ endDate,
249
+ };
250
+ }
251
+ }
252
+ //# sourceMappingURL=date-range-relative-value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-range-relative-value.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/datetime/src/lib/modules/date-range-picker/types/date-range-relative-value.ts"],"names":[],"mappings":"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","sourcesContent":["import { SkyDateRange } from './date-range';\n\n/**\n * Need to add the following to classes which contain static methods.\n * See: https://github.com/ng-packagr/ng-packagr/issues/641\n * @internal\n * @dynamic\n */\nexport abstract class SkyDateRangeRelativeValue {\n // Abstract classes are not covered properly.\n /* istanbul ignore next */\n constructor() {}\n\n public static get today(): SkyDateRange {\n const today = new Date();\n\n return {\n startDate: today,\n endDate: today,\n };\n }\n\n public static get tomorrow(): SkyDateRange {\n const tomorrow = new Date();\n\n tomorrow.setDate(tomorrow.getDate() + 1);\n\n return {\n startDate: tomorrow,\n endDate: tomorrow,\n };\n }\n\n public static get yesterday(): SkyDateRange {\n const yesterday = new Date();\n\n yesterday.setDate(yesterday.getDate() - 1);\n\n return {\n startDate: yesterday,\n endDate: yesterday,\n };\n }\n\n /**\n * A date range starting with the nearest past Sunday and ending with the following Saturday.\n */\n public static get thisWeek(): SkyDateRange {\n const startDate = new Date();\n startDate.setDate(startDate.getDate() - startDate.getDay());\n\n const endDate = new Date();\n endDate.setDate(endDate.getDate() - endDate.getDay() + 6);\n\n return {\n startDate,\n endDate,\n };\n }\n\n /**\n * A date range starting with the nearest upcoming Sunday and ending with the following Saturday.\n */\n public static get nextWeek(): SkyDateRange {\n const startDate = new Date();\n startDate.setDate(startDate.getDate() - startDate.getDay() + 7);\n\n const endDate = new Date();\n endDate.setDate(endDate.getDate() - endDate.getDay() + 13);\n\n return {\n startDate,\n endDate,\n };\n }\n\n public static get lastWeek(): SkyDateRange {\n const startDate = new Date();\n startDate.setDate(startDate.getDate() - startDate.getDay() - 7);\n\n const endDate = new Date();\n endDate.setDate(endDate.getDate() - endDate.getDay() - 1);\n\n return {\n startDate,\n endDate,\n };\n }\n\n public static get thisMonth(): SkyDateRange {\n const startDate = new Date();\n startDate.setDate(1);\n\n const endDate = new Date();\n endDate.setMonth(endDate.getMonth() + 1);\n endDate.setDate(0);\n\n return {\n startDate,\n endDate,\n };\n }\n\n public static get nextMonth(): SkyDateRange {\n const startDate = new Date();\n startDate.setDate(1);\n startDate.setMonth(startDate.getMonth() + 1);\n\n const endDate = new Date();\n endDate.setDate(1);\n endDate.setMonth(endDate.getMonth() + 2);\n endDate.setDate(0);\n\n return {\n startDate,\n endDate,\n };\n }\n\n public static get lastMonth(): SkyDateRange {\n const startDate = new Date();\n\n // First, set the day of the month to zero,\n // which points to the last day of the previous month.\n startDate.setDate(0);\n\n // Finally, set the day of the month to 1.\n startDate.setDate(1);\n\n const endDate = new Date();\n endDate.setDate(0);\n\n return {\n startDate,\n endDate,\n };\n }\n\n public static get thisQuarter(): SkyDateRange {\n const startDate = new Date();\n const endDate = new Date();\n\n const currentMonth = startDate.getMonth();\n const quarterStartMonth =\n SkyDateRangeRelativeValue.getQuarterStartMonth(currentMonth);\n\n startDate.setMonth(quarterStartMonth);\n startDate.setDate(1);\n\n endDate.setMonth(quarterStartMonth + 3);\n endDate.setDate(0);\n\n return {\n startDate,\n endDate,\n };\n }\n\n public static get nextQuarter(): SkyDateRange {\n const startDate = new Date();\n const endDate = new Date();\n\n const currentMonth = startDate.getMonth();\n const quarterStartMonth =\n SkyDateRangeRelativeValue.getQuarterStartMonth(currentMonth);\n\n startDate.setMonth(quarterStartMonth + 3);\n startDate.setDate(1);\n\n endDate.setMonth(quarterStartMonth + 6);\n endDate.setDate(0);\n\n return {\n startDate,\n endDate,\n };\n }\n\n public static get lastQuarter(): SkyDateRange {\n const startDate = new Date();\n startDate.setDate(1);\n\n const endDate = new Date();\n endDate.setDate(1);\n\n const currentMonth = startDate.getMonth();\n const quarterStartMonth =\n SkyDateRangeRelativeValue.getQuarterStartMonth(currentMonth);\n\n startDate.setMonth(quarterStartMonth - 3);\n startDate.setDate(1);\n\n endDate.setMonth(quarterStartMonth);\n endDate.setDate(0);\n\n return {\n startDate,\n endDate,\n };\n }\n\n public static get thisCalendarYear(): SkyDateRange {\n const startDate = new Date();\n startDate.setDate(1);\n startDate.setMonth(0);\n\n const endDate = new Date();\n endDate.setDate(1);\n endDate.setMonth(0);\n endDate.setFullYear(endDate.getFullYear() + 1);\n endDate.setDate(0);\n\n return {\n startDate,\n endDate,\n };\n }\n\n public static get nextCalendarYear(): SkyDateRange {\n const startDate = new Date();\n startDate.setDate(1);\n startDate.setMonth(0);\n startDate.setFullYear(startDate.getFullYear() + 1);\n\n const endDate = new Date();\n endDate.setDate(1);\n endDate.setMonth(0);\n endDate.setFullYear(startDate.getFullYear() + 1);\n endDate.setDate(0);\n\n return {\n startDate,\n endDate,\n };\n }\n\n public static get lastCalendarYear(): SkyDateRange {\n const startDate = new Date();\n startDate.setDate(1);\n startDate.setMonth(0);\n startDate.setFullYear(startDate.getFullYear() - 1);\n\n const endDate = new Date();\n endDate.setDate(1);\n endDate.setMonth(0);\n endDate.setDate(0);\n\n return {\n startDate,\n endDate,\n };\n }\n\n public static get thisFiscalYear(): SkyDateRange {\n const start = new Date();\n start.setDate(1);\n\n return SkyDateRangeRelativeValue.getClosestFiscalYearRange(start);\n }\n\n public static get nextFiscalYear(): SkyDateRange {\n const start = new Date();\n start.setDate(1);\n start.setFullYear(start.getFullYear() + 1);\n\n return SkyDateRangeRelativeValue.getClosestFiscalYearRange(start);\n }\n\n public static get lastFiscalYear(): SkyDateRange {\n const start = new Date();\n start.setDate(1);\n start.setFullYear(start.getFullYear() - 1);\n\n return SkyDateRangeRelativeValue.getClosestFiscalYearRange(start);\n }\n\n private static getQuarterStartMonth(currentMonth: number): number {\n let month: number;\n if (currentMonth < 3) {\n month = 0;\n } else if (currentMonth < 6) {\n month = 3;\n } else if (currentMonth < 9) {\n month = 6;\n } else {\n month = 9;\n }\n\n return month;\n }\n\n /**\n * Return a fiscal year based on a start date.\n * (The fiscal year starts in October and continues through to next September.)\n */\n private static getClosestFiscalYearRange(startDate: Date): SkyDateRange {\n const endDate = new Date(startDate);\n\n if (startDate.getMonth() >= 9) {\n startDate.setMonth(9);\n endDate.setFullYear(startDate.getFullYear() + 1);\n endDate.setMonth(9);\n endDate.setDate(0);\n } else {\n startDate.setFullYear(startDate.getFullYear() - 1);\n startDate.setMonth(9);\n endDate.setMonth(9);\n endDate.setDate(0);\n }\n\n return {\n startDate,\n endDate,\n };\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=date-range.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-range.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/datetime/src/lib/modules/date-range-picker/types/date-range.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * @internal\n */\nexport interface SkyDateRange {\n /**\n * Specifies the last date in the date range.\n */\n endDate?: Date;\n\n /**\n * Specifies the first date in the date range.\n */\n startDate?: Date;\n}\n"]}
@@ -0,0 +1,38 @@
1
+ import moment from 'moment';
2
+ export class SkyDateFormatter {
3
+ /**
4
+ * Sets moment's global locale.
5
+ */
6
+ static setLocale(locale) {
7
+ moment.locale(locale || SkyDateFormatter.defaultLocale);
8
+ }
9
+ /**
10
+ * Returns the preferred short date format for the current locale.
11
+ */
12
+ static getPreferredShortDateFormat() {
13
+ /* istanbul ignore next */
14
+ return (moment.localeData().longDateFormat('L') ||
15
+ SkyDateFormatter.defaultShortDateFormat);
16
+ }
17
+ format(date, format) {
18
+ return moment(date.getTime()).format(format);
19
+ }
20
+ getDateFromString(dateString, format,
21
+ /* istanbul ignore next */
22
+ strict = false) {
23
+ let momentValue = moment(dateString, format, strict);
24
+ if (!momentValue.isValid()) {
25
+ momentValue = moment(dateString, 'YYYY-MM-DDThh:mm:ss.SZ', strict);
26
+ }
27
+ return momentValue.toDate();
28
+ }
29
+ dateIsValid(date) {
30
+ return (date &&
31
+ date instanceof Date &&
32
+ !isNaN(date.valueOf()) &&
33
+ !isNaN(new Date(date).getDate()));
34
+ }
35
+ }
36
+ SkyDateFormatter.defaultLocale = 'en-US';
37
+ SkyDateFormatter.defaultShortDateFormat = 'MM/DD/YYYY';
38
+ //# sourceMappingURL=date-formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-formatter.js","sourceRoot":"","sources":["../../../../../../../../libs/components/datetime/src/lib/modules/datepicker/date-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,OAAO,gBAAgB;IAK3B;;OAEG;IACI,MAAM,CAAC,SAAS,CAAC,MAAc;QACpC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,2BAA2B;QACvC,0BAA0B;QAC1B,OAAO,CACL,MAAM,CAAC,UAAU,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC;YACvC,gBAAgB,CAAC,sBAAsB,CACxC,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,IAAU,EAAE,MAAc;QACtC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAEM,iBAAiB,CACtB,UAAkB,EAClB,MAAc;IACd,0BAA0B;IAC1B,SAAkB,KAAK;QAEvB,IAAI,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAErD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE;YAC1B,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,wBAAwB,EAAE,MAAM,CAAC,CAAC;SACpE;QAED,OAAO,WAAW,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IAEM,WAAW,CAAC,IAAU;QAC3B,OAAO,CACL,IAAI;YACJ,IAAI,YAAY,IAAI;YACpB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACtB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CACjC,CAAC;IACJ,CAAC;;AAhDc,8BAAa,GAAW,OAAO,CAAC;AAEhC,uCAAsB,GAAW,YAAY,CAAC","sourcesContent":["import moment from 'moment';\n\nexport class SkyDateFormatter {\n private static defaultLocale: string = 'en-US';\n\n private static defaultShortDateFormat: string = 'MM/DD/YYYY';\n\n /**\n * Sets moment's global locale.\n */\n public static setLocale(locale: string): void {\n moment.locale(locale || SkyDateFormatter.defaultLocale);\n }\n\n /**\n * Returns the preferred short date format for the current locale.\n */\n public static getPreferredShortDateFormat(): string {\n /* istanbul ignore next */\n return (\n moment.localeData().longDateFormat('L') ||\n SkyDateFormatter.defaultShortDateFormat\n );\n }\n\n public format(date: Date, format: string): string {\n return moment(date.getTime()).format(format);\n }\n\n public getDateFromString(\n dateString: string,\n format: string,\n /* istanbul ignore next */\n strict: boolean = false\n ): Date {\n let momentValue = moment(dateString, format, strict);\n\n if (!momentValue.isValid()) {\n momentValue = moment(dateString, 'YYYY-MM-DDThh:mm:ss.SZ', strict);\n }\n\n return momentValue.toDate();\n }\n\n public dateIsValid(date: Date): boolean {\n return (\n date &&\n date instanceof Date &&\n !isNaN(date.valueOf()) &&\n !isNaN(new Date(date).getDate())\n );\n }\n}\n"]}
@@ -0,0 +1,33 @@
1
+ import { Injectable, Renderer2 } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * @internal
5
+ */
6
+ export class SkyDatepickerAdapterService {
7
+ constructor(renderer) {
8
+ this.renderer = renderer;
9
+ }
10
+ init(elRef) {
11
+ this.el = elRef.nativeElement;
12
+ }
13
+ elementIsFocused() {
14
+ const focusedEl = document.activeElement;
15
+ return this.el.contains(focusedEl);
16
+ }
17
+ elementIsVisible() {
18
+ const styles = this.el && getComputedStyle(this.el);
19
+ return styles && styles.visibility === 'visible';
20
+ }
21
+ getPlaceholder(elementRef) {
22
+ return elementRef.nativeElement.getAttribute('placeholder');
23
+ }
24
+ setPlaceholder(elementRef, value) {
25
+ this.renderer.setAttribute(elementRef.nativeElement, 'placeholder', value);
26
+ }
27
+ }
28
+ SkyDatepickerAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyDatepickerAdapterService, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable });
29
+ SkyDatepickerAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyDatepickerAdapterService });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyDatepickerAdapterService, decorators: [{
31
+ type: Injectable
32
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; } });
33
+ //# sourceMappingURL=datepicker-adapter.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datepicker-adapter.service.js","sourceRoot":"","sources":["../../../../../../../../libs/components/datetime/src/lib/modules/datepicker/datepicker-adapter.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;;AAElE;;GAEG;AAEH,MAAM,OAAO,2BAA2B;IAGtC,YAAoB,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;IAAG,CAAC;IAEpC,IAAI,CAAC,KAAiB;QAC3B,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC;IAChC,CAAC;IAEM,gBAAgB;QACrB,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC;QAEzC,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAEM,gBAAgB;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEpD,OAAO,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC;IACnD,CAAC;IAEM,cAAc,CAAC,UAAsB;QAC1C,OAAO,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAC9D,CAAC;IAEM,cAAc,CAAC,UAAsB,EAAE,KAAa;QACzD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IAC7E,CAAC;;yHA3BU,2BAA2B;6HAA3B,2BAA2B;4FAA3B,2BAA2B;kBADvC,UAAU","sourcesContent":["import { ElementRef, Injectable, Renderer2 } from '@angular/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyDatepickerAdapterService {\n private el: HTMLElement;\n\n constructor(private renderer: Renderer2) {}\n\n public init(elRef: ElementRef) {\n this.el = elRef.nativeElement;\n }\n\n public elementIsFocused(): boolean {\n const focusedEl = document.activeElement;\n\n return this.el.contains(focusedEl);\n }\n\n public elementIsVisible(): boolean {\n const styles = this.el && getComputedStyle(this.el);\n\n return styles && styles.visibility === 'visible';\n }\n\n public getPlaceholder(elementRef: ElementRef): string {\n return elementRef.nativeElement.getAttribute('placeholder');\n }\n\n public setPlaceholder(elementRef: ElementRef, value: string): void {\n this.renderer.setAttribute(elementRef.nativeElement, 'placeholder', value);\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=datepicker-calendar-change.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datepicker-calendar-change.js","sourceRoot":"","sources":["../../../../../../../../libs/components/datetime/src/lib/modules/datepicker/datepicker-calendar-change.ts"],"names":[],"mappings":"","sourcesContent":["import { SkyDatepickerCustomDate } from './datepicker-custom-date';\nimport { Observable } from 'rxjs';\n\n/**\n * Specifies changes in the datepicker calendar.\n */\nexport interface SkyDatepickerCalendarChange {\n /**\n * The end date.\n */\n endDate: Date;\n\n /**\n * The start date.\n */\n startDate: Date;\n\n /**\n * Provides an observable that allows the consumer to push custom dates back to the calendar\n * when the `SkyCalendarDateRangeChangeEvent` event fires. This is useful\n * for displaying key dates or disabled dates each time the calendar changes. If disabled dates\n * are provided, SKY UX will prevent the user from selecting the date from the calendar.\n * However, consumers will still need to add a custom validator to prevent users from entering\n * disabled dates in the text input.\n */\n customDates?: Observable<SkyDatepickerCustomDate[]>;\n}\n"]}