@imihai/angular-datetime-picker 21.0.2 → 22.0.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 (113) hide show
  1. package/.browserslistrc +9 -0
  2. package/.editorconfig +13 -0
  3. package/.eslintrc.js +208 -0
  4. package/.github/workflows/ci_test.yml +35 -0
  5. package/.prettierrc +2 -0
  6. package/.travis.yml +16 -0
  7. package/angular.json +221 -0
  8. package/e2e/protractor.conf.js +28 -0
  9. package/e2e/src/app.e2e-spec.ts +14 -0
  10. package/e2e/src/app.po.ts +11 -0
  11. package/e2e/tsconfig.e2e.json +13 -0
  12. package/package.json +77 -33
  13. package/projects/picker/karma.conf.js +62 -0
  14. package/projects/picker/ng-package.json +7 -0
  15. package/projects/picker/package.json +23 -0
  16. package/projects/picker/src/lib/date-time/adapter/date-time-adapter.class.ts +313 -0
  17. package/projects/picker/src/lib/date-time/adapter/date-time-format.class.ts +18 -0
  18. package/projects/picker/src/lib/date-time/adapter/luxon-date-time-adapter.class.ts +307 -0
  19. package/projects/picker/src/lib/date-time/adapter/luxon-date-time-format.class.ts +11 -0
  20. package/projects/picker/src/lib/date-time/adapter/luxon-date-time.module.ts +31 -0
  21. package/projects/picker/src/lib/date-time/adapter/unix-timestamp-adapter/unix-timestamp-date-time-adapter.class.ts +356 -0
  22. package/projects/picker/src/lib/date-time/adapter/unix-timestamp-adapter/unix-timestamp-date-time-format.class.ts +14 -0
  23. package/projects/picker/src/lib/date-time/adapter/unix-timestamp-adapter/unix-timestamp-date-time.module.ts +26 -0
  24. package/projects/picker/src/lib/date-time/calendar-body.component.html +38 -0
  25. package/projects/picker/src/lib/date-time/calendar-body.component.scss +0 -0
  26. package/projects/picker/src/lib/date-time/calendar-body.component.spec.ts +120 -0
  27. package/projects/picker/src/lib/date-time/calendar-body.component.ts +190 -0
  28. package/projects/picker/src/lib/date-time/calendar-month-view.component.html +47 -0
  29. package/projects/picker/src/lib/date-time/calendar-month-view.component.scss +16 -0
  30. package/projects/picker/src/lib/date-time/calendar-month-view.component.spec.ts +394 -0
  31. package/projects/picker/src/lib/date-time/calendar-month-view.component.ts +705 -0
  32. package/projects/picker/src/lib/date-time/calendar-multi-year-view.component.html +44 -0
  33. package/projects/picker/src/lib/date-time/calendar-multi-year-view.component.scss +0 -0
  34. package/projects/picker/src/lib/date-time/calendar-multi-year-view.component.spec.ts +343 -0
  35. package/projects/picker/src/lib/date-time/calendar-multi-year-view.component.ts +465 -0
  36. package/projects/picker/src/lib/date-time/calendar-year-view.component.html +16 -0
  37. package/projects/picker/src/lib/date-time/calendar-year-view.component.scss +0 -0
  38. package/projects/picker/src/lib/date-time/calendar-year-view.component.spec.ts +381 -0
  39. package/projects/picker/src/lib/date-time/calendar-year-view.component.ts +549 -0
  40. package/projects/picker/src/lib/date-time/calendar.component.html +169 -0
  41. package/projects/picker/src/lib/date-time/calendar.component.scss +0 -0
  42. package/projects/picker/src/lib/date-time/calendar.component.spec.ts +592 -0
  43. package/projects/picker/src/lib/date-time/calendar.component.ts +496 -0
  44. package/projects/picker/src/lib/date-time/date-time-inline.component.html +1 -0
  45. package/projects/picker/src/lib/date-time/date-time-inline.component.scss +4 -0
  46. package/projects/picker/src/lib/date-time/date-time-inline.component.ts +365 -0
  47. package/projects/picker/src/lib/date-time/date-time-picker-animation-event.ts +4 -0
  48. package/projects/picker/src/lib/date-time/date-time-picker-container.component.html +126 -0
  49. package/projects/picker/src/lib/date-time/date-time-picker-container.component.scss +0 -0
  50. package/projects/picker/src/lib/date-time/date-time-picker-container.component.ts +631 -0
  51. package/projects/picker/src/lib/date-time/date-time-picker-input.directive.ts +851 -0
  52. package/projects/picker/src/lib/date-time/date-time-picker-intl.service.ts +76 -0
  53. package/projects/picker/src/lib/date-time/date-time-picker-trigger.directive.ts +88 -0
  54. package/projects/picker/src/lib/date-time/date-time-picker.component.html +0 -0
  55. package/projects/picker/src/lib/date-time/date-time-picker.component.scss +0 -0
  56. package/projects/picker/src/lib/date-time/date-time-picker.component.spec.ts +2648 -0
  57. package/projects/picker/src/lib/date-time/date-time-picker.component.ts +731 -0
  58. package/projects/picker/src/lib/date-time/date-time.class.ts +256 -0
  59. package/projects/picker/src/lib/date-time/date-time.module.ts +61 -0
  60. package/projects/picker/src/lib/date-time/numberedFixLen.pipe.ts +28 -0
  61. package/projects/picker/src/lib/date-time/options-provider.ts +44 -0
  62. package/projects/picker/src/lib/date-time/timer-box.component.html +79 -0
  63. package/projects/picker/src/lib/date-time/timer-box.component.scss +0 -0
  64. package/projects/picker/src/lib/date-time/timer-box.component.ts +175 -0
  65. package/projects/picker/src/lib/date-time/timer.component.html +58 -0
  66. package/projects/picker/src/lib/date-time/timer.component.scss +0 -0
  67. package/projects/picker/src/lib/date-time/timer.component.spec.ts +399 -0
  68. package/projects/picker/src/lib/date-time/timer.component.ts +371 -0
  69. package/projects/picker/src/lib/dialog/dialog-config.class.ts +220 -0
  70. package/projects/picker/src/lib/dialog/dialog-container.component.html +1 -0
  71. package/projects/picker/src/lib/dialog/dialog-container.component.scss +0 -0
  72. package/projects/picker/src/lib/dialog/dialog-container.component.ts +231 -0
  73. package/projects/picker/src/lib/dialog/dialog-ref.class.ts +178 -0
  74. package/projects/picker/src/lib/dialog/dialog.module.ts +25 -0
  75. package/projects/picker/src/lib/dialog/dialog.service.ts +353 -0
  76. package/projects/picker/src/lib/utils/array.utils.ts +12 -0
  77. package/projects/picker/src/lib/utils/constants.ts +59 -0
  78. package/projects/picker/src/lib/utils/date.utils.ts +97 -0
  79. package/projects/picker/src/lib/utils/index.ts +5 -0
  80. package/projects/picker/src/lib/utils/object.utils.ts +29 -0
  81. package/projects/picker/src/public_api.ts +56 -0
  82. package/projects/picker/src/sass/picker.scss +743 -0
  83. package/projects/picker/src/test-helpers.ts +125 -0
  84. package/projects/picker/src/test.ts +52 -0
  85. package/projects/picker/tsconfig.lib.json +19 -0
  86. package/projects/picker/tsconfig.lib.prod.json +7 -0
  87. package/projects/picker/tsconfig.spec.json +17 -0
  88. package/projects/picker/tslint.json +8 -0
  89. package/src/app/app.component.html +77 -0
  90. package/src/app/app.component.scss +32 -0
  91. package/src/app/app.component.spec.ts +16 -0
  92. package/src/app/app.component.ts +35 -0
  93. package/src/assets/.gitkeep +0 -0
  94. package/src/environments/environment.prod.ts +3 -0
  95. package/src/environments/environment.ts +16 -0
  96. package/src/favicon.ico +0 -0
  97. package/src/index.html +14 -0
  98. package/src/karma.conf.js +31 -0
  99. package/src/main.ts +16 -0
  100. package/src/polyfills.ts +53 -0
  101. package/src/styles.scss +7 -0
  102. package/src/test.ts +50 -0
  103. package/src/tsconfig.app.json +16 -0
  104. package/src/tsconfig.spec.json +18 -0
  105. package/src/tslint.json +17 -0
  106. package/tsconfig.base.json +31 -0
  107. package/tsconfig.json +30 -0
  108. package/tslint.json +130 -0
  109. package/assets/style/picker.min.css +0 -1
  110. package/fesm2022/imihai-angular-datetime-picker.mjs +0 -5845
  111. package/fesm2022/imihai-angular-datetime-picker.mjs.map +0 -1
  112. package/imihai-angular-datetime-picker-21.0.2.tgz +0 -0
  113. package/types/imihai-angular-datetime-picker.d.ts +0 -2193
@@ -0,0 +1,169 @@
1
+ <div class="owl-dt-calendar-control">
2
+ <!-- focus when keyboard tab (http://kizu.ru/en/blog/keyboard-only-focus/#x) -->
3
+ <button
4
+ class="owl-dt-control owl-dt-control-button owl-dt-control-arrow-button"
5
+ type="button"
6
+ tabindex="0"
7
+ [style.visibility]="showControlArrows ? 'visible' : 'hidden'"
8
+ [disabled]="!prevButtonEnabled()"
9
+ [attr.aria-label]="prevButtonLabel"
10
+ (click)="previousClicked()"
11
+ >
12
+ <span
13
+ class="owl-dt-control-content owl-dt-control-button-content"
14
+ tabindex="-1"
15
+ >
16
+ <!-- <editor-fold desc="SVG Arrow Left"> -->
17
+ <svg
18
+ xmlns="http://www.w3.org/2000/svg"
19
+ xmlns:xlink="http://www.w3.org/1999/xlink"
20
+ version="1.1"
21
+ x="0px"
22
+ y="0px"
23
+ viewBox="0 0 250.738 250.738"
24
+ style="enable-background: new 0 0 250.738 250.738"
25
+ xml:space="preserve"
26
+ width="100%"
27
+ height="100%"
28
+ >
29
+ <path
30
+ style="fill-rule: evenodd; clip-rule: evenodd"
31
+ d="M96.633,125.369l95.053-94.533c7.101-7.055,7.101-18.492,0-25.546 c-7.1-7.054-18.613-7.054-25.714,0L58.989,111.689c-3.784,3.759-5.487,8.759-5.238,13.68c-0.249,4.922,1.454,9.921,5.238,13.681 l106.983,106.398c7.101,7.055,18.613,7.055,25.714,0c7.101-7.054,7.101-18.491,0-25.544L96.633,125.369z"
32
+ />
33
+ </svg>
34
+ <!-- </editor-fold> -->
35
+ </span>
36
+ </button>
37
+ <div class="owl-dt-calendar-control-content">
38
+ <button
39
+ class="owl-dt-control owl-dt-control-button owl-dt-control-period-button"
40
+ type="button"
41
+ tabindex="0"
42
+ [attr.aria-label]="periodButtonLabel"
43
+ (click)="toggleViews()"
44
+ >
45
+ <span
46
+ class="owl-dt-control-content owl-dt-control-button-content"
47
+ tabindex="-1"
48
+ >
49
+ {{ periodButtonText }}
50
+
51
+ <span
52
+ class="owl-dt-control-button-arrow"
53
+ [style.transform]="
54
+ 'rotate(' + (isMonthView ? 0 : 180) + 'deg)'
55
+ "
56
+ >
57
+ <!-- <editor-fold desc="SVG Arrow"> -->
58
+ <svg
59
+ version="1.1"
60
+ xmlns="http://www.w3.org/2000/svg"
61
+ xmlns:xlink="http://www.w3.org/1999/xlink"
62
+ x="0px"
63
+ y="0px"
64
+ width="50%"
65
+ height="50%"
66
+ viewBox="0 0 292.362 292.362"
67
+ style="enable-background: new 0 0 292.362 292.362"
68
+ xml:space="preserve"
69
+ >
70
+ <g>
71
+ <path
72
+ d="M286.935,69.377c-3.614-3.617-7.898-5.424-12.848-5.424H18.274c-4.952,0-9.233,1.807-12.85,5.424
73
+ C1.807,72.998,0,77.279,0,82.228c0,4.948,1.807,9.229,5.424,12.847l127.907,127.907c3.621,3.617,7.902,5.428,12.85,5.428
74
+ s9.233-1.811,12.847-5.428L286.935,95.074c3.613-3.617,5.427-7.898,5.427-12.847C292.362,77.279,290.548,72.998,286.935,69.377z"
75
+ />
76
+ </g>
77
+ </svg>
78
+ <!-- </editor-fold> -->
79
+ </span>
80
+ </span>
81
+ </button>
82
+ </div>
83
+ <button
84
+ class="owl-dt-control owl-dt-control-button owl-dt-control-arrow-button"
85
+ type="button"
86
+ tabindex="0"
87
+ [style.visibility]="showControlArrows ? 'visible' : 'hidden'"
88
+ [disabled]="!nextButtonEnabled()"
89
+ [attr.aria-label]="nextButtonLabel"
90
+ (click)="nextClicked()"
91
+ >
92
+ <span
93
+ class="owl-dt-control-content owl-dt-control-button-content"
94
+ tabindex="-1"
95
+ >
96
+ <!-- <editor-fold desc="SVG Arrow Right"> -->
97
+ <svg
98
+ version="1.1"
99
+ xmlns="http://www.w3.org/2000/svg"
100
+ xmlns:xlink="http://www.w3.org/1999/xlink"
101
+ x="0px"
102
+ y="0px"
103
+ viewBox="0 0 250.738 250.738"
104
+ style="enable-background: new 0 0 250.738 250.738"
105
+ xml:space="preserve"
106
+ >
107
+ <path
108
+ style="fill-rule: evenodd; clip-rule: evenodd"
109
+ d="M191.75,111.689L84.766,5.291c-7.1-7.055-18.613-7.055-25.713,0
110
+ c-7.101,7.054-7.101,18.49,0,25.544l95.053,94.534l-95.053,94.533c-7.101,7.054-7.101,18.491,0,25.545
111
+ c7.1,7.054,18.613,7.054,25.713,0L191.75,139.05c3.784-3.759,5.487-8.759,5.238-13.681
112
+ C197.237,120.447,195.534,115.448,191.75,111.689z"
113
+ />
114
+ </svg>
115
+ <!-- </editor-fold> -->
116
+ </span>
117
+ </button>
118
+ </div>
119
+ <div class="owl-dt-calendar-main" cdkMonitorSubtreeFocus tabindex="-1">
120
+ @switch (currentView) {
121
+ @case (DateView.MONTH) {
122
+ <owl-date-time-month-view
123
+ [pickerMoment]="pickerMoment"
124
+ [firstDayOfWeek]="firstDayOfWeek"
125
+ [selected]="selected"
126
+ [selecteds]="selecteds"
127
+ [selectMode]="selectMode"
128
+ [minDate]="minDate"
129
+ [showCalendarWeeks]="showCalendarWeeks"
130
+ [maxDate]="maxDate"
131
+ [dateFilter]="dateFilter"
132
+ [hideOtherMonths]="hideOtherMonths"
133
+ (pickerMomentChange)="handlePickerMomentChange($event)"
134
+ (selectedChange)="dateSelected($event)"
135
+ (userSelection)="userSelected()"
136
+ ></owl-date-time-month-view>
137
+ }
138
+ @case (DateView.YEAR) {
139
+ <owl-date-time-year-view
140
+ [pickerMoment]="pickerMoment"
141
+ [selected]="selected"
142
+ [selecteds]="selecteds"
143
+ [selectMode]="selectMode"
144
+ [minDate]="minDate"
145
+ [maxDate]="maxDate"
146
+ [dateFilter]="dateFilter"
147
+ (keyboardEnter)="focusActiveCell()"
148
+ (pickerMomentChange)="handlePickerMomentChange($event)"
149
+ (monthSelected)="selectMonthInYearView($event)"
150
+ (change)="goToDateInView($event, DateView.MONTH)"
151
+ ></owl-date-time-year-view>
152
+ }
153
+ @case (DateView.MULTI_YEARS) {
154
+ <owl-date-time-multi-year-view
155
+ [pickerMoment]="pickerMoment"
156
+ [selected]="selected"
157
+ [selecteds]="selecteds"
158
+ [selectMode]="selectMode"
159
+ [minDate]="minDate"
160
+ [maxDate]="maxDate"
161
+ [dateFilter]="dateFilter"
162
+ (keyboardEnter)="focusActiveCell()"
163
+ (pickerMomentChange)="handlePickerMomentChange($event)"
164
+ (yearSelected)="selectYearInMultiYearView($event)"
165
+ (change)="goToDateInView($event, DateView.YEAR)"
166
+ ></owl-date-time-multi-year-view>
167
+ }
168
+ }
169
+ </div>