@skyux/datetime 5.9.4 → 6.0.0-beta.10

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 (163) hide show
  1. package/documentation.json +709 -790
  2. package/esm2020/index.mjs +31 -0
  3. package/esm2020/lib/modules/date-pipe/date-format-utility.mjs +46 -0
  4. package/esm2020/lib/modules/date-pipe/date-pipe.module.mjs +21 -0
  5. package/esm2020/lib/modules/date-pipe/date.pipe.mjs +65 -0
  6. package/esm2020/lib/modules/date-pipe/fuzzy-date.pipe.mjs +47 -0
  7. package/esm2020/lib/modules/date-range-picker/date-range-picker.component.mjs +437 -0
  8. package/esm2020/lib/modules/date-range-picker/date-range-picker.module.mjs +47 -0
  9. package/esm2020/lib/modules/date-range-picker/date-range.service.mjs +97 -0
  10. package/esm2020/lib/modules/date-range-picker/types/date-range-calculation.mjs +2 -0
  11. package/esm2020/lib/modules/date-range-picker/types/date-range-calculator-config.mjs +2 -0
  12. package/esm2020/lib/modules/date-range-picker/types/date-range-calculator-date-range-function.mjs +2 -0
  13. package/esm2020/lib/modules/date-range-picker/types/date-range-calculator-id.mjs +118 -0
  14. package/esm2020/lib/modules/date-range-picker/types/date-range-calculator-type.mjs +23 -0
  15. package/esm2020/lib/modules/date-range-picker/types/date-range-calculator-validate-function.mjs +2 -0
  16. package/esm2020/lib/modules/date-range-picker/types/date-range-calculator.mjs +53 -0
  17. package/esm2020/lib/modules/date-range-picker/types/date-range-default-calculator-config.mjs +2 -0
  18. package/esm2020/lib/modules/date-range-picker/types/date-range-default-calculator-configs.mjs +147 -0
  19. package/esm2020/lib/modules/date-range-picker/types/date-range-relative-value.mjs +249 -0
  20. package/esm2020/lib/modules/date-range-picker/types/date-range.mjs +2 -0
  21. package/esm2020/lib/modules/datepicker/date-formatter.mjs +38 -0
  22. package/esm2020/lib/modules/datepicker/datepicker-adapter.service.mjs +33 -0
  23. package/esm2020/lib/modules/datepicker/datepicker-calendar-change.mjs +2 -0
  24. package/esm2020/lib/modules/datepicker/datepicker-calendar-inner.component.mjs +310 -0
  25. package/esm2020/lib/modules/datepicker/datepicker-calendar.component.mjs +104 -0
  26. package/esm2020/lib/modules/datepicker/datepicker-config.service.mjs +21 -0
  27. package/esm2020/lib/modules/datepicker/datepicker-custom-date.mjs +2 -0
  28. package/esm2020/lib/modules/datepicker/datepicker-date.mjs +2 -0
  29. package/esm2020/lib/modules/datepicker/datepicker-input-fuzzy.directive.mjs +464 -0
  30. package/esm2020/lib/modules/datepicker/datepicker-input.directive.mjs +488 -0
  31. package/esm2020/lib/modules/datepicker/datepicker.component.mjs +328 -0
  32. package/esm2020/lib/modules/datepicker/datepicker.module.mjs +95 -0
  33. package/esm2020/lib/modules/datepicker/datepicker.service.mjs +21 -0
  34. package/esm2020/lib/modules/datepicker/daypicker-button.component.mjs +22 -0
  35. package/esm2020/lib/modules/datepicker/daypicker-cell.component.mjs +126 -0
  36. package/esm2020/lib/modules/datepicker/daypicker.component.mjs +211 -0
  37. package/esm2020/lib/modules/datepicker/fuzzy-date.mjs +2 -0
  38. package/esm2020/lib/modules/datepicker/fuzzy-date.service.mjs +402 -0
  39. package/esm2020/lib/modules/datepicker/monthpicker.component.mjs +80 -0
  40. package/esm2020/lib/modules/datepicker/yearpicker.component.mjs +86 -0
  41. package/esm2020/lib/modules/shared/sky-datetime-resources.module.mjs +131 -0
  42. package/esm2020/lib/modules/timepicker/timepicker.component.mjs +361 -0
  43. package/esm2020/lib/modules/timepicker/timepicker.directive.mjs +226 -0
  44. package/esm2020/lib/modules/timepicker/timepicker.interface.mjs +2 -0
  45. package/esm2020/lib/modules/timepicker/timepicker.module.mjs +46 -0
  46. package/esm2020/skyux-datetime.mjs +5 -0
  47. package/esm2020/testing/datepicker-fixture.mjs +53 -0
  48. package/esm2020/testing/public-api.mjs +3 -0
  49. package/esm2020/testing/skyux-datetime-testing.mjs +5 -0
  50. package/esm2020/testing/timepicker-fixture.mjs +50 -0
  51. package/fesm2015/{skyux-datetime-testing.js → skyux-datetime-testing.mjs} +1 -2
  52. package/fesm2015/skyux-datetime-testing.mjs.map +1 -0
  53. package/fesm2015/skyux-datetime.mjs +4752 -0
  54. package/fesm2015/skyux-datetime.mjs.map +1 -0
  55. package/{esm2015/testing/datepicker-fixture.js → fesm2020/skyux-datetime-testing.mjs} +57 -3
  56. package/fesm2020/skyux-datetime-testing.mjs.map +1 -0
  57. package/{fesm2015/skyux-datetime.js → fesm2020/skyux-datetime.mjs} +196 -218
  58. package/fesm2020/skyux-datetime.mjs.map +1 -0
  59. package/lib/modules/date-range-picker/date-range-picker.component.d.ts +2 -6
  60. package/lib/modules/datepicker/datepicker-input.directive.d.ts +11 -0
  61. package/package.json +42 -18
  62. package/testing/package.json +5 -5
  63. package/bundles/skyux-datetime-testing.umd.js +0 -143
  64. package/bundles/skyux-datetime.umd.js +0 -5488
  65. package/esm2015/index.js +0 -31
  66. package/esm2015/index.js.map +0 -1
  67. package/esm2015/lib/modules/date-pipe/date-format-utility.js +0 -46
  68. package/esm2015/lib/modules/date-pipe/date-format-utility.js.map +0 -1
  69. package/esm2015/lib/modules/date-pipe/date-pipe.module.js +0 -21
  70. package/esm2015/lib/modules/date-pipe/date-pipe.module.js.map +0 -1
  71. package/esm2015/lib/modules/date-pipe/date.pipe.js +0 -65
  72. package/esm2015/lib/modules/date-pipe/date.pipe.js.map +0 -1
  73. package/esm2015/lib/modules/date-pipe/fuzzy-date.pipe.js +0 -47
  74. package/esm2015/lib/modules/date-pipe/fuzzy-date.pipe.js.map +0 -1
  75. package/esm2015/lib/modules/date-range-picker/date-range-picker.component.js +0 -453
  76. package/esm2015/lib/modules/date-range-picker/date-range-picker.component.js.map +0 -1
  77. package/esm2015/lib/modules/date-range-picker/date-range-picker.module.js +0 -47
  78. package/esm2015/lib/modules/date-range-picker/date-range-picker.module.js.map +0 -1
  79. package/esm2015/lib/modules/date-range-picker/date-range.service.js +0 -97
  80. package/esm2015/lib/modules/date-range-picker/date-range.service.js.map +0 -1
  81. package/esm2015/lib/modules/date-range-picker/types/date-range-calculation.js +0 -2
  82. package/esm2015/lib/modules/date-range-picker/types/date-range-calculation.js.map +0 -1
  83. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator-config.js +0 -2
  84. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator-config.js.map +0 -1
  85. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator-date-range-function.js +0 -2
  86. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator-date-range-function.js.map +0 -1
  87. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator-id.js +0 -118
  88. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator-id.js.map +0 -1
  89. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator-type.js +0 -23
  90. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator-type.js.map +0 -1
  91. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator-validate-function.js +0 -2
  92. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator-validate-function.js.map +0 -1
  93. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator.js +0 -56
  94. package/esm2015/lib/modules/date-range-picker/types/date-range-calculator.js.map +0 -1
  95. package/esm2015/lib/modules/date-range-picker/types/date-range-default-calculator-config.js +0 -2
  96. package/esm2015/lib/modules/date-range-picker/types/date-range-default-calculator-config.js.map +0 -1
  97. package/esm2015/lib/modules/date-range-picker/types/date-range-default-calculator-configs.js +0 -147
  98. package/esm2015/lib/modules/date-range-picker/types/date-range-default-calculator-configs.js.map +0 -1
  99. package/esm2015/lib/modules/date-range-picker/types/date-range-relative-value.js +0 -249
  100. package/esm2015/lib/modules/date-range-picker/types/date-range-relative-value.js.map +0 -1
  101. package/esm2015/lib/modules/date-range-picker/types/date-range.js +0 -2
  102. package/esm2015/lib/modules/date-range-picker/types/date-range.js.map +0 -1
  103. package/esm2015/lib/modules/datepicker/date-formatter.js +0 -38
  104. package/esm2015/lib/modules/datepicker/date-formatter.js.map +0 -1
  105. package/esm2015/lib/modules/datepicker/datepicker-adapter.service.js +0 -33
  106. package/esm2015/lib/modules/datepicker/datepicker-adapter.service.js.map +0 -1
  107. package/esm2015/lib/modules/datepicker/datepicker-calendar-change.js +0 -2
  108. package/esm2015/lib/modules/datepicker/datepicker-calendar-change.js.map +0 -1
  109. package/esm2015/lib/modules/datepicker/datepicker-calendar-inner.component.js +0 -315
  110. package/esm2015/lib/modules/datepicker/datepicker-calendar-inner.component.js.map +0 -1
  111. package/esm2015/lib/modules/datepicker/datepicker-calendar.component.js +0 -109
  112. package/esm2015/lib/modules/datepicker/datepicker-calendar.component.js.map +0 -1
  113. package/esm2015/lib/modules/datepicker/datepicker-config.service.js +0 -21
  114. package/esm2015/lib/modules/datepicker/datepicker-config.service.js.map +0 -1
  115. package/esm2015/lib/modules/datepicker/datepicker-custom-date.js +0 -2
  116. package/esm2015/lib/modules/datepicker/datepicker-custom-date.js.map +0 -1
  117. package/esm2015/lib/modules/datepicker/datepicker-date.js +0 -2
  118. package/esm2015/lib/modules/datepicker/datepicker-date.js.map +0 -1
  119. package/esm2015/lib/modules/datepicker/datepicker-input-fuzzy.directive.js +0 -467
  120. package/esm2015/lib/modules/datepicker/datepicker-input-fuzzy.directive.js.map +0 -1
  121. package/esm2015/lib/modules/datepicker/datepicker-input.directive.js +0 -446
  122. package/esm2015/lib/modules/datepicker/datepicker-input.directive.js.map +0 -1
  123. package/esm2015/lib/modules/datepicker/datepicker.component.js +0 -333
  124. package/esm2015/lib/modules/datepicker/datepicker.component.js.map +0 -1
  125. package/esm2015/lib/modules/datepicker/datepicker.module.js +0 -95
  126. package/esm2015/lib/modules/datepicker/datepicker.module.js.map +0 -1
  127. package/esm2015/lib/modules/datepicker/datepicker.service.js +0 -21
  128. package/esm2015/lib/modules/datepicker/datepicker.service.js.map +0 -1
  129. package/esm2015/lib/modules/datepicker/daypicker-button.component.js +0 -26
  130. package/esm2015/lib/modules/datepicker/daypicker-button.component.js.map +0 -1
  131. package/esm2015/lib/modules/datepicker/daypicker-cell.component.js +0 -130
  132. package/esm2015/lib/modules/datepicker/daypicker-cell.component.js.map +0 -1
  133. package/esm2015/lib/modules/datepicker/daypicker.component.js +0 -215
  134. package/esm2015/lib/modules/datepicker/daypicker.component.js.map +0 -1
  135. package/esm2015/lib/modules/datepicker/fuzzy-date.js +0 -2
  136. package/esm2015/lib/modules/datepicker/fuzzy-date.js.map +0 -1
  137. package/esm2015/lib/modules/datepicker/fuzzy-date.service.js +0 -403
  138. package/esm2015/lib/modules/datepicker/fuzzy-date.service.js.map +0 -1
  139. package/esm2015/lib/modules/datepicker/monthpicker.component.js +0 -84
  140. package/esm2015/lib/modules/datepicker/monthpicker.component.js.map +0 -1
  141. package/esm2015/lib/modules/datepicker/yearpicker.component.js +0 -90
  142. package/esm2015/lib/modules/datepicker/yearpicker.component.js.map +0 -1
  143. package/esm2015/lib/modules/shared/sky-datetime-resources.module.js +0 -131
  144. package/esm2015/lib/modules/shared/sky-datetime-resources.module.js.map +0 -1
  145. package/esm2015/lib/modules/timepicker/timepicker.component.js +0 -367
  146. package/esm2015/lib/modules/timepicker/timepicker.component.js.map +0 -1
  147. package/esm2015/lib/modules/timepicker/timepicker.directive.js +0 -228
  148. package/esm2015/lib/modules/timepicker/timepicker.directive.js.map +0 -1
  149. package/esm2015/lib/modules/timepicker/timepicker.interface.js +0 -2
  150. package/esm2015/lib/modules/timepicker/timepicker.interface.js.map +0 -1
  151. package/esm2015/lib/modules/timepicker/timepicker.module.js +0 -46
  152. package/esm2015/lib/modules/timepicker/timepicker.module.js.map +0 -1
  153. package/esm2015/skyux-datetime.js +0 -5
  154. package/esm2015/skyux-datetime.js.map +0 -1
  155. package/esm2015/testing/datepicker-fixture.js.map +0 -1
  156. package/esm2015/testing/public-api.js +0 -3
  157. package/esm2015/testing/public-api.js.map +0 -1
  158. package/esm2015/testing/skyux-datetime-testing.js +0 -5
  159. package/esm2015/testing/skyux-datetime-testing.js.map +0 -1
  160. package/esm2015/testing/timepicker-fixture.js +0 -50
  161. package/esm2015/testing/timepicker-fixture.js.map +0 -1
  162. package/fesm2015/skyux-datetime-testing.js.map +0 -1
  163. package/fesm2015/skyux-datetime.js.map +0 -1
@@ -1,9 +1,10 @@
1
1
  import { By } from '@angular/platform-browser';
2
2
  import { SkyAppTestUtility } from '@skyux-sdk/testing';
3
+
3
4
  /**
4
5
  * Allows interaction with a SKY UX datepicker component.
5
6
  */
6
- export class SkyDatepickerFixture {
7
+ class SkyDatepickerFixture {
7
8
  constructor(fixture, skyTestId) {
8
9
  this.debugEl = SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-datepicker');
9
10
  }
@@ -26,7 +27,6 @@ export class SkyDatepickerFixture {
26
27
  const button = this.debugEl.query(By.css('.sky-datepicker .sky-input-group-datepicker-btn')).nativeElement;
27
28
  const calendarId = button.getAttribute('aria-controls');
28
29
  if (!calendarId) {
29
- /* tslint:disable-next-line:no-null-keyword */
30
30
  return null;
31
31
  }
32
32
  return document.getElementById(calendarId);
@@ -51,4 +51,58 @@ export class SkyDatepickerFixture {
51
51
  return this.debugEl.query(By.css('.sky-datepicker input'));
52
52
  }
53
53
  }
54
- //# sourceMappingURL=datepicker-fixture.js.map
54
+
55
+ /**
56
+ * Allows interaction with a SKY UX timepicker component.
57
+ */
58
+ class SkyTimepickerFixture {
59
+ constructor(fixture, skyTestId) {
60
+ this.fixture = fixture;
61
+ this.skyTestId = skyTestId;
62
+ this.debugEl = SkyAppTestUtility.getDebugElementByTestId(this.fixture, this.skyTestId, 'sky-timepicker');
63
+ }
64
+ /**
65
+ * The timepicker's currently selected time.
66
+ */
67
+ get value() {
68
+ return this.getTimepickerInputEl().nativeElement.value;
69
+ }
70
+ /**
71
+ * Set the timepicker's selected time.
72
+ */
73
+ set value(value) {
74
+ const timepickerInputEl = this.getTimepickerInputEl().nativeElement;
75
+ timepickerInputEl.value = value;
76
+ this.fixture.detectChanges();
77
+ SkyAppTestUtility.fireDomEvent(timepickerInputEl, 'change');
78
+ this.fixture.detectChanges();
79
+ }
80
+ /**
81
+ * Flag indicating if timepicker input is disabled.
82
+ */
83
+ get isDisabled() {
84
+ return this.getTimepickerInputEl().nativeElement.disabled;
85
+ }
86
+ /**
87
+ * Set the timepicker's disabled value
88
+ */
89
+ set isDisabled(value) {
90
+ this.getTimepickerInputEl().nativeElement.disabled = value;
91
+ }
92
+ /**
93
+ * Flag indicating if timepicker input is valid.
94
+ */
95
+ get isValid() {
96
+ return !this.getTimepickerInputEl().nativeElement.classList.contains('ng-invalid');
97
+ }
98
+ getTimepickerInputEl() {
99
+ return this.debugEl.query(By.css('.sky-timepicker input'));
100
+ }
101
+ }
102
+
103
+ /**
104
+ * Generated bundle index. Do not edit.
105
+ */
106
+
107
+ export { SkyDatepickerFixture, SkyTimepickerFixture };
108
+ //# sourceMappingURL=skyux-datetime-testing.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skyux-datetime-testing.mjs","sources":["../../../../../libs/components/datetime/testing/src/datepicker-fixture.ts","../../../../../libs/components/datetime/testing/src/timepicker-fixture.ts","../../../../../libs/components/datetime/testing/src/skyux-datetime-testing.ts"],"sourcesContent":["import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX datepicker component.\n */\nexport class SkyDatepickerFixture {\n private debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-datepicker'\n );\n }\n\n /**\n * The datepicker's currently selected date.\n */\n public get date(): string {\n return this.getDatepickerInputEl().nativeElement.value;\n }\n\n /**\n * Flag indicating if datepicker input is disabled.\n */\n public get disabled(): boolean {\n return this.getDatepickerInputEl().nativeElement.disabled;\n }\n\n /**\n * The datepicker's calendar element.\n */\n public get calendarEl(): any {\n const button = this.debugEl.query(\n By.css('.sky-datepicker .sky-input-group-datepicker-btn')\n ).nativeElement;\n\n const calendarId = button.getAttribute('aria-controls');\n if (!calendarId) {\n return null;\n }\n\n return document.getElementById(calendarId);\n }\n\n /**\n * Click the calendar button to open or close calendar.\n */\n public clickDatepickerCalenderButtonEl(): void {\n this.debugEl\n .query(By.css('.sky-datepicker .sky-input-group-datepicker-btn'))\n .nativeElement.click();\n }\n\n public clickDayEl(dayIndex: number): void {\n const dayEls = this.calendarEl.querySelectorAll('.sky-datepicker-btn-date');\n\n const dayEl = dayEls[dayIndex];\n\n if (!dayEl) {\n throw new Error(`No day exists at index ${dayIndex}.`);\n }\n\n dayEl.click();\n }\n\n private getDatepickerInputEl(): DebugElement {\n return this.debugEl.query(By.css('.sky-datepicker input'));\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX timepicker component.\n */\nexport class SkyTimepickerFixture {\n private debugEl: DebugElement;\n\n constructor(\n private fixture: ComponentFixture<any>,\n private skyTestId: string\n ) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n this.fixture,\n this.skyTestId,\n 'sky-timepicker'\n );\n }\n\n /**\n * The timepicker's currently selected time.\n */\n public get value(): string {\n return this.getTimepickerInputEl().nativeElement.value;\n }\n\n /**\n * Set the timepicker's selected time.\n */\n public set value(value: string) {\n const timepickerInputEl = this.getTimepickerInputEl().nativeElement;\n timepickerInputEl.value = value;\n this.fixture.detectChanges();\n\n SkyAppTestUtility.fireDomEvent(timepickerInputEl, 'change');\n this.fixture.detectChanges();\n }\n\n /**\n * Flag indicating if timepicker input is disabled.\n */\n public get isDisabled(): boolean {\n return this.getTimepickerInputEl().nativeElement.disabled;\n }\n\n /**\n * Set the timepicker's disabled value\n */\n public set isDisabled(value: boolean) {\n this.getTimepickerInputEl().nativeElement.disabled = value;\n }\n\n /**\n * Flag indicating if timepicker input is valid.\n */\n public get isValid(): boolean {\n return !this.getTimepickerInputEl().nativeElement.classList.contains(\n 'ng-invalid'\n );\n }\n\n private getTimepickerInputEl(): DebugElement {\n return this.debugEl.query(By.css('.sky-timepicker input'));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAKA;;AAEG;MACU,oBAAoB,CAAA;IAG/B,WAAY,CAAA,OAA8B,EAAE,SAAiB,EAAA;AAC3D,QAAA,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,uBAAuB,CACtD,OAAO,EACP,SAAS,EACT,gBAAgB,CACjB,CAAC;KACH;AAED;;AAEG;AACH,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;KACxD;AAED;;AAEG;AACH,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC;KAC3D;AAED;;AAEG;AACH,IAAA,IAAW,UAAU,GAAA;AACnB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAC/B,EAAE,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAC1D,CAAC,aAAa,CAAC;QAEhB,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AAED,QAAA,OAAO,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;KAC5C;AAED;;AAEG;IACI,+BAA+B,GAAA;AACpC,QAAA,IAAI,CAAC,OAAO;AACT,aAAA,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;aAChE,aAAa,CAAC,KAAK,EAAE,CAAC;KAC1B;AAEM,IAAA,UAAU,CAAC,QAAgB,EAAA;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;AAE5E,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE/B,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,CAAA,CAAA,CAAG,CAAC,CAAC;AACxD,SAAA;QAED,KAAK,CAAC,KAAK,EAAE,CAAC;KACf;IAEO,oBAAoB,GAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;KAC5D;AACF;;ACpED;;AAEG;MACU,oBAAoB,CAAA;IAG/B,WACU,CAAA,OAA8B,EAC9B,SAAiB,EAAA;QADjB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAuB;QAC9B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAQ;AAEzB,QAAA,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,uBAAuB,CACtD,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,EACd,gBAAgB,CACjB,CAAC;KACH;AAED;;AAEG;AACH,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;KACxD;AAED;;AAEG;IACH,IAAW,KAAK,CAAC,KAAa,EAAA;QAC5B,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC,aAAa,CAAC;AACpE,QAAA,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC;AAChC,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;AAE7B,QAAA,iBAAiB,CAAC,YAAY,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAC5D,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;KAC9B;AAED;;AAEG;AACH,IAAA,IAAW,UAAU,GAAA;QACnB,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC;KAC3D;AAED;;AAEG;IACH,IAAW,UAAU,CAAC,KAAc,EAAA;QAClC,IAAI,CAAC,oBAAoB,EAAE,CAAC,aAAa,CAAC,QAAQ,GAAG,KAAK,CAAC;KAC5D;AAED;;AAEG;AACH,IAAA,IAAW,OAAO,GAAA;AAChB,QAAA,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAClE,YAAY,CACb,CAAC;KACH;IAEO,oBAAoB,GAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;KAC5D;AACF;;ACnED;;AAEG;;;;"}