@openmrs/ngx-formentry 19.0.1-pre.489 → 19.0.1-pre.497

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 (208) hide show
  1. package/components/input/label.component.d.ts +1 -1
  2. package/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.d.ts +1 -1
  3. package/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.d.ts +1 -1
  4. package/components/number-input/number-input.component.d.ts +1 -1
  5. package/components/select/select.component.d.ts +1 -1
  6. package/fesm2022/openmrs-ngx-formentry.mjs +412 -380
  7. package/fesm2022/openmrs-ngx-formentry.mjs.map +1 -1
  8. package/form-entry/form-entry.module.d.ts +2 -2
  9. package/form-entry/form-factory/form.factory.d.ts +2 -2
  10. package/form-entry/helpers/js-expression-helper.d.ts +2 -2
  11. package/form-entry/services/form-schema-compiler.service.d.ts +2 -0
  12. package/form-entry/value-adapters/obs.adapter.d.ts +0 -1
  13. package/form-entry/value-adapters/person-attribute.adapter.d.ts +3 -3
  14. package/lib/index.d.ts +1 -1
  15. package/package.json +10 -12
  16. package/esm2022/abstract-controls-extension/afe-control-type.mjs +0 -8
  17. package/esm2022/abstract-controls-extension/afe-form-array.mjs +0 -89
  18. package/esm2022/abstract-controls-extension/afe-form-control.mjs +0 -91
  19. package/esm2022/abstract-controls-extension/afe-form-group.mjs +0 -66
  20. package/esm2022/abstract-controls-extension/control-extensions.mjs +0 -5
  21. package/esm2022/abstract-controls-extension/index.mjs +0 -5
  22. package/esm2022/abstract-controls-extension/value-change.listener.mjs +0 -2
  23. package/esm2022/change-tracking/control-relation.mjs +0 -44
  24. package/esm2022/change-tracking/control-relations.mjs +0 -32
  25. package/esm2022/components/afe-ng-select.component.mjs +0 -101
  26. package/esm2022/components/appointments-overview/appointments-overview.component.mjs +0 -116
  27. package/esm2022/components/check-box/checkbox.component.mjs +0 -110
  28. package/esm2022/components/check-box/checkbox.module.mjs +0 -19
  29. package/esm2022/components/custom-component-wrapper/custom-component-wrapper..module.mjs +0 -22
  30. package/esm2022/components/custom-component-wrapper/custom-component-wrapper.component.mjs +0 -21
  31. package/esm2022/components/custom-control-wrapper/custom-control-wrapper..module.mjs +0 -23
  32. package/esm2022/components/custom-control-wrapper/custom-control-wrapper.component.mjs +0 -68
  33. package/esm2022/components/date-time-picker/date-picker/date-picker.component.mjs +0 -188
  34. package/esm2022/components/date-time-picker/date-time-picker.component.mjs +0 -115
  35. package/esm2022/components/date-time-picker/date-time-picker.module.mjs +0 -48
  36. package/esm2022/components/date-time-picker/index.mjs +0 -9
  37. package/esm2022/components/date-time-picker/picker-modal/modal.component.mjs +0 -25
  38. package/esm2022/components/date-time-picker/pipes/moment.pipe.mjs +0 -17
  39. package/esm2022/components/date-time-picker/time-picker/time-picker.component.mjs +0 -121
  40. package/esm2022/components/file-upload/file-upload.component.mjs +0 -109
  41. package/esm2022/components/file-upload/file-upload.module.mjs +0 -37
  42. package/esm2022/components/file-upload/secure.pipe.mjs +0 -101
  43. package/esm2022/components/input/input.directive.mjs +0 -78
  44. package/esm2022/components/input/input.module.mjs +0 -23
  45. package/esm2022/components/input/label.component.mjs +0 -263
  46. package/esm2022/components/input/text-area.directive.mjs +0 -58
  47. package/esm2022/components/ngx-datetime-picker/ngx-datetime-picker.component.mjs +0 -87
  48. package/esm2022/components/ngx-datetime-picker/ngx-datetime-picker.module.mjs +0 -40
  49. package/esm2022/components/ngx-pick-datetime/lib/date-time/adapter/date-time-adapter.class.mjs +0 -114
  50. package/esm2022/components/ngx-pick-datetime/lib/date-time/adapter/date-time-format.class.mjs +0 -7
  51. package/esm2022/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-adapter.class.mjs +0 -347
  52. package/esm2022/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-format.class.mjs +0 -16
  53. package/esm2022/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time.module.mjs +0 -39
  54. package/esm2022/components/ngx-pick-datetime/lib/date-time/calendar-body.component.mjs +0 -142
  55. package/esm2022/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.mjs +0 -439
  56. package/esm2022/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.mjs +0 -373
  57. package/esm2022/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.mjs +0 -367
  58. package/esm2022/components/ngx-pick-datetime/lib/date-time/calendar.component.mjs +0 -342
  59. package/esm2022/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.mjs +0 -259
  60. package/esm2022/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.mjs +0 -392
  61. package/esm2022/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.mjs +0 -614
  62. package/esm2022/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.mjs +0 -65
  63. package/esm2022/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.mjs +0 -70
  64. package/esm2022/components/ngx-pick-datetime/lib/date-time/date-time-picker.animations.mjs +0 -21
  65. package/esm2022/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.mjs +0 -522
  66. package/esm2022/components/ngx-pick-datetime/lib/date-time/date-time.class.mjs +0 -166
  67. package/esm2022/components/ngx-pick-datetime/lib/date-time/date-time.module.mjs +0 -97
  68. package/esm2022/components/ngx-pick-datetime/lib/date-time/numberedFixLen.pipe.mjs +0 -28
  69. package/esm2022/components/ngx-pick-datetime/lib/date-time/timer-box.component.mjs +0 -90
  70. package/esm2022/components/ngx-pick-datetime/lib/date-time/timer.component.mjs +0 -292
  71. package/esm2022/components/ngx-pick-datetime/lib/dialog/dialog-config.class.mjs +0 -56
  72. package/esm2022/components/ngx-pick-datetime/lib/dialog/dialog-container.component.mjs +0 -243
  73. package/esm2022/components/ngx-pick-datetime/lib/dialog/dialog-ref.class.mjs +0 -119
  74. package/esm2022/components/ngx-pick-datetime/lib/dialog/dialog.module.mjs +0 -26
  75. package/esm2022/components/ngx-pick-datetime/lib/dialog/dialog.service.mjs +0 -233
  76. package/esm2022/components/ngx-pick-datetime/lib/utils/index.mjs +0 -5
  77. package/esm2022/components/ngx-pick-datetime/lib/utils/object.utils.mjs +0 -26
  78. package/esm2022/components/ngx-remote-select/ngx-remote-select.component.mjs +0 -151
  79. package/esm2022/components/ngx-remote-select/ngx-remote-select.module.mjs +0 -22
  80. package/esm2022/components/ngx-tabset/components/ngx-tab-set.component.mjs +0 -74
  81. package/esm2022/components/ngx-tabset/components/tab.component.mjs +0 -33
  82. package/esm2022/components/ngx-tabset/directives/hover-class.directive.mjs +0 -30
  83. package/esm2022/components/ngx-tabset/modules/ngx-tabset.module.mjs +0 -38
  84. package/esm2022/components/number-input/number-input.component.mjs +0 -254
  85. package/esm2022/components/number-input/number-input.module.mjs +0 -21
  86. package/esm2022/components/number-input/number.directive.mjs +0 -22
  87. package/esm2022/components/radio-button/radio.component.mjs +0 -98
  88. package/esm2022/components/radio-button/radio.module.mjs +0 -19
  89. package/esm2022/components/select/optgroup.directive.mjs +0 -19
  90. package/esm2022/components/select/option.directive.mjs +0 -19
  91. package/esm2022/components/select/select.component.mjs +0 -182
  92. package/esm2022/components/select/select.module.mjs +0 -23
  93. package/esm2022/components/workspace-launcher/workspace-launcher.component.mjs +0 -26
  94. package/esm2022/components/workspace-launcher/workspace-launcher.module.mjs +0 -19
  95. package/esm2022/form-entry/control-alerts/alert-helpers.mjs +0 -40
  96. package/esm2022/form-entry/control-alerts/can-generate-alert.mjs +0 -2
  97. package/esm2022/form-entry/control-calculators/can-calculate.mjs +0 -2
  98. package/esm2022/form-entry/control-hiders-disablers/can-disable.mjs +0 -2
  99. package/esm2022/form-entry/control-hiders-disablers/can-hide.mjs +0 -2
  100. package/esm2022/form-entry/control-hiders-disablers/disabler-helper.mjs +0 -32
  101. package/esm2022/form-entry/control-hiders-disablers/hider-helpers.mjs +0 -41
  102. package/esm2022/form-entry/data-sources/data-sources.mjs +0 -30
  103. package/esm2022/form-entry/data-sources/dummy-data-source.mjs +0 -104
  104. package/esm2022/form-entry/directives/collapse-animations.mjs +0 -11
  105. package/esm2022/form-entry/directives/collapse.directive.mjs +0 -172
  106. package/esm2022/form-entry/directives/historical-value.directive.mjs +0 -68
  107. package/esm2022/form-entry/error-renderer/error-renderer.component.mjs +0 -53
  108. package/esm2022/form-entry/expression-runner/expression-runner.mjs +0 -170
  109. package/esm2022/form-entry/form-entry.module.mjs +0 -194
  110. package/esm2022/form-entry/form-factory/control-relations.factory.mjs +0 -238
  111. package/esm2022/form-entry/form-factory/form-control.service.mjs +0 -118
  112. package/esm2022/form-entry/form-factory/form-node.mjs +0 -99
  113. package/esm2022/form-entry/form-factory/form.factory.mjs +0 -144
  114. package/esm2022/form-entry/form-factory/form.mjs +0 -190
  115. package/esm2022/form-entry/form-factory/hiders-disablers.factory.mjs +0 -68
  116. package/esm2022/form-entry/form-factory/index.mjs +0 -7
  117. package/esm2022/form-entry/form-factory/question.factory.mjs +0 -1123
  118. package/esm2022/form-entry/form-factory/show-messages.factory.mjs +0 -31
  119. package/esm2022/form-entry/form-factory/validation.factory.mjs +0 -182
  120. package/esm2022/form-entry/form-renderer/form-renderer.component.mjs +0 -277
  121. package/esm2022/form-entry/helpers/historical-expression-helper-service.mjs +0 -42
  122. package/esm2022/form-entry/helpers/historical-field-helper-service.mjs +0 -39
  123. package/esm2022/form-entry/helpers/js-expression-helper.mjs +0 -314
  124. package/esm2022/form-entry/helpers/risk-dataset-table.mjs +0 -247
  125. package/esm2022/form-entry/pipes/time-ago.pipe.mjs +0 -110
  126. package/esm2022/form-entry/question-models/checkbox.model.mjs +0 -11
  127. package/esm2022/form-entry/question-models/conditional-validation.model.mjs +0 -9
  128. package/esm2022/form-entry/question-models/custom-control-question.model.mjs +0 -10
  129. package/esm2022/form-entry/question-models/date-question.mjs +0 -12
  130. package/esm2022/form-entry/question-models/date-validation.model.mjs +0 -10
  131. package/esm2022/form-entry/question-models/decimal-validation.model.mjs +0 -19
  132. package/esm2022/form-entry/question-models/diagnosis-question.mjs +0 -12
  133. package/esm2022/form-entry/question-models/disallow-decimals-validation.model.mjs +0 -18
  134. package/esm2022/form-entry/question-models/file-upload-question.mjs +0 -13
  135. package/esm2022/form-entry/question-models/group-question.mjs +0 -12
  136. package/esm2022/form-entry/question-models/index.mjs +0 -24
  137. package/esm2022/form-entry/question-models/interfaces/base-options.mjs +0 -2
  138. package/esm2022/form-entry/question-models/interfaces/checkbox-options.mjs +0 -2
  139. package/esm2022/form-entry/question-models/interfaces/data-source.mjs +0 -2
  140. package/esm2022/form-entry/question-models/interfaces/date-question-options.mjs +0 -2
  141. package/esm2022/form-entry/question-models/interfaces/diagnosis-question-options.mjs +0 -2
  142. package/esm2022/form-entry/question-models/interfaces/file-upload-question-options.mjs +0 -2
  143. package/esm2022/form-entry/question-models/interfaces/group-question-options.mjs +0 -2
  144. package/esm2022/form-entry/question-models/interfaces/multi-select-options.mjs +0 -2
  145. package/esm2022/form-entry/question-models/interfaces/nested-questions.mjs +0 -7
  146. package/esm2022/form-entry/question-models/interfaces/radio-button-options.mjs +0 -2
  147. package/esm2022/form-entry/question-models/interfaces/remote-select-question-options.mjs +0 -2
  148. package/esm2022/form-entry/question-models/interfaces/repeating-question-options.mjs +0 -2
  149. package/esm2022/form-entry/question-models/interfaces/select-option.mjs +0 -2
  150. package/esm2022/form-entry/question-models/interfaces/select-question-options.mjs +0 -2
  151. package/esm2022/form-entry/question-models/interfaces/test-order-question-options.mjs +0 -2
  152. package/esm2022/form-entry/question-models/interfaces/text-area-question-options.mjs +0 -2
  153. package/esm2022/form-entry/question-models/interfaces/text-question-options.mjs +0 -2
  154. package/esm2022/form-entry/question-models/interfaces/ui-select-question-options.mjs +0 -2
  155. package/esm2022/form-entry/question-models/interfaces/workspace-launcher-options.mjs +0 -2
  156. package/esm2022/form-entry/question-models/js-expression-validation.model.mjs +0 -8
  157. package/esm2022/form-entry/question-models/max-length-validation.model.mjs +0 -9
  158. package/esm2022/form-entry/question-models/max-validation.model.mjs +0 -9
  159. package/esm2022/form-entry/question-models/min-length-validation.model.mjs +0 -9
  160. package/esm2022/form-entry/question-models/min-validation.model.mjs +0 -9
  161. package/esm2022/form-entry/question-models/models.mjs +0 -13
  162. package/esm2022/form-entry/question-models/multi-select-question.mjs +0 -11
  163. package/esm2022/form-entry/question-models/pair.model.mjs +0 -7
  164. package/esm2022/form-entry/question-models/question-base.mjs +0 -26
  165. package/esm2022/form-entry/question-models/radio-button.model.mjs +0 -12
  166. package/esm2022/form-entry/question-models/remote-select-question.mjs +0 -12
  167. package/esm2022/form-entry/question-models/rendering-type.mjs +0 -9
  168. package/esm2022/form-entry/question-models/repeating-question.mjs +0 -11
  169. package/esm2022/form-entry/question-models/select-option.mjs +0 -7
  170. package/esm2022/form-entry/question-models/select-question.mjs +0 -12
  171. package/esm2022/form-entry/question-models/test-order-question.mjs +0 -15
  172. package/esm2022/form-entry/question-models/text-area-input-question.mjs +0 -13
  173. package/esm2022/form-entry/question-models/text-input-question.mjs +0 -10
  174. package/esm2022/form-entry/question-models/ui-select-question.mjs +0 -11
  175. package/esm2022/form-entry/question-models/validation.model.mjs +0 -7
  176. package/esm2022/form-entry/question-models/workspace-launcher.model.mjs +0 -15
  177. package/esm2022/form-entry/services/debug-mode.service.mjs +0 -24
  178. package/esm2022/form-entry/services/form-errors.service.mjs +0 -21
  179. package/esm2022/form-entry/services/form-schema-compiler.service.mjs +0 -248
  180. package/esm2022/form-entry/services/historical-encounter-data.service.mjs +0 -172
  181. package/esm2022/form-entry/validators/conditional-answered.validator.mjs +0 -46
  182. package/esm2022/form-entry/validators/conditional-required.validator.mjs +0 -40
  183. package/esm2022/form-entry/validators/date.validator.mjs +0 -18
  184. package/esm2022/form-entry/validators/disallow-decimals.validator.mjs +0 -15
  185. package/esm2022/form-entry/validators/future-date-restriction.validator.mjs +0 -21
  186. package/esm2022/form-entry/validators/js-expression.validator.mjs +0 -26
  187. package/esm2022/form-entry/validators/max-date.validator.mjs +0 -23
  188. package/esm2022/form-entry/validators/max-length.validator.mjs +0 -17
  189. package/esm2022/form-entry/validators/max.validator.mjs +0 -21
  190. package/esm2022/form-entry/validators/min-date.validator.mjs +0 -23
  191. package/esm2022/form-entry/validators/min-length.validator.mjs +0 -17
  192. package/esm2022/form-entry/validators/min.validator.mjs +0 -21
  193. package/esm2022/form-entry/validators/required.validator.mjs +0 -11
  194. package/esm2022/form-entry/validators/validations.mjs +0 -5
  195. package/esm2022/form-entry/value-adapters/diagnosis.adapter.mjs +0 -241
  196. package/esm2022/form-entry/value-adapters/encounter.adapter.mjs +0 -190
  197. package/esm2022/form-entry/value-adapters/obs-adapter-helper.mjs +0 -559
  198. package/esm2022/form-entry/value-adapters/obs.adapter.mjs +0 -542
  199. package/esm2022/form-entry/value-adapters/order.adapter.mjs +0 -186
  200. package/esm2022/form-entry/value-adapters/patient-identifier.adapter.mjs +0 -77
  201. package/esm2022/form-entry/value-adapters/person-attribute.adapter.mjs +0 -88
  202. package/esm2022/form-entry/value-adapters/value.adapter.mjs +0 -2
  203. package/esm2022/lib/index.mjs +0 -59
  204. package/esm2022/openmrs-ngx-formentry.mjs +0 -5
  205. package/esm2022/public_api.mjs +0 -2
  206. package/esm2022/shared.module.mjs +0 -21
  207. /package/components/custom-component-wrapper/{custom-component-wrapper..module.d.ts → custom-component-wrapper.module.d.ts} +0 -0
  208. /package/components/custom-control-wrapper/{custom-control-wrapper..module.d.ts → custom-control-wrapper.module.d.ts} +0 -0
@@ -1,292 +0,0 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, Input, NgZone, Optional, Output } from '@angular/core';
2
- import { take } from 'rxjs/operators';
3
- import { OwlDateTimeIntl } from './date-time-picker-intl.service';
4
- import { DateTimeAdapter } from './adapter/date-time-adapter.class';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./date-time-picker-intl.service";
7
- import * as i2 from "./adapter/date-time-adapter.class";
8
- import * as i3 from "@angular/common";
9
- import * as i4 from "./timer-box.component";
10
- export class OwlTimerComponent {
11
- get owlDTTimeTabIndex() {
12
- return -1;
13
- }
14
- get owlDTTimerClass() {
15
- return true;
16
- }
17
- get pickerMoment() {
18
- return this._pickerMoment;
19
- }
20
- set pickerMoment(value) {
21
- value = this.dateTimeAdapter.deserialize(value);
22
- this._pickerMoment = this.getValidDate(value) || this.dateTimeAdapter.now();
23
- }
24
- get minDateTime() {
25
- return this._minDateTime;
26
- }
27
- set minDateTime(value) {
28
- value = this.dateTimeAdapter.deserialize(value);
29
- this._minDateTime = this.getValidDate(value);
30
- }
31
- get maxDateTime() {
32
- return this._maxDateTime;
33
- }
34
- set maxDateTime(value) {
35
- value = this.dateTimeAdapter.deserialize(value);
36
- this._maxDateTime = this.getValidDate(value);
37
- }
38
- get hourValue() {
39
- return this.dateTimeAdapter.getHours(this.pickerMoment);
40
- }
41
- /**
42
- * The value would be displayed in hourBox.
43
- * We need this because the value displayed in hourBox it not
44
- * the same as the hourValue when the timer is in hour12Timer mode.
45
- * */
46
- get hourBoxValue() {
47
- let hours = this.hourValue;
48
- if (!this.hour12Timer) {
49
- return hours;
50
- }
51
- else {
52
- if (hours === 0) {
53
- hours = 12;
54
- this.isPM = false;
55
- }
56
- else if (hours > 0 && hours < 12) {
57
- this.isPM = false;
58
- }
59
- else if (hours === 12) {
60
- this.isPM = true;
61
- }
62
- else if (hours > 12 && hours < 24) {
63
- hours = hours - 12;
64
- this.isPM = true;
65
- }
66
- return hours;
67
- }
68
- }
69
- get minuteValue() {
70
- return this.dateTimeAdapter.getMinutes(this.pickerMoment);
71
- }
72
- get secondValue() {
73
- return this.dateTimeAdapter.getSeconds(this.pickerMoment);
74
- }
75
- get upHourButtonLabel() {
76
- return this.pickerIntl.upHourLabel;
77
- }
78
- get downHourButtonLabel() {
79
- return this.pickerIntl.downHourLabel;
80
- }
81
- get upMinuteButtonLabel() {
82
- return this.pickerIntl.upMinuteLabel;
83
- }
84
- get downMinuteButtonLabel() {
85
- return this.pickerIntl.downMinuteLabel;
86
- }
87
- get upSecondButtonLabel() {
88
- return this.pickerIntl.upSecondLabel;
89
- }
90
- get downSecondButtonLabel() {
91
- return this.pickerIntl.downSecondLabel;
92
- }
93
- get hour12ButtonLabel() {
94
- return this.isPM
95
- ? this.pickerIntl.hour12PMLabel
96
- : this.pickerIntl.hour12AMLabel;
97
- }
98
- constructor(ngZone, elmRef, pickerIntl, cdRef, dateTimeAdapter) {
99
- this.ngZone = ngZone;
100
- this.elmRef = elmRef;
101
- this.pickerIntl = pickerIntl;
102
- this.cdRef = cdRef;
103
- this.dateTimeAdapter = dateTimeAdapter;
104
- this.isPM = false; // a flag indicates the current timer moment is in PM or AM
105
- /**
106
- * Hours to change per step
107
- */
108
- this.stepHour = 1;
109
- /**
110
- * Minutes to change per step
111
- */
112
- this.stepMinute = 1;
113
- /**
114
- * Seconds to change per step
115
- */
116
- this.stepSecond = 1;
117
- this.selectedChange = new EventEmitter();
118
- }
119
- /**
120
- * Focus to the host element
121
- * */
122
- focus() {
123
- this.ngZone.runOutsideAngular(() => {
124
- this.ngZone.onStable
125
- .asObservable()
126
- .pipe(take(1))
127
- .subscribe(() => {
128
- this.elmRef.nativeElement.focus();
129
- });
130
- });
131
- }
132
- /**
133
- * Set the hour value via typing into timer box input
134
- * We need this to handle the hour value when the timer is in hour12 mode
135
- * */
136
- setHourValueViaInput(hours) {
137
- if (this.hour12Timer && this.isPM && hours >= 1 && hours <= 11) {
138
- hours = hours + 12;
139
- }
140
- else if (this.hour12Timer && !this.isPM && hours === 12) {
141
- hours = 0;
142
- }
143
- this.setHourValue(hours);
144
- }
145
- setHourValue(hours) {
146
- const m = this.dateTimeAdapter.setHours(this.pickerMoment, hours);
147
- this.selectedChange.emit(m);
148
- this.cdRef.markForCheck();
149
- }
150
- setMinuteValue(minutes) {
151
- const m = this.dateTimeAdapter.setMinutes(this.pickerMoment, minutes);
152
- this.selectedChange.emit(m);
153
- this.cdRef.markForCheck();
154
- }
155
- setSecondValue(seconds) {
156
- const m = this.dateTimeAdapter.setSeconds(this.pickerMoment, seconds);
157
- this.selectedChange.emit(m);
158
- this.cdRef.markForCheck();
159
- }
160
- setMeridiem(event) {
161
- this.isPM = !this.isPM;
162
- let hours = this.hourValue;
163
- if (this.isPM) {
164
- hours = hours + 12;
165
- }
166
- else {
167
- hours = hours - 12;
168
- }
169
- if (hours >= 0 && hours <= 23) {
170
- this.setHourValue(hours);
171
- }
172
- this.cdRef.markForCheck();
173
- event.preventDefault();
174
- }
175
- /**
176
- * Check if the up hour button is enabled
177
- */
178
- upHourEnabled() {
179
- return (!this.maxDateTime ||
180
- this.compareHours(this.stepHour, this.maxDateTime) < 1);
181
- }
182
- /**
183
- * Check if the down hour button is enabled
184
- */
185
- downHourEnabled() {
186
- return (!this.minDateTime ||
187
- this.compareHours(-this.stepHour, this.minDateTime) > -1);
188
- }
189
- /**
190
- * Check if the up minute button is enabled
191
- */
192
- upMinuteEnabled() {
193
- return (!this.maxDateTime ||
194
- this.compareMinutes(this.stepMinute, this.maxDateTime) < 1);
195
- }
196
- /**
197
- * Check if the down minute button is enabled
198
- */
199
- downMinuteEnabled() {
200
- return (!this.minDateTime ||
201
- this.compareMinutes(-this.stepMinute, this.minDateTime) > -1);
202
- }
203
- /**
204
- * Check if the up second button is enabled
205
- */
206
- upSecondEnabled() {
207
- return (!this.maxDateTime ||
208
- this.compareSeconds(this.stepSecond, this.maxDateTime) < 1);
209
- }
210
- /**
211
- * Check if the down second button is enabled
212
- */
213
- downSecondEnabled() {
214
- return (!this.minDateTime ||
215
- this.compareSeconds(-this.stepSecond, this.minDateTime) > -1);
216
- }
217
- /**
218
- * PickerMoment's hour value +/- certain amount and compare it to the give date
219
- * 1 is after the comparedDate
220
- * -1 is before the comparedDate
221
- * 0 is equal the comparedDate
222
- * */
223
- compareHours(amount, comparedDate) {
224
- const hours = this.dateTimeAdapter.getHours(this.pickerMoment) + amount;
225
- const result = this.dateTimeAdapter.setHours(this.pickerMoment, hours);
226
- return this.dateTimeAdapter.compare(result, comparedDate);
227
- }
228
- /**
229
- * PickerMoment's minute value +/- certain amount and compare it to the give date
230
- * 1 is after the comparedDate
231
- * -1 is before the comparedDate
232
- * 0 is equal the comparedDate
233
- * */
234
- compareMinutes(amount, comparedDate) {
235
- const minutes = this.dateTimeAdapter.getMinutes(this.pickerMoment) + amount;
236
- const result = this.dateTimeAdapter.setMinutes(this.pickerMoment, minutes);
237
- return this.dateTimeAdapter.compare(result, comparedDate);
238
- }
239
- /**
240
- * PickerMoment's second value +/- certain amount and compare it to the give date
241
- * 1 is after the comparedDate
242
- * -1 is before the comparedDate
243
- * 0 is equal the comparedDate
244
- * */
245
- compareSeconds(amount, comparedDate) {
246
- const seconds = this.dateTimeAdapter.getSeconds(this.pickerMoment) + amount;
247
- const result = this.dateTimeAdapter.setSeconds(this.pickerMoment, seconds);
248
- return this.dateTimeAdapter.compare(result, comparedDate);
249
- }
250
- /**
251
- * Get a valid date object
252
- */
253
- getValidDate(obj) {
254
- return this.dateTimeAdapter.isDateInstance(obj) &&
255
- this.dateTimeAdapter.isValid(obj)
256
- ? obj
257
- : null;
258
- }
259
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OwlTimerComponent, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: i1.OwlDateTimeIntl }, { token: i0.ChangeDetectorRef }, { token: i2.DateTimeAdapter, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
260
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OwlTimerComponent, selector: "ofe-owl-date-time-timer", inputs: { pickerMoment: "pickerMoment", minDateTime: "minDateTime", maxDateTime: "maxDateTime", showSecondsTimer: "showSecondsTimer", hour12Timer: "hour12Timer", stepHour: "stepHour", stepMinute: "stepMinute", stepSecond: "stepSecond" }, outputs: { selectedChange: "selectedChange" }, host: { properties: { "attr.tabindex": "this.owlDTTimeTabIndex", "class.owl-dt-timer": "this.owlDTTimerClass" } }, exportAs: ["owlDateTimeTimer"], ngImport: i0, template: "<ofe-owl-date-time-timer-box\n [upBtnAriaLabel]=\"upHourButtonLabel\"\n [downBtnAriaLabel]=\"downHourButtonLabel\"\n [upBtnDisabled]=\"!upHourEnabled()\"\n [downBtnDisabled]=\"!downHourEnabled()\"\n [boxValue]=\"hourBoxValue\"\n [value]=\"hourValue\"\n [min]=\"0\"\n [max]=\"23\"\n [step]=\"stepHour\"\n [inputLabel]=\"'Hour'\"\n (inputChange)=\"setHourValueViaInput($event)\"\n (valueChange)=\"setHourValue($event)\"\n></ofe-owl-date-time-timer-box>\n<ofe-owl-date-time-timer-box\n [showDivider]=\"true\"\n [upBtnAriaLabel]=\"upMinuteButtonLabel\"\n [downBtnAriaLabel]=\"downMinuteButtonLabel\"\n [upBtnDisabled]=\"!upMinuteEnabled()\"\n [downBtnDisabled]=\"!downMinuteEnabled()\"\n [value]=\"minuteValue\"\n [min]=\"0\"\n [max]=\"59\"\n [step]=\"stepMinute\"\n [inputLabel]=\"'Minute'\"\n (inputChange)=\"setMinuteValue($event)\"\n (valueChange)=\"setMinuteValue($event)\"\n></ofe-owl-date-time-timer-box>\n<ofe-owl-date-time-timer-box\n *ngIf=\"showSecondsTimer\"\n [showDivider]=\"true\"\n [upBtnAriaLabel]=\"upSecondButtonLabel\"\n [downBtnAriaLabel]=\"downSecondButtonLabel\"\n [upBtnDisabled]=\"!upSecondEnabled()\"\n [downBtnDisabled]=\"!downSecondEnabled()\"\n [value]=\"secondValue\"\n [min]=\"0\"\n [max]=\"59\"\n [step]=\"stepSecond\"\n [inputLabel]=\"'Second'\"\n (inputChange)=\"setSecondValue($event)\"\n (valueChange)=\"setSecondValue($event)\"\n></ofe-owl-date-time-timer-box>\n\n<div *ngIf=\"hour12Timer\" class=\"owl-dt-timer-hour12\">\n <button\n class=\"owl-dt-control-button owl-dt-timer-hour12-box\"\n type=\"button\"\n tabindex=\"0\"\n (click)=\"setMeridiem($event)\"\n >\n <span class=\"owl-dt-control-button-content\" tabindex=\"-1\">\n {{ hour12ButtonLabel }}\n </span>\n </button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.OwlTimerBoxComponent, selector: "ofe-owl-date-time-timer-box", inputs: ["showDivider", "upBtnAriaLabel", "upBtnDisabled", "downBtnAriaLabel", "downBtnDisabled", "boxValue", "value", "min", "max", "step", "inputLabel"], outputs: ["valueChange", "inputChange"], exportAs: ["owlDateTimeTimerBox"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
261
- }
262
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OwlTimerComponent, decorators: [{
263
- type: Component,
264
- args: [{ exportAs: 'owlDateTimeTimer', selector: 'ofe-owl-date-time-timer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ofe-owl-date-time-timer-box\n [upBtnAriaLabel]=\"upHourButtonLabel\"\n [downBtnAriaLabel]=\"downHourButtonLabel\"\n [upBtnDisabled]=\"!upHourEnabled()\"\n [downBtnDisabled]=\"!downHourEnabled()\"\n [boxValue]=\"hourBoxValue\"\n [value]=\"hourValue\"\n [min]=\"0\"\n [max]=\"23\"\n [step]=\"stepHour\"\n [inputLabel]=\"'Hour'\"\n (inputChange)=\"setHourValueViaInput($event)\"\n (valueChange)=\"setHourValue($event)\"\n></ofe-owl-date-time-timer-box>\n<ofe-owl-date-time-timer-box\n [showDivider]=\"true\"\n [upBtnAriaLabel]=\"upMinuteButtonLabel\"\n [downBtnAriaLabel]=\"downMinuteButtonLabel\"\n [upBtnDisabled]=\"!upMinuteEnabled()\"\n [downBtnDisabled]=\"!downMinuteEnabled()\"\n [value]=\"minuteValue\"\n [min]=\"0\"\n [max]=\"59\"\n [step]=\"stepMinute\"\n [inputLabel]=\"'Minute'\"\n (inputChange)=\"setMinuteValue($event)\"\n (valueChange)=\"setMinuteValue($event)\"\n></ofe-owl-date-time-timer-box>\n<ofe-owl-date-time-timer-box\n *ngIf=\"showSecondsTimer\"\n [showDivider]=\"true\"\n [upBtnAriaLabel]=\"upSecondButtonLabel\"\n [downBtnAriaLabel]=\"downSecondButtonLabel\"\n [upBtnDisabled]=\"!upSecondEnabled()\"\n [downBtnDisabled]=\"!downSecondEnabled()\"\n [value]=\"secondValue\"\n [min]=\"0\"\n [max]=\"59\"\n [step]=\"stepSecond\"\n [inputLabel]=\"'Second'\"\n (inputChange)=\"setSecondValue($event)\"\n (valueChange)=\"setSecondValue($event)\"\n></ofe-owl-date-time-timer-box>\n\n<div *ngIf=\"hour12Timer\" class=\"owl-dt-timer-hour12\">\n <button\n class=\"owl-dt-control-button owl-dt-timer-hour12-box\"\n type=\"button\"\n tabindex=\"0\"\n (click)=\"setMeridiem($event)\"\n >\n <span class=\"owl-dt-control-button-content\" tabindex=\"-1\">\n {{ hour12ButtonLabel }}\n </span>\n </button>\n</div>\n" }]
265
- }], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ElementRef }, { type: i1.OwlDateTimeIntl }, { type: i0.ChangeDetectorRef }, { type: i2.DateTimeAdapter, decorators: [{
266
- type: Optional
267
- }] }], propDecorators: { owlDTTimeTabIndex: [{
268
- type: HostBinding,
269
- args: ['attr.tabindex']
270
- }], owlDTTimerClass: [{
271
- type: HostBinding,
272
- args: ['class.owl-dt-timer']
273
- }], pickerMoment: [{
274
- type: Input
275
- }], minDateTime: [{
276
- type: Input
277
- }], maxDateTime: [{
278
- type: Input
279
- }], showSecondsTimer: [{
280
- type: Input
281
- }], hour12Timer: [{
282
- type: Input
283
- }], stepHour: [{
284
- type: Input
285
- }], stepMinute: [{
286
- type: Input
287
- }], stepSecond: [{
288
- type: Input
289
- }], selectedChange: [{
290
- type: Output
291
- }] } });
292
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvY29tcG9uZW50cy9uZ3gtcGljay1kYXRldGltZS9saWIvZGF0ZS10aW1lL3RpbWVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mb3JtZW50cnkvc3JjL2NvbXBvbmVudHMvbmd4LXBpY2stZGF0ZXRpbWUvbGliL2RhdGUtdGltZS90aW1lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFDTixRQUFRLEVBQ1IsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUFTcEUsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixJQUNJLGlCQUFpQjtRQUNuQixPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUVELElBQ0ksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFLRCxJQUNJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLEtBQVE7UUFDdkIsS0FBSyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxL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QUs7Z0JBY0YsV0FBVztzQkFEZCxLQUFLO2dCQWdCTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFPTixXQUFXO3NCQURWLEtBQUs7Z0JBT04sUUFBUTtzQkFEUCxLQUFLO2dCQU9OLFVBQVU7c0JBRFQsS0FBSztnQkFPTixVQUFVO3NCQURULEtBQUs7Z0JBeUVOLGNBQWM7c0JBRGIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPcHRpb25hbCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE93bERhdGVUaW1lSW50bCB9IGZyb20gJy4vZGF0ZS10aW1lLXBpY2tlci1pbnRsLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0ZVRpbWVBZGFwdGVyIH0gZnJvbSAnLi9hZGFwdGVyL2RhdGUtdGltZS1hZGFwdGVyLmNsYXNzJztcblxuQENvbXBvbmVudCh7XG4gIGV4cG9ydEFzOiAnb3dsRGF0ZVRpbWVUaW1lcicsXG4gIHNlbGVjdG9yOiAnb2ZlLW93bC1kYXRlLXRpbWUtdGltZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGltZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90aW1lci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBPd2xUaW1lckNvbXBvbmVudDxUPiB7XG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gIGdldCBvd2xEVFRpbWVUYWJJbmRleCgpIHtcbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm93bC1kdC10aW1lcicpXG4gIGdldCBvd2xEVFRpbWVyQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKiogVGhlIGN1cnJlbnQgcGlja2VyIG1vbWVudCAqL1xuICBwcml2YXRlIF9waWNrZXJNb21lbnQ6IFQ7XG5cbiAgQElucHV0KClcbiAgZ2V0IHBpY2tlck1vbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcGlja2VyTW9tZW50O1xuICB9XG5cbiAgc2V0IHBpY2tlck1vbWVudCh2YWx1ZTogVCkge1xuICAgIHZhbHVlID0gdGhpcy5kYXRlVGltZUFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpO1xuICAgIHRoaXMuX3BpY2tlck1vbWVudCA9IHRoaXMuZ2V0VmFsaWREYXRlKHZhbHVlKSB8fCB0aGlzLmRhdGVUaW1lQWRhcHRlci5ub3coKTtcbiAgfVxuXG4gIC8qKiBUaGUgbWluaW11bSBzZWxlY3RhYmxlIGRhdGUgdGltZS4gKi9cbiAgcHJpdmF0ZSBfbWluRGF0ZVRpbWU6IFQgfCBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBtaW5EYXRlVGltZSgpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX21pbkRhdGVUaW1lO1xuICB9XG5cbiAgc2V0IG1pbkRhdGVUaW1lKHZhbHVlOiBUIHwgbnVsbCkge1xuICAgIHZhbHVlID0gdGhpcy5kYXRlVGltZUFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpO1xuICAgIHRoaXMuX21pbkRhdGVUaW1lID0gdGhpcy5nZXRWYWxpZERhdGUodmFsdWUpO1xuICB9XG5cbiAgLyoqIFRoZSBtYXhpbXVtIHNlbGVjdGFibGUgZGF0ZSB0aW1lLiAqL1xuICBwcml2YXRlIF9tYXhEYXRlVGltZTogVCB8IG51bGw7XG5cbiAgQElucHV0KClcbiAgZ2V0IG1heERhdGVUaW1lKCk6IFQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4RGF0ZVRpbWU7XG4gIH1cblxuICBzZXQgbWF4RGF0ZVRpbWUodmFsdWU6IFQgfCBudWxsKSB7XG4gICAgdmFsdWUgPSB0aGlzLmRhdGVUaW1lQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG4gICAgdGhpcy5fbWF4RGF0ZVRpbWUgPSB0aGlzLmdldFZhbGlkRGF0ZSh2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGlzUE0gPSBmYWxzZTsgLy8gYSBmbGFnIGluZGljYXRlcyB0aGUgY3VycmVudCB0aW1lciBtb21lbnQgaXMgaW4gUE0gb3IgQU1cblxuICAvKipcbiAgICogV2hldGhlciB0byBzaG93IHRoZSBzZWNvbmQncyB0aW1lclxuICAgKi9cbiAgQElucHV0KClcbiAgc2hvd1NlY29uZHNUaW1lcjogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdGltZXIgaXMgaW4gaG91cjEyIGZvcm1hdFxuICAgKi9cbiAgQElucHV0KClcbiAgaG91cjEyVGltZXI6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEhvdXJzIHRvIGNoYW5nZSBwZXIgc3RlcFxuICAgKi9cbiAgQElucHV0KClcbiAgc3RlcEhvdXIgPSAxO1xuXG4gIC8qKlxuICAgKiBNaW51dGVzIHRvIGNoYW5nZSBwZXIgc3RlcFxuICAgKi9cbiAgQElucHV0KClcbiAgc3RlcE1pbnV0ZSA9IDE7XG5cbiAgLyoqXG4gICAqIFNlY29uZHMgdG8gY2hhbmdlIHBlciBzdGVwXG4gICAqL1xuICBASW5wdXQoKVxuICBzdGVwU2Vjb25kID0gMTtcblxuICBnZXQgaG91clZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmdldEhvdXJzKHRoaXMucGlja2VyTW9tZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgd291bGQgYmUgZGlzcGxheWVkIGluIGhvdXJCb3guXG4gICAqIFdlIG5lZWQgdGhpcyBiZWNhdXNlIHRoZSB2YWx1ZSBkaXNwbGF5ZWQgaW4gaG91ckJveCBpdCBub3RcbiAgICogdGhlIHNhbWUgYXMgdGhlIGhvdXJWYWx1ZSB3aGVuIHRoZSB0aW1lciBpcyBpbiBob3VyMTJUaW1lciBtb2RlLlxuICAgKiAqL1xuICBnZXQgaG91ckJveFZhbHVlKCk6IG51bWJlciB7XG4gICAgbGV0IGhvdXJzID0gdGhpcy5ob3VyVmFsdWU7XG5cbiAgICBpZiAoIXRoaXMuaG91cjEyVGltZXIpIHtcbiAgICAgIHJldHVybiBob3VycztcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGhvdXJzID09PSAwKSB7XG4gICAgICAgIGhvdXJzID0gMTI7XG4gICAgICAgIHRoaXMuaXNQTSA9IGZhbHNlO1xuICAgICAgfSBlbHNlIGlmIChob3VycyA+IDAgJiYgaG91cnMgPCAxMikge1xuICAgICAgICB0aGlzLmlzUE0gPSBmYWxzZTtcbiAgICAgIH0gZWxzZSBpZiAoaG91cnMgPT09IDEyKSB7XG4gICAgICAgIHRoaXMuaXNQTSA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKGhvdXJzID4gMTIgJiYgaG91cnMgPCAyNCkge1xuICAgICAgICBob3VycyA9IGhvdXJzIC0gMTI7XG4gICAgICAgIHRoaXMuaXNQTSA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBob3VycztcbiAgICB9XG4gIH1cblxuICBnZXQgbWludXRlVmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5kYXRlVGltZUFkYXB0ZXIuZ2V0TWludXRlcyh0aGlzLnBpY2tlck1vbWVudCk7XG4gIH1cblxuICBnZXQgc2Vjb25kVmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5kYXRlVGltZUFkYXB0ZXIuZ2V0U2Vjb25kcyh0aGlzLnBpY2tlck1vbWVudCk7XG4gIH1cblxuICBnZXQgdXBIb3VyQnV0dG9uTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5waWNrZXJJbnRsLnVwSG91ckxhYmVsO1xuICB9XG5cbiAgZ2V0IGRvd25Ib3VyQnV0dG9uTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5waWNrZXJJbnRsLmRvd25Ib3VyTGFiZWw7XG4gIH1cblxuICBnZXQgdXBNaW51dGVCdXR0b25MYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnBpY2tlckludGwudXBNaW51dGVMYWJlbDtcbiAgfVxuXG4gIGdldCBkb3duTWludXRlQnV0dG9uTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5waWNrZXJJbnRsLmRvd25NaW51dGVMYWJlbDtcbiAgfVxuXG4gIGdldCB1cFNlY29uZEJ1dHRvbkxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucGlja2VySW50bC51cFNlY29uZExhYmVsO1xuICB9XG5cbiAgZ2V0IGRvd25TZWNvbmRCdXR0b25MYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnBpY2tlckludGwuZG93blNlY29uZExhYmVsO1xuICB9XG5cbiAgZ2V0IGhvdXIxMkJ1dHRvbkxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXNQTVxuICAgICAgPyB0aGlzLnBpY2tlckludGwuaG91cjEyUE1MYWJlbFxuICAgICAgOiB0aGlzLnBpY2tlckludGwuaG91cjEyQU1MYWJlbDtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBzZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgZWxtUmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcGlja2VySW50bDogT3dsRGF0ZVRpbWVJbnRsLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgZGF0ZVRpbWVBZGFwdGVyOiBEYXRlVGltZUFkYXB0ZXI8VD5cbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBGb2N1cyB0byB0aGUgaG9zdCBlbGVtZW50XG4gICAqICovXG4gIHB1YmxpYyBmb2N1cygpIHtcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5vblN0YWJsZVxuICAgICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5lbG1SZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGhvdXIgdmFsdWUgdmlhIHR5cGluZyBpbnRvIHRpbWVyIGJveCBpbnB1dFxuICAgKiBXZSBuZWVkIHRoaXMgdG8gaGFuZGxlIHRoZSBob3VyIHZhbHVlIHdoZW4gdGhlIHRpbWVyIGlzIGluIGhvdXIxMiBtb2RlXG4gICAqICovXG4gIHB1YmxpYyBzZXRIb3VyVmFsdWVWaWFJbnB1dChob3VyczogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaG91cjEyVGltZXIgJiYgdGhpcy5pc1BNICYmIGhvdXJzID49IDEgJiYgaG91cnMgPD0gMTEpIHtcbiAgICAgIGhvdXJzID0gaG91cnMgKyAxMjtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaG91cjEyVGltZXIgJiYgIXRoaXMuaXNQTSAmJiBob3VycyA9PT0gMTIpIHtcbiAgICAgIGhvdXJzID0gMDtcbiAgICB9XG5cbiAgICB0aGlzLnNldEhvdXJWYWx1ZShob3Vycyk7XG4gIH1cblxuICBwdWJsaWMgc2V0SG91clZhbHVlKGhvdXJzOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBtID0gdGhpcy5kYXRlVGltZUFkYXB0ZXIuc2V0SG91cnModGhpcy5waWNrZXJNb21lbnQsIGhvdXJzKTtcbiAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQobSk7XG4gICAgdGhpcy5jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRNaW51dGVWYWx1ZShtaW51dGVzOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBtID0gdGhpcy5kYXRlVGltZUFkYXB0ZXIuc2V0TWludXRlcyh0aGlzLnBpY2tlck1vbWVudCwgbWludXRlcyk7XG4gICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KG0pO1xuICAgIHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0U2Vjb25kVmFsdWUoc2Vjb25kczogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgbSA9IHRoaXMuZGF0ZVRpbWVBZGFwdGVyLnNldFNlY29uZHModGhpcy5waWNrZXJNb21lbnQsIHNlY29uZHMpO1xuICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChtKTtcbiAgICB0aGlzLmNkUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIHNldE1lcmlkaWVtKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmlzUE0gPSAhdGhpcy5pc1BNO1xuXG4gICAgbGV0IGhvdXJzID0gdGhpcy5ob3VyVmFsdWU7XG4gICAgaWYgKHRoaXMuaXNQTSkge1xuICAgICAgaG91cnMgPSBob3VycyArIDEyO1xuICAgIH0gZWxzZSB7XG4gICAgICBob3VycyA9IGhvdXJzIC0gMTI7XG4gICAgfVxuXG4gICAgaWYgKGhvdXJzID49IDAgJiYgaG91cnMgPD0gMjMpIHtcbiAgICAgIHRoaXMuc2V0SG91clZhbHVlKGhvdXJzKTtcbiAgICB9XG5cbiAgICB0aGlzLmNkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlIHVwIGhvdXIgYnV0dG9uIGlzIGVuYWJsZWRcbiAgICovXG4gIHB1YmxpYyB1cEhvdXJFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhdGhpcy5tYXhEYXRlVGltZSB8fFxuICAgICAgdGhpcy5jb21wYXJlSG91cnModGhpcy5zdGVwSG91ciwgdGhpcy5tYXhEYXRlVGltZSkgPCAxXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0aGUgZG93biBob3VyIGJ1dHRvbiBpcyBlbmFibGVkXG4gICAqL1xuICBwdWJsaWMgZG93bkhvdXJFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhdGhpcy5taW5EYXRlVGltZSB8fFxuICAgICAgdGhpcy5jb21wYXJlSG91cnMoLXRoaXMuc3RlcEhvdXIsIHRoaXMubWluRGF0ZVRpbWUpID4gLTFcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRoZSB1cCBtaW51dGUgYnV0dG9uIGlzIGVuYWJsZWRcbiAgICovXG4gIHB1YmxpYyB1cE1pbnV0ZUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICF0aGlzLm1heERhdGVUaW1lIHx8XG4gICAgICB0aGlzLmNvbXBhcmVNaW51dGVzKHRoaXMuc3RlcE1pbnV0ZSwgdGhpcy5tYXhEYXRlVGltZSkgPCAxXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0aGUgZG93biBtaW51dGUgYnV0dG9uIGlzIGVuYWJsZWRcbiAgICovXG4gIHB1YmxpYyBkb3duTWludXRlRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgIXRoaXMubWluRGF0ZVRpbWUgfHxcbiAgICAgIHRoaXMuY29tcGFyZU1pbnV0ZXMoLXRoaXMuc3RlcE1pbnV0ZSwgdGhpcy5taW5EYXRlVGltZSkgPiAtMVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlIHVwIHNlY29uZCBidXR0b24gaXMgZW5hYmxlZFxuICAgKi9cbiAgcHVibGljIHVwU2Vjb25kRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgIXRoaXMubWF4RGF0ZVRpbWUgfHxcbiAgICAgIHRoaXMuY29tcGFyZVNlY29uZHModGhpcy5zdGVwU2Vjb25kLCB0aGlzLm1heERhdGVUaW1lKSA8IDFcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRoZSBkb3duIHNlY29uZCBidXR0b24gaXMgZW5hYmxlZFxuICAgKi9cbiAgcHVibGljIGRvd25TZWNvbmRFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhdGhpcy5taW5EYXRlVGltZSB8fFxuICAgICAgdGhpcy5jb21wYXJlU2Vjb25kcygtdGhpcy5zdGVwU2Vjb25kLCB0aGlzLm1pbkRhdGVUaW1lKSA+IC0xXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQaWNrZXJNb21lbnQncyBob3VyIHZhbHVlICsvLSBjZXJ0YWluIGFtb3VudCBhbmQgY29tcGFyZSBpdCB0byB0aGUgZ2l2ZSBkYXRlXG4gICAqIDEgaXMgYWZ0ZXIgdGhlIGNvbXBhcmVkRGF0ZVxuICAgKiAtMSBpcyBiZWZvcmUgdGhlIGNvbXBhcmVkRGF0ZVxuICAgKiAwIGlzIGVxdWFsIHRoZSBjb21wYXJlZERhdGVcbiAgICogKi9cbiAgcHJpdmF0ZSBjb21wYXJlSG91cnMoYW1vdW50OiBudW1iZXIsIGNvbXBhcmVkRGF0ZTogVCk6IG51bWJlciB7XG4gICAgY29uc3QgaG91cnMgPSB0aGlzLmRhdGVUaW1lQWRhcHRlci5nZXRIb3Vycyh0aGlzLnBpY2tlck1vbWVudCkgKyBhbW91bnQ7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5kYXRlVGltZUFkYXB0ZXIuc2V0SG91cnModGhpcy5waWNrZXJNb21lbnQsIGhvdXJzKTtcbiAgICByZXR1cm4gdGhpcy5kYXRlVGltZUFkYXB0ZXIuY29tcGFyZShyZXN1bHQsIGNvbXBhcmVkRGF0ZSk7XG4gIH1cblxuICAvKipcbiAgICogUGlja2VyTW9tZW50J3MgbWludXRlIHZhbHVlICsvLSBjZXJ0YWluIGFtb3VudCBhbmQgY29tcGFyZSBpdCB0byB0aGUgZ2l2ZSBkYXRlXG4gICAqIDEgaXMgYWZ0ZXIgdGhlIGNvbXBhcmVkRGF0ZVxuICAgKiAtMSBpcyBiZWZvcmUgdGhlIGNvbXBhcmVkRGF0ZVxuICAgKiAwIGlzIGVxdWFsIHRoZSBjb21wYXJlZERhdGVcbiAgICogKi9cbiAgcHJpdmF0ZSBjb21wYXJlTWludXRlcyhhbW91bnQ6IG51bWJlciwgY29tcGFyZWREYXRlOiBUKTogbnVtYmVyIHtcbiAgICBjb25zdCBtaW51dGVzID0gdGhpcy5kYXRlVGltZUFkYXB0ZXIuZ2V0TWludXRlcyh0aGlzLnBpY2tlck1vbWVudCkgKyBhbW91bnQ7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5kYXRlVGltZUFkYXB0ZXIuc2V0TWludXRlcyh0aGlzLnBpY2tlck1vbWVudCwgbWludXRlcyk7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmNvbXBhcmUocmVzdWx0LCBjb21wYXJlZERhdGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBpY2tlck1vbWVudCdzIHNlY29uZCB2YWx1ZSArLy0gY2VydGFpbiBhbW91bnQgYW5kIGNvbXBhcmUgaXQgdG8gdGhlIGdpdmUgZGF0ZVxuICAgKiAxIGlzIGFmdGVyIHRoZSBjb21wYXJlZERhdGVcbiAgICogLTEgaXMgYmVmb3JlIHRoZSBjb21wYXJlZERhdGVcbiAgICogMCBpcyBlcXVhbCB0aGUgY29tcGFyZWREYXRlXG4gICAqICovXG4gIHByaXZhdGUgY29tcGFyZVNlY29uZHMoYW1vdW50OiBudW1iZXIsIGNvbXBhcmVkRGF0ZTogVCk6IG51bWJlciB7XG4gICAgY29uc3Qgc2Vjb25kcyA9IHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmdldFNlY29uZHModGhpcy5waWNrZXJNb21lbnQpICsgYW1vdW50O1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZGF0ZVRpbWVBZGFwdGVyLnNldFNlY29uZHModGhpcy5waWNrZXJNb21lbnQsIHNlY29uZHMpO1xuICAgIHJldHVybiB0aGlzLmRhdGVUaW1lQWRhcHRlci5jb21wYXJlKHJlc3VsdCwgY29tcGFyZWREYXRlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSB2YWxpZCBkYXRlIG9iamVjdFxuICAgKi9cbiAgcHJpdmF0ZSBnZXRWYWxpZERhdGUob2JqOiBhbnkpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmlzRGF0ZUluc3RhbmNlKG9iaikgJiZcbiAgICAgIHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmlzVmFsaWQob2JqKVxuICAgICAgPyBvYmpcbiAgICAgIDogbnVsbDtcbiAgfVxufVxuIiwiPG9mZS1vd2wtZGF0ZS10aW1lLXRpbWVyLWJveFxuICBbdXBCdG5BcmlhTGFiZWxdPVwidXBIb3VyQnV0dG9uTGFiZWxcIlxuICBbZG93bkJ0bkFyaWFMYWJlbF09XCJkb3duSG91ckJ1dHRvbkxhYmVsXCJcbiAgW3VwQnRuRGlzYWJsZWRdPVwiIXVwSG91ckVuYWJsZWQoKVwiXG4gIFtkb3duQnRuRGlzYWJsZWRdPVwiIWRvd25Ib3VyRW5hYmxlZCgpXCJcbiAgW2JveFZhbHVlXT1cImhvdXJCb3hWYWx1ZVwiXG4gIFt2YWx1ZV09XCJob3VyVmFsdWVcIlxuICBbbWluXT1cIjBcIlxuICBbbWF4XT1cIjIzXCJcbiAgW3N0ZXBdPVwic3RlcEhvdXJcIlxuICBbaW5wdXRMYWJlbF09XCInSG91cidcIlxuICAoaW5wdXRDaGFuZ2UpPVwic2V0SG91clZhbHVlVmlhSW5wdXQoJGV2ZW50KVwiXG4gICh2YWx1ZUNoYW5nZSk9XCJzZXRIb3VyVmFsdWUoJGV2ZW50KVwiXG4+PC9vZmUtb3dsLWRhdGUtdGltZS10aW1lci1ib3g+XG48b2ZlLW93bC1kYXRlLXRpbWUtdGltZXItYm94XG4gIFtzaG93RGl2aWRlcl09XCJ0cnVlXCJcbiAgW3VwQnRuQXJpYUxhYmVsXT1cInVwTWludXRlQnV0dG9uTGFiZWxcIlxuICBbZG93bkJ0bkFyaWFMYWJlbF09XCJkb3duTWludXRlQnV0dG9uTGFiZWxcIlxuICBbdXBCdG5EaXNhYmxlZF09XCIhdXBNaW51dGVFbmFibGVkKClcIlxuICBbZG93bkJ0bkRpc2FibGVkXT1cIiFkb3duTWludXRlRW5hYmxlZCgpXCJcbiAgW3ZhbHVlXT1cIm1pbnV0ZVZhbHVlXCJcbiAgW21pbl09XCIwXCJcbiAgW21heF09XCI1OVwiXG4gIFtzdGVwXT1cInN0ZXBNaW51dGVcIlxuICBbaW5wdXRMYWJlbF09XCInTWludXRlJ1wiXG4gIChpbnB1dENoYW5nZSk9XCJzZXRNaW51dGVWYWx1ZSgkZXZlbnQpXCJcbiAgKHZhbHVlQ2hhbmdlKT1cInNldE1pbnV0ZVZhbHVlKCRldmVudClcIlxuPjwvb2ZlLW93bC1kYXRlLXRpbWUtdGltZXItYm94PlxuPG9mZS1vd2wtZGF0ZS10aW1lLXRpbWVyLWJveFxuICAqbmdJZj1cInNob3dTZWNvbmRzVGltZXJcIlxuICBbc2hvd0RpdmlkZXJdPVwidHJ1ZVwiXG4gIFt1cEJ0bkFyaWFMYWJlbF09XCJ1cFNlY29uZEJ1dHRvbkxhYmVsXCJcbiAgW2Rvd25CdG5BcmlhTGFiZWxdPVwiZG93blNlY29uZEJ1dHRvbkxhYmVsXCJcbiAgW3VwQnRuRGlzYWJsZWRdPVwiIXVwU2Vjb25kRW5hYmxlZCgpXCJcbiAgW2Rvd25CdG5EaXNhYmxlZF09XCIhZG93blNlY29uZEVuYWJsZWQoKVwiXG4gIFt2YWx1ZV09XCJzZWNvbmRWYWx1ZVwiXG4gIFttaW5dPVwiMFwiXG4gIFttYXhdPVwiNTlcIlxuICBbc3RlcF09XCJzdGVwU2Vjb25kXCJcbiAgW2lucHV0TGFiZWxdPVwiJ1NlY29uZCdcIlxuICAoaW5wdXRDaGFuZ2UpPVwic2V0U2Vjb25kVmFsdWUoJGV2ZW50KVwiXG4gICh2YWx1ZUNoYW5nZSk9XCJzZXRTZWNvbmRWYWx1ZSgkZXZlbnQpXCJcbj48L29mZS1vd2wtZGF0ZS10aW1lLXRpbWVyLWJveD5cblxuPGRpdiAqbmdJZj1cImhvdXIxMlRpbWVyXCIgY2xhc3M9XCJvd2wtZHQtdGltZXItaG91cjEyXCI+XG4gIDxidXR0b25cbiAgICBjbGFzcz1cIm93bC1kdC1jb250cm9sLWJ1dHRvbiBvd2wtZHQtdGltZXItaG91cjEyLWJveFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgICAoY2xpY2spPVwic2V0TWVyaWRpZW0oJGV2ZW50KVwiXG4gID5cbiAgICA8c3BhbiBjbGFzcz1cIm93bC1kdC1jb250cm9sLWJ1dHRvbi1jb250ZW50XCIgdGFiaW5kZXg9XCItMVwiPlxuICAgICAge3sgaG91cjEyQnV0dG9uTGFiZWwgfX1cbiAgICA8L3NwYW4+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -1,56 +0,0 @@
1
- import { NoopScrollStrategy } from '@angular/cdk/overlay';
2
- let uniqueId = 0;
3
- export class OwlDialogConfig {
4
- constructor() {
5
- /**
6
- * ID of the element that describes the dialog.
7
- */
8
- this.ariaDescribedBy = null;
9
- /**
10
- * Whether to focus the dialog when the dialog is opened
11
- */
12
- this.autoFocus = true;
13
- /** Whether the dialog has a backdrop. */
14
- this.hasBackdrop = true;
15
- /** Data being injected into the child component. */
16
- this.data = null;
17
- /** Whether the user can use escape or clicking outside to close a modal. */
18
- this.disableClose = false;
19
- /**
20
- * The ARIA role of the dialog element.
21
- */
22
- this.role = 'dialog';
23
- /**
24
- * Custom class for the pane
25
- * */
26
- this.paneClass = '';
27
- /**
28
- * Mouse Event
29
- * */
30
- this.event = null;
31
- /**
32
- * Custom class for the backdrop
33
- * */
34
- this.backdropClass = '';
35
- /**
36
- * Whether the dialog should close when the user goes backwards/forwards in history.
37
- * */
38
- this.closeOnNavigation = true;
39
- /** Width of the dialog. */
40
- this.width = '';
41
- /** Height of the dialog. */
42
- this.height = '';
43
- /**
44
- * The max-width of the overlay panel.
45
- * If a number is provided, pixel units are assumed.
46
- * */
47
- this.maxWidth = '85vw';
48
- /**
49
- * The scroll strategy when the dialog is open
50
- * Learn more this from https://material.angular.io/cdk/overlay/overview#scroll-strategies
51
- * */
52
- this.scrollStrategy = new NoopScrollStrategy();
53
- this.id = `owl-dialog-${uniqueId++}`;
54
- }
55
- }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbmZpZy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mb3JtZW50cnkvc3JjL2NvbXBvbmVudHMvbmd4LXBpY2stZGF0ZXRpbWUvbGliL2RpYWxvZy9kaWFsb2ctY29uZmlnLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxrQkFBa0IsRUFBa0IsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRSxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFpQmpCLE1BQU0sT0FBTyxlQUFlO0lBZ0cxQjtRQS9GQTs7V0FFRztRQUNJLG9CQUFlLEdBQW1CLElBQUksQ0FBQztRQUU5Qzs7V0FFRztRQUNJLGNBQVMsR0FBSSxJQUFJLENBQUM7UUFFekIseUNBQXlDO1FBQ2xDLGdCQUFXLEdBQUksSUFBSSxDQUFDO1FBTzNCLG9EQUFvRDtRQUM3QyxTQUFJLEdBQVMsSUFBSSxDQUFDO1FBRXpCLDRFQUE0RTtRQUNyRSxpQkFBWSxHQUFJLEtBQUssQ0FBQztRQU83Qjs7V0FFRztRQUNJLFNBQUksR0FBOEIsUUFBUSxDQUFDO1FBRWxEOzthQUVLO1FBQ0UsY0FBUyxHQUF1QixFQUFFLENBQUM7UUFFMUM7O2FBRUs7UUFDRSxVQUFLLEdBQWdCLElBQUksQ0FBQztRQUVqQzs7YUFFSztRQUNFLGtCQUFhLEdBQXVCLEVBQUUsQ0FBQztRQUU5Qzs7YUFFSztRQUNFLHNCQUFpQixHQUFHLElBQUksQ0FBQztRQUVoQywyQkFBMkI7UUFDcEIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVsQiw0QkFBNEI7UUFDckIsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQWNuQjs7O2FBR0s7UUFDRSxhQUFRLEdBQXFCLE1BQU0sQ0FBQztRQVczQzs7O2FBR0s7UUFDRSxtQkFBYyxHQUFvQixJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFLaEUsSUFBSSxDQUFDLEVBQUUsR0FBRyxjQUFjLFFBQVEsRUFBRSxFQUFFLENBQUM7SUFDdkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBkaWFsb2ctY29uZmlnLmNsYXNzXG4gKi9cbmltcG9ydCB7IFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vb3BTY3JvbGxTdHJhdGVneSwgU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5cbi8qKiBQb3NzaWJsZSBvdmVycmlkZXMgZm9yIGEgZGlhbG9nJ3MgcG9zaXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ1Bvc2l0aW9uIHtcbiAgLyoqIE92ZXJyaWRlIGZvciB0aGUgZGlhbG9nJ3MgdG9wIHBvc2l0aW9uLiAqL1xuICB0b3A/OiBzdHJpbmc7XG5cbiAgLyoqIE92ZXJyaWRlIGZvciB0aGUgZGlhbG9nJ3MgYm90dG9tIHBvc2l0aW9uLiAqL1xuICBib3R0b20/OiBzdHJpbmc7XG5cbiAgLyoqIE92ZXJyaWRlIGZvciB0aGUgZGlhbG9nJ3MgbGVmdCBwb3NpdGlvbi4gKi9cbiAgbGVmdD86IHN0cmluZztcblxuICAvKiogT3ZlcnJpZGUgZm9yIHRoZSBkaWFsb2cncyByaWdodCBwb3NpdGlvbi4gKi9cbiAgcmlnaHQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBPd2xEaWFsb2dDb25maWcge1xuICAvKipcbiAgICogSUQgb2YgdGhlIGVsZW1lbnQgdGhhdCBkZXNjcmliZXMgdGhlIGRpYWxvZy5cbiAgICovXG4gIHB1YmxpYyBhcmlhRGVzY3JpYmVkQnk/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogV2hldGhlciB0byBmb2N1cyB0aGUgZGlhbG9nIHdoZW4gdGhlIGRpYWxvZyBpcyBvcGVuZWRcbiAgICovXG4gIHB1YmxpYyBhdXRvRm9jdXM/ID0gdHJ1ZTtcblxuICAvKiogV2hldGhlciB0aGUgZGlhbG9nIGhhcyBhIGJhY2tkcm9wLiAqL1xuICBwdWJsaWMgaGFzQmFja2Ryb3A/ID0gdHJ1ZTtcblxuICAvKipcbiAgICogQ3VzdG9tIHN0eWxlIGZvciB0aGUgYmFja2Ryb3BcbiAgICogKi9cbiAgcHVibGljIGJhY2tkcm9wU3R5bGU/OiBhbnk7XG5cbiAgLyoqIERhdGEgYmVpbmcgaW5qZWN0ZWQgaW50byB0aGUgY2hpbGQgY29tcG9uZW50LiAqL1xuICBwdWJsaWMgZGF0YT86IGFueSA9IG51bGw7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgY2FuIHVzZSBlc2NhcGUgb3IgY2xpY2tpbmcgb3V0c2lkZSB0byBjbG9zZSBhIG1vZGFsLiAqL1xuICBwdWJsaWMgZGlzYWJsZUNsb3NlPyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJRCBmb3IgdGhlIG1vZGFsLiBJZiBvbWl0dGVkLCBhIHVuaXF1ZSBvbmUgd2lsbCBiZSBnZW5lcmF0ZWQuXG4gICAqL1xuICBwdWJsaWMgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUklBIHJvbGUgb2YgdGhlIGRpYWxvZyBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIHJvbGU/OiAnZGlhbG9nJyB8ICdhbGVydGRpYWxvZycgPSAnZGlhbG9nJztcblxuICAvKipcbiAgICogQ3VzdG9tIGNsYXNzIGZvciB0aGUgcGFuZVxuICAgKiAqL1xuICBwdWJsaWMgcGFuZUNsYXNzPzogc3RyaW5nIHwgc3RyaW5nW10gPSAnJztcblxuICAvKipcbiAgICogTW91c2UgRXZlbnRcbiAgICogKi9cbiAgcHVibGljIGV2ZW50PzogTW91c2VFdmVudCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBjbGFzcyBmb3IgdGhlIGJhY2tkcm9wXG4gICAqICovXG4gIHB1YmxpYyBiYWNrZHJvcENsYXNzPzogc3RyaW5nIHwgc3RyaW5nW10gPSAnJztcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZGlhbG9nIHNob3VsZCBjbG9zZSB3aGVuIHRoZSB1c2VyIGdvZXMgYmFja3dhcmRzL2ZvcndhcmRzIGluIGhpc3RvcnkuXG4gICAqICovXG4gIHB1YmxpYyBjbG9zZU9uTmF2aWdhdGlvbiA9IHRydWU7XG5cbiAgLyoqIFdpZHRoIG9mIHRoZSBkaWFsb2cuICovXG4gIHB1YmxpYyB3aWR0aCA9ICcnO1xuXG4gIC8qKiBIZWlnaHQgb2YgdGhlIGRpYWxvZy4gKi9cbiAgcHVibGljIGhlaWdodCA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgbWluLXdpZHRoIG9mIHRoZSBvdmVybGF5IHBhbmVsLlxuICAgKiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgcGl4ZWwgdW5pdHMgYXJlIGFzc3VtZWQuXG4gICAqICovXG4gIHB1YmxpYyBtaW5XaWR0aD86IG51bWJlciB8IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1pbi1oZWlnaHQgb2YgdGhlIG92ZXJsYXkgcGFuZWwuXG4gICAqIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBwaXhlbCB1bml0cyBhcmUgYXNzdW1lZC5cbiAgICogKi9cbiAgcHVibGljIG1pbkhlaWdodD86IG51bWJlciB8IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1heC13aWR0aCBvZiB0aGUgb3ZlcmxheSBwYW5lbC5cbiAgICogSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIHBpeGVsIHVuaXRzIGFyZSBhc3N1bWVkLlxuICAgKiAqL1xuICBwdWJsaWMgbWF4V2lkdGg/OiBudW1iZXIgfCBzdHJpbmcgPSAnODV2dyc7XG5cbiAgLyoqXG4gICAqIFRoZSBtYXgtaGVpZ2h0IG9mIHRoZSBvdmVybGF5IHBhbmVsLlxuICAgKiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgcGl4ZWwgdW5pdHMgYXJlIGFzc3VtZWQuXG4gICAqICovXG4gIHB1YmxpYyBtYXhIZWlnaHQ/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgLyoqIFBvc2l0aW9uIG92ZXJyaWRlcy4gKi9cbiAgcHVibGljIHBvc2l0aW9uPzogRGlhbG9nUG9zaXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBzY3JvbGwgc3RyYXRlZ3kgd2hlbiB0aGUgZGlhbG9nIGlzIG9wZW5cbiAgICogTGVhcm4gbW9yZSB0aGlzIGZyb20gaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2Nkay9vdmVybGF5L292ZXJ2aWV3I3Njcm9sbC1zdHJhdGVnaWVzXG4gICAqICovXG4gIHB1YmxpYyBzY3JvbGxTdHJhdGVneT86IFNjcm9sbFN0cmF0ZWd5ID0gbmV3IE5vb3BTY3JvbGxTdHJhdGVneSgpO1xuXG4gIHB1YmxpYyB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmlkID0gYG93bC1kaWFsb2ctJHt1bmlxdWVJZCsrfWA7XG4gIH1cbn1cbiJdfQ==