novo-elements 10.18.0 → 11.0.0-next.1

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 (761) hide show
  1. package/elements/chips/Chip.d.ts +2 -0
  2. package/elements/chips/ChipList.d.ts +5 -1
  3. package/elements/common/option/optgroup.component.d.ts +1 -1
  4. package/elements/common/option/option.component.d.ts +1 -1
  5. package/elements/common/typography/base/base-text.component.d.ts +1 -1
  6. package/elements/field/field-control.d.ts +1 -1
  7. package/elements/form/ControlGroup.d.ts +1 -1
  8. package/elements/form/FieldInteractionApi.d.ts +1 -1
  9. package/elements/picker/extras/base-picker-results/BasePickerResults.d.ts +1 -1
  10. package/elements/places/places.module.d.ts +3 -4
  11. package/elements/query-builder/condition-definitions/abstract-condition.definition.d.ts +1 -1
  12. package/elements/query-builder/query-builder.directives.d.ts +1 -1
  13. package/elements/radio/Radio.d.ts +2 -2
  14. package/elements/tabbed-group-picker/TabbedGroupPicker.d.ts +1 -1
  15. package/fesm2022/novo-elements-addons-ace-editor.mjs +9 -9
  16. package/fesm2022/novo-elements-addons-ace-editor.mjs.map +1 -1
  17. package/fesm2022/novo-elements-addons-ckeditor.mjs +9 -9
  18. package/fesm2022/novo-elements-addons-ckeditor.mjs.map +1 -1
  19. package/fesm2022/novo-elements-addons-code-editor.mjs +9 -9
  20. package/fesm2022/novo-elements-addons-code-editor.mjs.map +1 -1
  21. package/fesm2022/novo-elements-elements-agenda.mjs +102 -73
  22. package/fesm2022/novo-elements-elements-agenda.mjs.map +1 -1
  23. package/fesm2022/novo-elements-elements-aside.mjs +13 -13
  24. package/fesm2022/novo-elements-elements-aside.mjs.map +1 -1
  25. package/fesm2022/novo-elements-elements-autocomplete.mjs +10 -10
  26. package/fesm2022/novo-elements-elements-autocomplete.mjs.map +1 -1
  27. package/fesm2022/novo-elements-elements-avatar.mjs +13 -13
  28. package/fesm2022/novo-elements-elements-avatar.mjs.map +1 -1
  29. package/fesm2022/novo-elements-elements-breadcrumbs.mjs +16 -16
  30. package/fesm2022/novo-elements-elements-breadcrumbs.mjs.map +1 -1
  31. package/fesm2022/novo-elements-elements-button.mjs +10 -10
  32. package/fesm2022/novo-elements-elements-button.mjs.map +1 -1
  33. package/fesm2022/novo-elements-elements-calendar.mjs +30 -30
  34. package/fesm2022/novo-elements-elements-calendar.mjs.map +1 -1
  35. package/fesm2022/novo-elements-elements-card.mjs +26 -25
  36. package/fesm2022/novo-elements-elements-card.mjs.map +1 -1
  37. package/fesm2022/novo-elements-elements-category-dropdown.mjs +10 -10
  38. package/fesm2022/novo-elements-elements-category-dropdown.mjs.map +1 -1
  39. package/fesm2022/novo-elements-elements-checkbox.mjs +13 -13
  40. package/fesm2022/novo-elements-elements-checkbox.mjs.map +1 -1
  41. package/fesm2022/novo-elements-elements-chips.mjs +72 -47
  42. package/fesm2022/novo-elements-elements-chips.mjs.map +1 -1
  43. package/fesm2022/novo-elements-elements-color-picker.mjs +17 -16
  44. package/fesm2022/novo-elements-elements-color-picker.mjs.map +1 -1
  45. package/fesm2022/novo-elements-elements-common.mjs +123 -110
  46. package/fesm2022/novo-elements-elements-common.mjs.map +1 -1
  47. package/fesm2022/novo-elements-elements-data-table.mjs +102 -82
  48. package/fesm2022/novo-elements-elements-data-table.mjs.map +1 -1
  49. package/fesm2022/novo-elements-elements-date-picker.mjs +25 -25
  50. package/fesm2022/novo-elements-elements-date-picker.mjs.map +1 -1
  51. package/fesm2022/novo-elements-elements-date-time-picker.mjs +14 -14
  52. package/fesm2022/novo-elements-elements-date-time-picker.mjs.map +1 -1
  53. package/fesm2022/novo-elements-elements-divider.mjs +9 -9
  54. package/fesm2022/novo-elements-elements-divider.mjs.map +1 -1
  55. package/fesm2022/novo-elements-elements-drag-drop.mjs +10 -9
  56. package/fesm2022/novo-elements-elements-drag-drop.mjs.map +1 -1
  57. package/fesm2022/novo-elements-elements-dropdown.mjs +26 -22
  58. package/fesm2022/novo-elements-elements-dropdown.mjs.map +1 -1
  59. package/fesm2022/novo-elements-elements-expansion.mjs +34 -29
  60. package/fesm2022/novo-elements-elements-expansion.mjs.map +1 -1
  61. package/fesm2022/novo-elements-elements-field.mjs +66 -54
  62. package/fesm2022/novo-elements-elements-field.mjs.map +1 -1
  63. package/fesm2022/novo-elements-elements-flex.mjs +21 -17
  64. package/fesm2022/novo-elements-elements-flex.mjs.map +1 -1
  65. package/fesm2022/novo-elements-elements-form.mjs +71 -64
  66. package/fesm2022/novo-elements-elements-form.mjs.map +1 -1
  67. package/fesm2022/novo-elements-elements-header.mjs +21 -19
  68. package/fesm2022/novo-elements-elements-header.mjs.map +1 -1
  69. package/fesm2022/novo-elements-elements-icon.mjs +10 -10
  70. package/fesm2022/novo-elements-elements-icon.mjs.map +1 -1
  71. package/fesm2022/novo-elements-elements-layout.mjs +22 -20
  72. package/fesm2022/novo-elements-elements-layout.mjs.map +1 -1
  73. package/fesm2022/novo-elements-elements-list.mjs +39 -39
  74. package/fesm2022/novo-elements-elements-list.mjs.map +1 -1
  75. package/fesm2022/novo-elements-elements-loading.mjs +25 -22
  76. package/fesm2022/novo-elements-elements-loading.mjs.map +1 -1
  77. package/fesm2022/novo-elements-elements-menu.mjs +26 -24
  78. package/fesm2022/novo-elements-elements-menu.mjs.map +1 -1
  79. package/fesm2022/novo-elements-elements-modal.mjs +21 -21
  80. package/fesm2022/novo-elements-elements-modal.mjs.map +1 -1
  81. package/fesm2022/novo-elements-elements-multi-picker.mjs +10 -10
  82. package/fesm2022/novo-elements-elements-multi-picker.mjs.map +1 -1
  83. package/fesm2022/novo-elements-elements-non-ideal-state.mjs +9 -9
  84. package/fesm2022/novo-elements-elements-non-ideal-state.mjs.map +1 -1
  85. package/fesm2022/novo-elements-elements-picker.mjs +49 -46
  86. package/fesm2022/novo-elements-elements-picker.mjs.map +1 -1
  87. package/fesm2022/novo-elements-elements-places.mjs +15 -19
  88. package/fesm2022/novo-elements-elements-places.mjs.map +1 -1
  89. package/fesm2022/novo-elements-elements-popover.mjs +14 -13
  90. package/fesm2022/novo-elements-elements-popover.mjs.map +1 -1
  91. package/fesm2022/novo-elements-elements-progress.mjs +14 -14
  92. package/fesm2022/novo-elements-elements-progress.mjs.map +1 -1
  93. package/fesm2022/novo-elements-elements-query-builder.mjs +98 -77
  94. package/fesm2022/novo-elements-elements-query-builder.mjs.map +1 -1
  95. package/fesm2022/novo-elements-elements-quick-note.mjs +13 -13
  96. package/fesm2022/novo-elements-elements-quick-note.mjs.map +1 -1
  97. package/fesm2022/novo-elements-elements-radio.mjs +14 -14
  98. package/fesm2022/novo-elements-elements-radio.mjs.map +1 -1
  99. package/fesm2022/novo-elements-elements-search.mjs +10 -10
  100. package/fesm2022/novo-elements-elements-search.mjs.map +1 -1
  101. package/fesm2022/novo-elements-elements-select-search.mjs +13 -12
  102. package/fesm2022/novo-elements-elements-select-search.mjs.map +1 -1
  103. package/fesm2022/novo-elements-elements-select.mjs +16 -15
  104. package/fesm2022/novo-elements-elements-select.mjs.map +1 -1
  105. package/fesm2022/novo-elements-elements-simple-table.mjs +115 -92
  106. package/fesm2022/novo-elements-elements-simple-table.mjs.map +1 -1
  107. package/fesm2022/novo-elements-elements-slider.mjs +9 -9
  108. package/fesm2022/novo-elements-elements-slider.mjs.map +1 -1
  109. package/fesm2022/novo-elements-elements-stepper.mjs +42 -38
  110. package/fesm2022/novo-elements-elements-stepper.mjs.map +1 -1
  111. package/fesm2022/novo-elements-elements-switch.mjs +10 -10
  112. package/fesm2022/novo-elements-elements-switch.mjs.map +1 -1
  113. package/fesm2022/novo-elements-elements-tabbed-group-picker.mjs +9 -9
  114. package/fesm2022/novo-elements-elements-tabbed-group-picker.mjs.map +1 -1
  115. package/fesm2022/novo-elements-elements-tabs.mjs +35 -35
  116. package/fesm2022/novo-elements-elements-tabs.mjs.map +1 -1
  117. package/fesm2022/novo-elements-elements-tiles.mjs +9 -9
  118. package/fesm2022/novo-elements-elements-tiles.mjs.map +1 -1
  119. package/fesm2022/novo-elements-elements-time-picker.mjs +13 -13
  120. package/fesm2022/novo-elements-elements-time-picker.mjs.map +1 -1
  121. package/fesm2022/novo-elements-elements-tip-well.mjs +10 -10
  122. package/fesm2022/novo-elements-elements-tip-well.mjs.map +1 -1
  123. package/fesm2022/novo-elements-elements-toast.mjs +13 -13
  124. package/fesm2022/novo-elements-elements-toast.mjs.map +1 -1
  125. package/fesm2022/novo-elements-elements-toolbar.mjs +13 -12
  126. package/fesm2022/novo-elements-elements-toolbar.mjs.map +1 -1
  127. package/fesm2022/novo-elements-elements-tooltip.mjs +14 -13
  128. package/fesm2022/novo-elements-elements-tooltip.mjs.map +1 -1
  129. package/fesm2022/novo-elements-elements-unless.mjs +9 -8
  130. package/fesm2022/novo-elements-elements-unless.mjs.map +1 -1
  131. package/fesm2022/novo-elements-elements-value.mjs +18 -16
  132. package/fesm2022/novo-elements-elements-value.mjs.map +1 -1
  133. package/fesm2022/novo-elements-pipes.mjs +68 -43
  134. package/fesm2022/novo-elements-pipes.mjs.map +1 -1
  135. package/fesm2022/novo-elements-services.mjs +25 -25
  136. package/fesm2022/novo-elements-services.mjs.map +1 -1
  137. package/fesm2022/novo-elements-utils.mjs +3 -3
  138. package/fesm2022/novo-elements-utils.mjs.map +1 -1
  139. package/fesm2022/novo-elements.mjs +9 -9
  140. package/fesm2022/novo-elements.mjs.map +1 -1
  141. package/package.json +5 -135
  142. package/utils/Helpers.d.ts +2 -2
  143. package/esm2022/addons/ace-editor/AceEditor.mjs +0 -132
  144. package/esm2022/addons/ace-editor/AceEditor.module.mjs +0 -20
  145. package/esm2022/addons/ace-editor/index.mjs +0 -3
  146. package/esm2022/addons/ace-editor/novo-elements-addons-ace-editor.mjs +0 -5
  147. package/esm2022/addons/ckeditor/CKEditor.mjs +0 -256
  148. package/esm2022/addons/ckeditor/CKEditor.module.mjs +0 -21
  149. package/esm2022/addons/ckeditor/index.mjs +0 -3
  150. package/esm2022/addons/ckeditor/novo-elements-addons-ckeditor.mjs +0 -5
  151. package/esm2022/addons/code-editor/CodeEditor.mjs +0 -129
  152. package/esm2022/addons/code-editor/CodeEditor.module.mjs +0 -19
  153. package/esm2022/addons/code-editor/index.mjs +0 -3
  154. package/esm2022/addons/code-editor/novo-elements-addons-code-editor.mjs +0 -5
  155. package/esm2022/addons/index.mjs +0 -4
  156. package/esm2022/addons/novo-elements-addons.mjs +0 -5
  157. package/esm2022/elements/agenda/Agenda.module.mjs +0 -122
  158. package/esm2022/elements/agenda/common/AgendaDateChange.mjs +0 -88
  159. package/esm2022/elements/agenda/common/EventTypeLegend.mjs +0 -61
  160. package/esm2022/elements/agenda/common/index.mjs +0 -3
  161. package/esm2022/elements/agenda/day/AgendaAllDayEvent.mjs +0 -64
  162. package/esm2022/elements/agenda/day/AgendaDayEvent.mjs +0 -75
  163. package/esm2022/elements/agenda/day/AgendaDayView.mjs +0 -368
  164. package/esm2022/elements/agenda/day/AgendaHourSegment.mjs +0 -64
  165. package/esm2022/elements/agenda/day/index.mjs +0 -5
  166. package/esm2022/elements/agenda/index.mjs +0 -7
  167. package/esm2022/elements/agenda/month/AgendaMonthDay.mjs +0 -130
  168. package/esm2022/elements/agenda/month/AgendaMonthHeader.mjs +0 -95
  169. package/esm2022/elements/agenda/month/AgendaMonthView.mjs +0 -214
  170. package/esm2022/elements/agenda/month/index.mjs +0 -4
  171. package/esm2022/elements/agenda/novo-elements-elements-agenda.mjs +0 -5
  172. package/esm2022/elements/agenda/pipe/DayOfMonth.pipe.mjs +0 -20
  173. package/esm2022/elements/agenda/pipe/EndOfWeekDisplayPipe.pipe.mjs +0 -23
  174. package/esm2022/elements/agenda/pipe/Hours.pipe.mjs +0 -20
  175. package/esm2022/elements/agenda/pipe/Month.pipe.mjs +0 -20
  176. package/esm2022/elements/agenda/pipe/MonthDay.pipe.mjs +0 -20
  177. package/esm2022/elements/agenda/pipe/Weekday.pipe.mjs +0 -20
  178. package/esm2022/elements/agenda/pipe/Year.pipe.mjs +0 -20
  179. package/esm2022/elements/agenda/pipe/index.mjs +0 -8
  180. package/esm2022/elements/agenda/week/AgendaWeekEvent.mjs +0 -69
  181. package/esm2022/elements/agenda/week/AgendaWeekHeader.mjs +0 -87
  182. package/esm2022/elements/agenda/week/AgendaWeekView.mjs +0 -367
  183. package/esm2022/elements/agenda/week/index.mjs +0 -4
  184. package/esm2022/elements/aside/aside-ref.mjs +0 -47
  185. package/esm2022/elements/aside/aside.animation.mjs +0 -8
  186. package/esm2022/elements/aside/aside.component.mjs +0 -34
  187. package/esm2022/elements/aside/aside.module.mjs +0 -20
  188. package/esm2022/elements/aside/aside.service.mjs +0 -62
  189. package/esm2022/elements/aside/index.mjs +0 -6
  190. package/esm2022/elements/aside/novo-elements-elements-aside.mjs +0 -5
  191. package/esm2022/elements/autocomplete/autocomplete.component.mjs +0 -337
  192. package/esm2022/elements/autocomplete/autocomplete.module.mjs +0 -22
  193. package/esm2022/elements/autocomplete/index.mjs +0 -3
  194. package/esm2022/elements/autocomplete/novo-elements-elements-autocomplete.mjs +0 -5
  195. package/esm2022/elements/avatar/Avatar.mjs +0 -203
  196. package/esm2022/elements/avatar/Avatar.module.mjs +0 -21
  197. package/esm2022/elements/avatar/AvatarStack.mjs +0 -38
  198. package/esm2022/elements/avatar/index.mjs +0 -4
  199. package/esm2022/elements/avatar/novo-elements-elements-avatar.mjs +0 -5
  200. package/esm2022/elements/breadcrumbs/Breadcrumb.mjs +0 -27
  201. package/esm2022/elements/breadcrumbs/Breadcrumb.module.mjs +0 -27
  202. package/esm2022/elements/breadcrumbs/Breadcrumb.service.mjs +0 -25
  203. package/esm2022/elements/breadcrumbs/Breadcrumb.tokens.mjs +0 -6
  204. package/esm2022/elements/breadcrumbs/Breadcrumb.types.mjs +0 -2
  205. package/esm2022/elements/breadcrumbs/breadcrumb-item/BreadcrumbItem.mjs +0 -54
  206. package/esm2022/elements/breadcrumbs/breadcrumb-item/index.mjs +0 -2
  207. package/esm2022/elements/breadcrumbs/index.mjs +0 -7
  208. package/esm2022/elements/breadcrumbs/novo-elements-elements-breadcrumbs.mjs +0 -5
  209. package/esm2022/elements/button/Button.mjs +0 -191
  210. package/esm2022/elements/button/Button.module.mjs +0 -20
  211. package/esm2022/elements/button/index.mjs +0 -3
  212. package/esm2022/elements/button/novo-elements-elements-button.mjs +0 -5
  213. package/esm2022/elements/calendar/Calendar.module.mjs +0 -27
  214. package/esm2022/elements/calendar/calendar.component.mjs +0 -235
  215. package/esm2022/elements/calendar/index.mjs +0 -7
  216. package/esm2022/elements/calendar/month-select/month-select.component.mjs +0 -42
  217. package/esm2022/elements/calendar/month-view/month-view.component.mjs +0 -202
  218. package/esm2022/elements/calendar/novo-elements-elements-calendar.mjs +0 -5
  219. package/esm2022/elements/calendar/strategies/default-selection.strategy.mjs +0 -33
  220. package/esm2022/elements/calendar/strategies/index.mjs +0 -5
  221. package/esm2022/elements/calendar/strategies/multi-date-selection.strategy.mjs +0 -27
  222. package/esm2022/elements/calendar/strategies/range-selection.strategy.mjs +0 -39
  223. package/esm2022/elements/calendar/strategies/week-selection.strategy.mjs +0 -26
  224. package/esm2022/elements/calendar/year-select/year-select.component.mjs +0 -55
  225. package/esm2022/elements/card/Card.mjs +0 -302
  226. package/esm2022/elements/card/Card.module.mjs +0 -24
  227. package/esm2022/elements/card/index.mjs +0 -3
  228. package/esm2022/elements/card/novo-elements-elements-card.mjs +0 -5
  229. package/esm2022/elements/category-dropdown/CategoryDropdown.mjs +0 -216
  230. package/esm2022/elements/category-dropdown/CategoryDropdown.module.mjs +0 -22
  231. package/esm2022/elements/category-dropdown/index.mjs +0 -3
  232. package/esm2022/elements/category-dropdown/novo-elements-elements-category-dropdown.mjs +0 -5
  233. package/esm2022/elements/checkbox/CheckList.mjs +0 -133
  234. package/esm2022/elements/checkbox/Checkbox.mjs +0 -314
  235. package/esm2022/elements/checkbox/Checkbox.module.mjs +0 -21
  236. package/esm2022/elements/checkbox/index.mjs +0 -4
  237. package/esm2022/elements/checkbox/novo-elements-elements-checkbox.mjs +0 -5
  238. package/esm2022/elements/chips/Chip.mjs +0 -351
  239. package/esm2022/elements/chips/ChipDefaults.mjs +0 -4
  240. package/esm2022/elements/chips/ChipInput.mjs +0 -182
  241. package/esm2022/elements/chips/ChipList.mjs +0 -728
  242. package/esm2022/elements/chips/ChipTextControl.mjs +0 -2
  243. package/esm2022/elements/chips/Chips.mjs +0 -429
  244. package/esm2022/elements/chips/Chips.module.mjs +0 -84
  245. package/esm2022/elements/chips/RowChips.mjs +0 -185
  246. package/esm2022/elements/chips/index.mjs +0 -10
  247. package/esm2022/elements/chips/novo-elements-elements-chips.mjs +0 -5
  248. package/esm2022/elements/chips/pipe/AvatarType.pipe.mjs +0 -14
  249. package/esm2022/elements/chips/pipe/index.mjs +0 -2
  250. package/esm2022/elements/color-picker/color-input.component.mjs +0 -211
  251. package/esm2022/elements/color-picker/color-picker.component.mjs +0 -139
  252. package/esm2022/elements/color-picker/color-picker.module.mjs +0 -27
  253. package/esm2022/elements/color-picker/color-swatch.component.mjs +0 -91
  254. package/esm2022/elements/color-picker/index.mjs +0 -5
  255. package/esm2022/elements/color-picker/novo-elements-elements-color-picker.mjs +0 -5
  256. package/esm2022/elements/common/common.module.mjs +0 -106
  257. package/esm2022/elements/common/directives/accent.directive.mjs +0 -38
  258. package/esm2022/elements/common/directives/bg.directive.mjs +0 -34
  259. package/esm2022/elements/common/directives/border.directive.mjs +0 -91
  260. package/esm2022/elements/common/directives/color.directive.mjs +0 -34
  261. package/esm2022/elements/common/directives/fill.directive.mjs +0 -25
  262. package/esm2022/elements/common/directives/flex.directive.mjs +0 -35
  263. package/esm2022/elements/common/directives/space.directive.mjs +0 -210
  264. package/esm2022/elements/common/directives/switch-cases.directive.mjs +0 -43
  265. package/esm2022/elements/common/directives/theme.directive.mjs +0 -25
  266. package/esm2022/elements/common/directives/visible.directive.mjs +0 -42
  267. package/esm2022/elements/common/error/error-options.mjs +0 -26
  268. package/esm2022/elements/common/index.mjs +0 -20
  269. package/esm2022/elements/common/mixins/color.mixin.mjs +0 -27
  270. package/esm2022/elements/common/mixins/constructor.mjs +0 -2
  271. package/esm2022/elements/common/mixins/disabled.mixin.mjs +0 -17
  272. package/esm2022/elements/common/mixins/error-state.mixin.mjs +0 -31
  273. package/esm2022/elements/common/mixins/index.mjs +0 -10
  274. package/esm2022/elements/common/mixins/overlay.mixin.mjs +0 -36
  275. package/esm2022/elements/common/mixins/required.mixin.mjs +0 -17
  276. package/esm2022/elements/common/mixins/size.mixin.mjs +0 -27
  277. package/esm2022/elements/common/mixins/tab-index.mixin.mjs +0 -25
  278. package/esm2022/elements/common/mixins/types.mjs +0 -2
  279. package/esm2022/elements/common/novo-elements-elements-common.mjs +0 -5
  280. package/esm2022/elements/common/novo-template/index.mjs +0 -2
  281. package/esm2022/elements/common/novo-template/novo-template.directive.mjs +0 -24
  282. package/esm2022/elements/common/option/index.mjs +0 -23
  283. package/esm2022/elements/common/option/optgroup.component.mjs +0 -72
  284. package/esm2022/elements/common/option/option-parent.mjs +0 -6
  285. package/esm2022/elements/common/option/option.component.mjs +0 -361
  286. package/esm2022/elements/common/overlay/Overlay.mjs +0 -330
  287. package/esm2022/elements/common/overlay/Overlay.module.mjs +0 -23
  288. package/esm2022/elements/common/overlay/index.mjs +0 -3
  289. package/esm2022/elements/common/selection/index.mjs +0 -19
  290. package/esm2022/elements/common/selection/pseudo-checkbox/pseudo-checkbox.component.mjs +0 -71
  291. package/esm2022/elements/common/theme/theme-options.mjs +0 -41
  292. package/esm2022/elements/common/typography/base/base-text.component.mjs +0 -209
  293. package/esm2022/elements/common/typography/caption/caption.component.mjs +0 -25
  294. package/esm2022/elements/common/typography/index.mjs +0 -8
  295. package/esm2022/elements/common/typography/label/label.component.mjs +0 -36
  296. package/esm2022/elements/common/typography/link/link.component.mjs +0 -27
  297. package/esm2022/elements/common/typography/text/text.component.mjs +0 -44
  298. package/esm2022/elements/common/typography/text.types.mjs +0 -2
  299. package/esm2022/elements/common/typography/title/title.component.mjs +0 -29
  300. package/esm2022/elements/data-table/ListInteractionTypes.mjs +0 -2
  301. package/esm2022/elements/data-table/cell-headers/data-table-checkbox-header-cell.component.mjs +0 -133
  302. package/esm2022/elements/data-table/cell-headers/data-table-expand-header-cell.component.mjs +0 -46
  303. package/esm2022/elements/data-table/cell-headers/data-table-header-cell-filter-header.component.mjs +0 -68
  304. package/esm2022/elements/data-table/cell-headers/data-table-header-cell.component.mjs +0 -737
  305. package/esm2022/elements/data-table/cell-headers/data-table-header-cell.directive.mjs +0 -36
  306. package/esm2022/elements/data-table/cell-headers/index.mjs +0 -6
  307. package/esm2022/elements/data-table/cells/data-table-cell.component.mjs +0 -65
  308. package/esm2022/elements/data-table/cells/data-table-checkbox-cell.component.mjs +0 -85
  309. package/esm2022/elements/data-table/cells/data-table-expand-cell.component.mjs +0 -52
  310. package/esm2022/elements/data-table/cells/index.mjs +0 -4
  311. package/esm2022/elements/data-table/data-table-clear-button.component.mjs +0 -144
  312. package/esm2022/elements/data-table/data-table-expand.directive.mjs +0 -63
  313. package/esm2022/elements/data-table/data-table.component.mjs +0 -1082
  314. package/esm2022/elements/data-table/data-table.module.mjs +0 -177
  315. package/esm2022/elements/data-table/data-table.pipes.mjs +0 -155
  316. package/esm2022/elements/data-table/data-table.source.mjs +0 -67
  317. package/esm2022/elements/data-table/data-table.token.mjs +0 -6
  318. package/esm2022/elements/data-table/index.mjs +0 -16
  319. package/esm2022/elements/data-table/interfaces.mjs +0 -30
  320. package/esm2022/elements/data-table/novo-elements-elements-data-table.mjs +0 -5
  321. package/esm2022/elements/data-table/pagination/data-table-pagination.component.mjs +0 -389
  322. package/esm2022/elements/data-table/pagination/index.mjs +0 -2
  323. package/esm2022/elements/data-table/rows/data-table-header-row.component.mjs +0 -34
  324. package/esm2022/elements/data-table/rows/data-table-row.component.mjs +0 -38
  325. package/esm2022/elements/data-table/rows/index.mjs +0 -3
  326. package/esm2022/elements/data-table/services/data-table-filter-utils.mjs +0 -36
  327. package/esm2022/elements/data-table/services/index.mjs +0 -4
  328. package/esm2022/elements/data-table/services/remote-data-table.service.mjs +0 -3
  329. package/esm2022/elements/data-table/services/static-data-table.service.mjs +0 -48
  330. package/esm2022/elements/data-table/sort-filter/index.mjs +0 -4
  331. package/esm2022/elements/data-table/sort-filter/sort-button.animations.mjs +0 -30
  332. package/esm2022/elements/data-table/sort-filter/sort-button.component.mjs +0 -47
  333. package/esm2022/elements/data-table/sort-filter/sort-direction.mjs +0 -7
  334. package/esm2022/elements/data-table/sort-filter/sort-filter.directive.mjs +0 -61
  335. package/esm2022/elements/data-table/state/data-table-state.service.mjs +0 -198
  336. package/esm2022/elements/data-table/state/index.mjs +0 -2
  337. package/esm2022/elements/date-picker/DatePicker.mjs +0 -470
  338. package/esm2022/elements/date-picker/DatePicker.module.mjs +0 -58
  339. package/esm2022/elements/date-picker/DatePickerInput.mjs +0 -488
  340. package/esm2022/elements/date-picker/DateRangeInput.mjs +0 -377
  341. package/esm2022/elements/date-picker/MultiDateInput.mjs +0 -241
  342. package/esm2022/elements/date-picker/index.mjs +0 -6
  343. package/esm2022/elements/date-picker/novo-elements-elements-date-picker.mjs +0 -5
  344. package/esm2022/elements/date-time-picker/DateTimePicker.mjs +0 -295
  345. package/esm2022/elements/date-time-picker/DateTimePicker.module.mjs +0 -27
  346. package/esm2022/elements/date-time-picker/DateTimePickerInput.mjs +0 -184
  347. package/esm2022/elements/date-time-picker/index.mjs +0 -4
  348. package/esm2022/elements/date-time-picker/novo-elements-elements-date-time-picker.mjs +0 -5
  349. package/esm2022/elements/divider/divider.component.mjs +0 -41
  350. package/esm2022/elements/divider/divider.module.mjs +0 -17
  351. package/esm2022/elements/divider/index.mjs +0 -3
  352. package/esm2022/elements/divider/novo-elements-elements-divider.mjs +0 -5
  353. package/esm2022/elements/drag-drop/drag-drop-box.mjs +0 -224
  354. package/esm2022/elements/drag-drop/drag-drop.module.mjs +0 -16
  355. package/esm2022/elements/drag-drop/index.mjs +0 -3
  356. package/esm2022/elements/drag-drop/novo-elements-elements-drag-drop.mjs +0 -5
  357. package/esm2022/elements/dropdown/Dropdown.mjs +0 -412
  358. package/esm2022/elements/dropdown/Dropdown.module.mjs +0 -20
  359. package/esm2022/elements/dropdown/index.mjs +0 -3
  360. package/esm2022/elements/dropdown/novo-elements-elements-dropdown.mjs +0 -5
  361. package/esm2022/elements/expansion/accordion.mjs +0 -46
  362. package/esm2022/elements/expansion/expansion-animations.mjs +0 -33
  363. package/esm2022/elements/expansion/expansion-panel-content.mjs +0 -20
  364. package/esm2022/elements/expansion/expansion-panel-header.mjs +0 -135
  365. package/esm2022/elements/expansion/expansion-panel.mjs +0 -143
  366. package/esm2022/elements/expansion/expansion.module.mjs +0 -51
  367. package/esm2022/elements/expansion/index.mjs +0 -7
  368. package/esm2022/elements/expansion/novo-elements-elements-expansion.mjs +0 -5
  369. package/esm2022/elements/field/error/error.mjs +0 -18
  370. package/esm2022/elements/field/error/index.mjs +0 -2
  371. package/esm2022/elements/field/field-control.mjs +0 -11
  372. package/esm2022/elements/field/field.mjs +0 -193
  373. package/esm2022/elements/field/field.module.mjs +0 -84
  374. package/esm2022/elements/field/fieldset.mjs +0 -88
  375. package/esm2022/elements/field/formats/base-format.mjs +0 -10
  376. package/esm2022/elements/field/formats/date-format.mjs +0 -135
  377. package/esm2022/elements/field/formats/date-range-format.mjs +0 -143
  378. package/esm2022/elements/field/formats/date-time-format.mjs +0 -259
  379. package/esm2022/elements/field/formats/time-format.mjs +0 -224
  380. package/esm2022/elements/field/hint/hint.mjs +0 -30
  381. package/esm2022/elements/field/hint/index.mjs +0 -2
  382. package/esm2022/elements/field/index.mjs +0 -15
  383. package/esm2022/elements/field/input.mjs +0 -376
  384. package/esm2022/elements/field/novo-elements-elements-field.mjs +0 -5
  385. package/esm2022/elements/field/picker.directive.mjs +0 -61
  386. package/esm2022/elements/field/toggle/picker-toggle.component.mjs +0 -145
  387. package/esm2022/elements/flex/Box.mjs +0 -52
  388. package/esm2022/elements/flex/Flex.mjs +0 -78
  389. package/esm2022/elements/flex/Flex.module.mjs +0 -20
  390. package/esm2022/elements/flex/Grid.mjs +0 -57
  391. package/esm2022/elements/flex/index.mjs +0 -5
  392. package/esm2022/elements/flex/novo-elements-elements-flex.mjs +0 -5
  393. package/esm2022/elements/form/Control.mjs +0 -943
  394. package/esm2022/elements/form/ControlGroup.mjs +0 -342
  395. package/esm2022/elements/form/ControlTemplates.mjs +0 -1455
  396. package/esm2022/elements/form/DynamicForm.mjs +0 -313
  397. package/esm2022/elements/form/FieldInteractionApi.mjs +0 -723
  398. package/esm2022/elements/form/FieldInteractionApiTypes.mjs +0 -2
  399. package/esm2022/elements/form/FieldInteractionModals.mjs +0 -124
  400. package/esm2022/elements/form/Form.mjs +0 -109
  401. package/esm2022/elements/form/Form.module.mjs +0 -173
  402. package/esm2022/elements/form/FormControls.mjs +0 -25
  403. package/esm2022/elements/form/FormInterfaces.mjs +0 -2
  404. package/esm2022/elements/form/FormValidators.mjs +0 -115
  405. package/esm2022/elements/form/NovoFormControl.mjs +0 -154
  406. package/esm2022/elements/form/NovoFormGroup.mjs +0 -26
  407. package/esm2022/elements/form/controls/BaseControl.mjs +0 -114
  408. package/esm2022/elements/form/controls/ControlFactory.mjs +0 -47
  409. package/esm2022/elements/form/controls/ace-editor/AceEditorControl.mjs +0 -9
  410. package/esm2022/elements/form/controls/ace-editor/index.mjs +0 -2
  411. package/esm2022/elements/form/controls/address/AddressControl.mjs +0 -11
  412. package/esm2022/elements/form/controls/address/index.mjs +0 -2
  413. package/esm2022/elements/form/controls/check-list/CheckListControl.mjs +0 -10
  414. package/esm2022/elements/form/controls/check-list/index.mjs +0 -2
  415. package/esm2022/elements/form/controls/checkbox/CheckboxControl.mjs +0 -9
  416. package/esm2022/elements/form/controls/checkbox/index.mjs +0 -2
  417. package/esm2022/elements/form/controls/code-editor/CodeEditorControl.mjs +0 -9
  418. package/esm2022/elements/form/controls/code-editor/index.mjs +0 -2
  419. package/esm2022/elements/form/controls/custom/CustomControl.mjs +0 -10
  420. package/esm2022/elements/form/controls/custom/index.mjs +0 -2
  421. package/esm2022/elements/form/controls/date/DateControl.mjs +0 -9
  422. package/esm2022/elements/form/controls/date/index.mjs +0 -2
  423. package/esm2022/elements/form/controls/date-time/DateTimeControl.mjs +0 -9
  424. package/esm2022/elements/form/controls/date-time/index.mjs +0 -2
  425. package/esm2022/elements/form/controls/editor/EditorControl.mjs +0 -10
  426. package/esm2022/elements/form/controls/editor/index.mjs +0 -2
  427. package/esm2022/elements/form/controls/file/FileControl.mjs +0 -12
  428. package/esm2022/elements/form/controls/file/index.mjs +0 -2
  429. package/esm2022/elements/form/controls/grouped/GroupedControl.mjs +0 -7
  430. package/esm2022/elements/form/controls/grouped/index.mjs +0 -2
  431. package/esm2022/elements/form/controls/index.mjs +0 -25
  432. package/esm2022/elements/form/controls/native-select/NativeSelectControl.mjs +0 -11
  433. package/esm2022/elements/form/controls/native-select/index.mjs +0 -2
  434. package/esm2022/elements/form/controls/picker/PickerControl.mjs +0 -17
  435. package/esm2022/elements/form/controls/picker/index.mjs +0 -2
  436. package/esm2022/elements/form/controls/quick-note/QuickNoteControl.mjs +0 -11
  437. package/esm2022/elements/form/controls/quick-note/index.mjs +0 -2
  438. package/esm2022/elements/form/controls/radio/RadioControl.mjs +0 -11
  439. package/esm2022/elements/form/controls/radio/index.mjs +0 -2
  440. package/esm2022/elements/form/controls/read-only/ReadOnlyControl.mjs +0 -10
  441. package/esm2022/elements/form/controls/read-only/index.mjs +0 -2
  442. package/esm2022/elements/form/controls/select/SelectControl.mjs +0 -12
  443. package/esm2022/elements/form/controls/select/index.mjs +0 -2
  444. package/esm2022/elements/form/controls/switch/SwitchControl.mjs +0 -9
  445. package/esm2022/elements/form/controls/switch/index.mjs +0 -2
  446. package/esm2022/elements/form/controls/text-area/TextAreaControl.mjs +0 -9
  447. package/esm2022/elements/form/controls/text-area/index.mjs +0 -2
  448. package/esm2022/elements/form/controls/textbox/TextBoxControl.mjs +0 -44
  449. package/esm2022/elements/form/controls/textbox/index.mjs +0 -2
  450. package/esm2022/elements/form/controls/tiles/TilesControl.mjs +0 -11
  451. package/esm2022/elements/form/controls/tiles/index.mjs +0 -2
  452. package/esm2022/elements/form/controls/time/TimeControl.mjs +0 -9
  453. package/esm2022/elements/form/controls/time/index.mjs +0 -2
  454. package/esm2022/elements/form/controls/timezone/TimezoneControl.mjs +0 -59
  455. package/esm2022/elements/form/controls/timezone/index.mjs +0 -2
  456. package/esm2022/elements/form/extras/FormExtras.module.mjs +0 -70
  457. package/esm2022/elements/form/extras/address/Address.mjs +0 -686
  458. package/esm2022/elements/form/extras/address/index.mjs +0 -2
  459. package/esm2022/elements/form/extras/file/FileInput.mjs +0 -337
  460. package/esm2022/elements/form/extras/file/extras/file/File.mjs +0 -40
  461. package/esm2022/elements/form/extras/file/extras/file/index.mjs +0 -2
  462. package/esm2022/elements/form/extras/file/extras/index.mjs +0 -2
  463. package/esm2022/elements/form/extras/file/index.mjs +0 -3
  464. package/esm2022/elements/form/extras/index.mjs +0 -5
  465. package/esm2022/elements/form/extras/number-range/index.mjs +0 -2
  466. package/esm2022/elements/form/extras/number-range/number-range.component.mjs +0 -104
  467. package/esm2022/elements/form/index.mjs +0 -18
  468. package/esm2022/elements/form/novo-elements-elements-form.mjs +0 -5
  469. package/esm2022/elements/form/utils/FormUtils.mjs +0 -829
  470. package/esm2022/elements/form/utils/index.mjs +0 -2
  471. package/esm2022/elements/header/Header.mjs +0 -188
  472. package/esm2022/elements/header/Header.module.mjs +0 -21
  473. package/esm2022/elements/header/index.mjs +0 -3
  474. package/esm2022/elements/header/novo-elements-elements-header.mjs +0 -5
  475. package/esm2022/elements/icon/Icon.mjs +0 -115
  476. package/esm2022/elements/icon/Icon.module.mjs +0 -18
  477. package/esm2022/elements/icon/index.mjs +0 -3
  478. package/esm2022/elements/icon/novo-elements-elements-icon.mjs +0 -5
  479. package/esm2022/elements/index.mjs +0 -57
  480. package/esm2022/elements/layout/container/layout-container.component.mjs +0 -353
  481. package/esm2022/elements/layout/content/layout-content.component.mjs +0 -43
  482. package/esm2022/elements/layout/index.mjs +0 -7
  483. package/esm2022/elements/layout/layout.constants.mjs +0 -23
  484. package/esm2022/elements/layout/layout.module.mjs +0 -23
  485. package/esm2022/elements/layout/novo-elements-elements-layout.mjs +0 -5
  486. package/esm2022/elements/layout/rail/rail.component.mjs +0 -33
  487. package/esm2022/elements/layout/sidenav/sidenav.animations.mjs +0 -26
  488. package/esm2022/elements/layout/sidenav/sidenav.component.mjs +0 -394
  489. package/esm2022/elements/list/List.mjs +0 -144
  490. package/esm2022/elements/list/List.module.mjs +0 -54
  491. package/esm2022/elements/list/index.mjs +0 -3
  492. package/esm2022/elements/list/novo-elements-elements-list.mjs +0 -5
  493. package/esm2022/elements/loading/Loading.mjs +0 -191
  494. package/esm2022/elements/loading/Loading.module.mjs +0 -20
  495. package/esm2022/elements/loading/index.mjs +0 -3
  496. package/esm2022/elements/loading/novo-elements-elements-loading.mjs +0 -5
  497. package/esm2022/elements/menu/index.mjs +0 -12
  498. package/esm2022/elements/menu/menu-content.component.mjs +0 -201
  499. package/esm2022/elements/menu/menu-item.directive.mjs +0 -30
  500. package/esm2022/elements/menu/menu.component.mjs +0 -95
  501. package/esm2022/elements/menu/menu.directive.mjs +0 -129
  502. package/esm2022/elements/menu/menu.module.mjs +0 -39
  503. package/esm2022/elements/menu/menu.service.mjs +0 -191
  504. package/esm2022/elements/menu/menu.tokens.mjs +0 -4
  505. package/esm2022/elements/menu/menu.types.mjs +0 -2
  506. package/esm2022/elements/menu/novo-elements-elements-menu.mjs +0 -5
  507. package/esm2022/elements/modal/index.mjs +0 -7
  508. package/esm2022/elements/modal/modal-container.component.mjs +0 -39
  509. package/esm2022/elements/modal/modal-ref.mjs +0 -49
  510. package/esm2022/elements/modal/modal.animation.mjs +0 -6
  511. package/esm2022/elements/modal/modal.component.mjs +0 -92
  512. package/esm2022/elements/modal/modal.module.mjs +0 -26
  513. package/esm2022/elements/modal/modal.service.mjs +0 -72
  514. package/esm2022/elements/modal/novo-elements-elements-modal.mjs +0 -5
  515. package/esm2022/elements/multi-picker/MultiPicker.mjs +0 -633
  516. package/esm2022/elements/multi-picker/MultiPicker.module.mjs +0 -23
  517. package/esm2022/elements/multi-picker/index.mjs +0 -3
  518. package/esm2022/elements/multi-picker/novo-elements-elements-multi-picker.mjs +0 -5
  519. package/esm2022/elements/non-ideal-state/NonIdealState.mjs +0 -48
  520. package/esm2022/elements/non-ideal-state/NonIdealState.module.mjs +0 -22
  521. package/esm2022/elements/non-ideal-state/index.mjs +0 -3
  522. package/esm2022/elements/non-ideal-state/novo-elements-elements-non-ideal-state.mjs +0 -5
  523. package/esm2022/elements/novo-elements-elements.mjs +0 -5
  524. package/esm2022/elements/picker/Picker.mjs +0 -425
  525. package/esm2022/elements/picker/Picker.module.mjs +0 -74
  526. package/esm2022/elements/picker/extras/base-picker-results/BasePickerResults.mjs +0 -362
  527. package/esm2022/elements/picker/extras/base-picker-results/index.mjs +0 -2
  528. package/esm2022/elements/picker/extras/checklist-picker-results/ChecklistPickerResults.mjs +0 -155
  529. package/esm2022/elements/picker/extras/checklist-picker-results/index.mjs +0 -2
  530. package/esm2022/elements/picker/extras/distributionlist-picker-results/DistributionListPickerResults.mjs +0 -105
  531. package/esm2022/elements/picker/extras/distributionlist-picker-results/index.mjs +0 -2
  532. package/esm2022/elements/picker/extras/entity-picker-results/EntityPickerResults.mjs +0 -363
  533. package/esm2022/elements/picker/extras/entity-picker-results/index.mjs +0 -2
  534. package/esm2022/elements/picker/extras/grouped-multi-picker-results/GroupedMultiPickerResults.mjs +0 -379
  535. package/esm2022/elements/picker/extras/grouped-multi-picker-results/index.mjs +0 -2
  536. package/esm2022/elements/picker/extras/index.mjs +0 -10
  537. package/esm2022/elements/picker/extras/mixed-multi-picker-results/MixedMultiPickerResults.mjs +0 -297
  538. package/esm2022/elements/picker/extras/mixed-multi-picker-results/index.mjs +0 -2
  539. package/esm2022/elements/picker/extras/picker-results/PickerResults.mjs +0 -79
  540. package/esm2022/elements/picker/extras/picker-results/index.mjs +0 -2
  541. package/esm2022/elements/picker/extras/skills-picker-results/SkillsSpecialtyPickerResults.mjs +0 -106
  542. package/esm2022/elements/picker/extras/skills-picker-results/index.mjs +0 -2
  543. package/esm2022/elements/picker/extras/workers-comp-codes-picker-results/WorkersCompCodesPickerResults.mjs +0 -118
  544. package/esm2022/elements/picker/extras/workers-comp-codes-picker-results/index.mjs +0 -2
  545. package/esm2022/elements/picker/index.mjs +0 -4
  546. package/esm2022/elements/picker/novo-elements-elements-picker.mjs +0 -5
  547. package/esm2022/elements/places/index.mjs +0 -4
  548. package/esm2022/elements/places/novo-elements-elements-places.mjs +0 -5
  549. package/esm2022/elements/places/places.component.mjs +0 -407
  550. package/esm2022/elements/places/places.module.mjs +0 -23
  551. package/esm2022/elements/places/places.service.mjs +0 -273
  552. package/esm2022/elements/popover/PopOver.mjs +0 -182
  553. package/esm2022/elements/popover/PopOver.module.mjs +0 -23
  554. package/esm2022/elements/popover/PopOverContent.mjs +0 -223
  555. package/esm2022/elements/popover/index.mjs +0 -4
  556. package/esm2022/elements/popover/novo-elements-elements-popover.mjs +0 -5
  557. package/esm2022/elements/progress/Progress.mjs +0 -95
  558. package/esm2022/elements/progress/Progress.module.mjs +0 -21
  559. package/esm2022/elements/progress/ProgressBar.mjs +0 -194
  560. package/esm2022/elements/progress/ProgressConstants.mjs +0 -12
  561. package/esm2022/elements/progress/index.mjs +0 -5
  562. package/esm2022/elements/progress/novo-elements-elements-progress.mjs +0 -5
  563. package/esm2022/elements/query-builder/condition-builder/condition-builder.component.mjs +0 -280
  564. package/esm2022/elements/query-builder/condition-definitions/abstract-condition.definition.mjs +0 -91
  565. package/esm2022/elements/query-builder/condition-definitions/address-condition.definition.mjs +0 -271
  566. package/esm2022/elements/query-builder/condition-definitions/boolean-condition.definition.mjs +0 -67
  567. package/esm2022/elements/query-builder/condition-definitions/date-condition.definition.mjs +0 -127
  568. package/esm2022/elements/query-builder/condition-definitions/date-time-condition.definition.mjs +0 -152
  569. package/esm2022/elements/query-builder/condition-definitions/id-condition.definition.mjs +0 -54
  570. package/esm2022/elements/query-builder/condition-definitions/number-condition.definition.mjs +0 -87
  571. package/esm2022/elements/query-builder/condition-definitions/picker-condition.definition.mjs +0 -156
  572. package/esm2022/elements/query-builder/condition-definitions/string-condition.definition.mjs +0 -146
  573. package/esm2022/elements/query-builder/condition-group/condition-group.component.mjs +0 -127
  574. package/esm2022/elements/query-builder/condition-templates/condition-templates.component.mjs +0 -21
  575. package/esm2022/elements/query-builder/criteria-builder/criteria-builder.component.mjs +0 -237
  576. package/esm2022/elements/query-builder/index.mjs +0 -17
  577. package/esm2022/elements/query-builder/novo-elements-elements-query-builder.mjs +0 -5
  578. package/esm2022/elements/query-builder/query-builder.directives.mjs +0 -101
  579. package/esm2022/elements/query-builder/query-builder.module.mjs +0 -210
  580. package/esm2022/elements/query-builder/query-builder.service.mjs +0 -92
  581. package/esm2022/elements/query-builder/query-builder.tokens.mjs +0 -5
  582. package/esm2022/elements/query-builder/query-builder.types.mjs +0 -33
  583. package/esm2022/elements/quick-note/QuickNote.mjs +0 -569
  584. package/esm2022/elements/quick-note/QuickNote.module.mjs +0 -25
  585. package/esm2022/elements/quick-note/extras/index.mjs +0 -2
  586. package/esm2022/elements/quick-note/extras/quick-note-results/QuickNoteResults.mjs +0 -153
  587. package/esm2022/elements/quick-note/extras/quick-note-results/index.mjs +0 -2
  588. package/esm2022/elements/quick-note/index.mjs +0 -4
  589. package/esm2022/elements/quick-note/novo-elements-elements-quick-note.mjs +0 -5
  590. package/esm2022/elements/radio/Radio.mjs +0 -198
  591. package/esm2022/elements/radio/Radio.module.mjs +0 -22
  592. package/esm2022/elements/radio/RadioGroup.mjs +0 -232
  593. package/esm2022/elements/radio/index.mjs +0 -5
  594. package/esm2022/elements/radio/novo-elements-elements-radio.mjs +0 -5
  595. package/esm2022/elements/radio/tokens.mjs +0 -3
  596. package/esm2022/elements/search/SearchBox.mjs +0 -270
  597. package/esm2022/elements/search/SearchBox.module.mjs +0 -24
  598. package/esm2022/elements/search/index.mjs +0 -3
  599. package/esm2022/elements/search/novo-elements-elements-search.mjs +0 -5
  600. package/esm2022/elements/select/Select.extupdatefix.directive.mjs +0 -36
  601. package/esm2022/elements/select/Select.mjs +0 -896
  602. package/esm2022/elements/select/Select.module.mjs +0 -58
  603. package/esm2022/elements/select/index.mjs +0 -4
  604. package/esm2022/elements/select/novo-elements-elements-select.mjs +0 -5
  605. package/esm2022/elements/select-search/index.mjs +0 -4
  606. package/esm2022/elements/select-search/novo-elements-elements-select-search.mjs +0 -5
  607. package/esm2022/elements/select-search/select-search-clear.directive.mjs +0 -20
  608. package/esm2022/elements/select-search/select-search.component.mjs +0 -635
  609. package/esm2022/elements/select-search/select-search.module.mjs +0 -54
  610. package/esm2022/elements/simple-table/PaginationOld.mjs +0 -190
  611. package/esm2022/elements/simple-table/activity-table-renderers.mjs +0 -16
  612. package/esm2022/elements/simple-table/cell-header.mjs +0 -376
  613. package/esm2022/elements/simple-table/cell.mjs +0 -336
  614. package/esm2022/elements/simple-table/index.mjs +0 -13
  615. package/esm2022/elements/simple-table/interfaces.mjs +0 -2
  616. package/esm2022/elements/simple-table/novo-elements-elements-simple-table.mjs +0 -5
  617. package/esm2022/elements/simple-table/pagination.mjs +0 -236
  618. package/esm2022/elements/simple-table/row.mjs +0 -84
  619. package/esm2022/elements/simple-table/simple-table.module.mjs +0 -183
  620. package/esm2022/elements/simple-table/sort.mjs +0 -88
  621. package/esm2022/elements/simple-table/state.mjs +0 -41
  622. package/esm2022/elements/simple-table/table-source.mjs +0 -70
  623. package/esm2022/elements/simple-table/table.mjs +0 -396
  624. package/esm2022/elements/slider/Slider.mjs +0 -91
  625. package/esm2022/elements/slider/Slider.module.mjs +0 -21
  626. package/esm2022/elements/slider/index.mjs +0 -3
  627. package/esm2022/elements/slider/novo-elements-elements-slider.mjs +0 -5
  628. package/esm2022/elements/stepper/index.mjs +0 -8
  629. package/esm2022/elements/stepper/novo-elements-elements-stepper.mjs +0 -5
  630. package/esm2022/elements/stepper/step-header.component.mjs +0 -95
  631. package/esm2022/elements/stepper/step-label.component.mjs +0 -17
  632. package/esm2022/elements/stepper/step-status.component.mjs +0 -18
  633. package/esm2022/elements/stepper/stepper-buttons.component.mjs +0 -36
  634. package/esm2022/elements/stepper/stepper.animations.mjs +0 -19
  635. package/esm2022/elements/stepper/stepper.component.mjs +0 -149
  636. package/esm2022/elements/stepper/stepper.module.mjs +0 -63
  637. package/esm2022/elements/switch/Switch.mjs +0 -123
  638. package/esm2022/elements/switch/Switch.module.mjs +0 -20
  639. package/esm2022/elements/switch/index.mjs +0 -3
  640. package/esm2022/elements/switch/novo-elements-elements-switch.mjs +0 -5
  641. package/esm2022/elements/tabbed-group-picker/TabbedGroupPicker.mjs +0 -355
  642. package/esm2022/elements/tabbed-group-picker/TabbedGroupPicker.module.mjs +0 -60
  643. package/esm2022/elements/tabbed-group-picker/index.mjs +0 -3
  644. package/esm2022/elements/tabbed-group-picker/novo-elements-elements-tabbed-group-picker.mjs +0 -5
  645. package/esm2022/elements/tabs/Tabs.mjs +0 -370
  646. package/esm2022/elements/tabs/Tabs.module.mjs +0 -48
  647. package/esm2022/elements/tabs/index.mjs +0 -3
  648. package/esm2022/elements/tabs/novo-elements-elements-tabs.mjs +0 -5
  649. package/esm2022/elements/tiles/Tiles.mjs +0 -186
  650. package/esm2022/elements/tiles/Tiles.module.mjs +0 -21
  651. package/esm2022/elements/tiles/index.mjs +0 -3
  652. package/esm2022/elements/tiles/novo-elements-elements-tiles.mjs +0 -5
  653. package/esm2022/elements/time-picker/TimePicker.mjs +0 -419
  654. package/esm2022/elements/time-picker/TimePicker.module.mjs +0 -27
  655. package/esm2022/elements/time-picker/TimePickerInput.mjs +0 -334
  656. package/esm2022/elements/time-picker/index.mjs +0 -4
  657. package/esm2022/elements/time-picker/novo-elements-elements-time-picker.mjs +0 -5
  658. package/esm2022/elements/tip-well/TipWell.mjs +0 -114
  659. package/esm2022/elements/tip-well/TipWell.module.mjs +0 -21
  660. package/esm2022/elements/tip-well/index.mjs +0 -3
  661. package/esm2022/elements/tip-well/novo-elements-elements-tip-well.mjs +0 -5
  662. package/esm2022/elements/toast/Toast.mjs +0 -156
  663. package/esm2022/elements/toast/Toast.module.mjs +0 -21
  664. package/esm2022/elements/toast/ToastService.mjs +0 -94
  665. package/esm2022/elements/toast/index.mjs +0 -4
  666. package/esm2022/elements/toast/novo-elements-elements-toast.mjs +0 -5
  667. package/esm2022/elements/toolbar/index.mjs +0 -3
  668. package/esm2022/elements/toolbar/novo-elements-elements-toolbar.mjs +0 -5
  669. package/esm2022/elements/toolbar/toolbar.component.mjs +0 -44
  670. package/esm2022/elements/toolbar/toolbar.module.mjs +0 -19
  671. package/esm2022/elements/tooltip/Tooltip.component.mjs +0 -48
  672. package/esm2022/elements/tooltip/Tooltip.directive.mjs +0 -259
  673. package/esm2022/elements/tooltip/Tooltip.module.mjs +0 -21
  674. package/esm2022/elements/tooltip/index.mjs +0 -4
  675. package/esm2022/elements/tooltip/novo-elements-elements-tooltip.mjs +0 -5
  676. package/esm2022/elements/unless/Unless.mjs +0 -55
  677. package/esm2022/elements/unless/Unless.module.mjs +0 -20
  678. package/esm2022/elements/unless/index.mjs +0 -3
  679. package/esm2022/elements/unless/novo-elements-elements-unless.mjs +0 -5
  680. package/esm2022/elements/value/EntityList.mjs +0 -101
  681. package/esm2022/elements/value/Render.mjs +0 -424
  682. package/esm2022/elements/value/Value.mjs +0 -213
  683. package/esm2022/elements/value/Value.module.mjs +0 -23
  684. package/esm2022/elements/value/index.mjs +0 -5
  685. package/esm2022/elements/value/novo-elements-elements-value.mjs +0 -5
  686. package/esm2022/index.mjs +0 -8
  687. package/esm2022/novo-elements.mjs +0 -5
  688. package/esm2022/novo-elements.module.mjs +0 -232
  689. package/esm2022/novo-elements.providers.mjs +0 -46
  690. package/esm2022/pipes/Pipes.module.mjs +0 -22
  691. package/esm2022/pipes/decode-uri/DecodeURI.mjs +0 -24
  692. package/esm2022/pipes/decode-uri/index.mjs +0 -2
  693. package/esm2022/pipes/default/Default.mjs +0 -18
  694. package/esm2022/pipes/default/index.mjs +0 -2
  695. package/esm2022/pipes/group-by/GroupBy.mjs +0 -28
  696. package/esm2022/pipes/group-by/index.mjs +0 -2
  697. package/esm2022/pipes/highlight/Highlight.mjs +0 -22
  698. package/esm2022/pipes/highlight/index.mjs +0 -2
  699. package/esm2022/pipes/index.mjs +0 -8
  700. package/esm2022/pipes/iso8601/index.mjs +0 -5
  701. package/esm2022/pipes/iso8601/iso-date-range.pipe.mjs +0 -22
  702. package/esm2022/pipes/iso8601/iso-date.pipe.mjs +0 -18
  703. package/esm2022/pipes/iso8601/iso-time-range.pipe.mjs +0 -22
  704. package/esm2022/pipes/iso8601/iso-time.pipe.mjs +0 -19
  705. package/esm2022/pipes/novo-elements-pipes.mjs +0 -5
  706. package/esm2022/pipes/plural/Plural.mjs +0 -355
  707. package/esm2022/pipes/plural/index.mjs +0 -2
  708. package/esm2022/services/component-utils/ComponentUtils.mjs +0 -20
  709. package/esm2022/services/component-utils/index.mjs +0 -2
  710. package/esm2022/services/data-provider/ArrayCollection.mjs +0 -301
  711. package/esm2022/services/data-provider/Collection.mjs +0 -2
  712. package/esm2022/services/data-provider/CollectionEvent.mjs +0 -21
  713. package/esm2022/services/data-provider/PagedArrayCollection.mjs +0 -78
  714. package/esm2022/services/data-provider/PagedCollection.mjs +0 -2
  715. package/esm2022/services/data-provider/index.mjs +0 -6
  716. package/esm2022/services/date-format/DateFormat.mjs +0 -304
  717. package/esm2022/services/date-format/index.mjs +0 -2
  718. package/esm2022/services/global/global.service.mjs +0 -27
  719. package/esm2022/services/global/index.mjs +0 -2
  720. package/esm2022/services/index.mjs +0 -10
  721. package/esm2022/services/novo-elements-services.mjs +0 -5
  722. package/esm2022/services/novo-label-service.mjs +0 -339
  723. package/esm2022/services/options/OptionsService.mjs +0 -41
  724. package/esm2022/services/options/index.mjs +0 -2
  725. package/esm2022/services/security/Security.mjs +0 -71
  726. package/esm2022/services/security/index.mjs +0 -2
  727. package/esm2022/services/storage/index.mjs +0 -2
  728. package/esm2022/services/storage/storage.service.mjs +0 -19
  729. package/esm2022/services/template/NovoTemplateService.mjs +0 -35
  730. package/esm2022/services/template/index.mjs +0 -2
  731. package/esm2022/utils/Helpers.mjs +0 -421
  732. package/esm2022/utils/app-bridge/AppBridge.mjs +0 -767
  733. package/esm2022/utils/app-bridge/index.mjs +0 -3
  734. package/esm2022/utils/app-bridge/interfaces.mjs +0 -38
  735. package/esm2022/utils/base-renderer/BaseRenderer.mjs +0 -20
  736. package/esm2022/utils/base-renderer/index.mjs +0 -2
  737. package/esm2022/utils/calendar-utils/CalendarUtils.mjs +0 -322
  738. package/esm2022/utils/calendar-utils/index.mjs +0 -2
  739. package/esm2022/utils/color-utils/ColorUtils.mjs +0 -250
  740. package/esm2022/utils/color-utils/index.mjs +0 -2
  741. package/esm2022/utils/countries/Countries.mjs +0 -19510
  742. package/esm2022/utils/countries/index.mjs +0 -2
  743. package/esm2022/utils/date/Date.mjs +0 -191
  744. package/esm2022/utils/date/Date.types.mjs +0 -11
  745. package/esm2022/utils/date/convert-tokens.mjs +0 -88
  746. package/esm2022/utils/date/index.mjs +0 -6
  747. package/esm2022/utils/date/legacy-parse.mjs +0 -262
  748. package/esm2022/utils/date/timezone-support.mjs +0 -87
  749. package/esm2022/utils/decorators/BooleanInput.mjs +0 -15
  750. package/esm2022/utils/decorators/index.mjs +0 -2
  751. package/esm2022/utils/deferred/Deferred.mjs +0 -11
  752. package/esm2022/utils/deferred/index.mjs +0 -2
  753. package/esm2022/utils/index.mjs +0 -13
  754. package/esm2022/utils/key-codes/Key.mjs +0 -4
  755. package/esm2022/utils/key-codes/KeyCodes.mjs +0 -95
  756. package/esm2022/utils/key-codes/index.mjs +0 -3
  757. package/esm2022/utils/notifier/index.mjs +0 -2
  758. package/esm2022/utils/notifier/notifier.util.mjs +0 -10
  759. package/esm2022/utils/novo-elements-utils.mjs +0 -5
  760. package/esm2022/utils/outside-click/OutsideClick.mjs +0 -60
  761. package/esm2022/utils/outside-click/index.mjs +0 -2
@@ -1,3 +0,0 @@
1
- export * from './AppBridge';
2
- export * from './interfaces';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy91dGlscy9hcHAtYnJpZGdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9BcHBCcmlkZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzJztcbiJdfQ==
@@ -1,38 +0,0 @@
1
- export var AppBridgeHandler;
2
- (function (AppBridgeHandler) {
3
- AppBridgeHandler[AppBridgeHandler["HTTP"] = 0] = "HTTP";
4
- AppBridgeHandler[AppBridgeHandler["OPEN"] = 1] = "OPEN";
5
- AppBridgeHandler[AppBridgeHandler["OPEN_LIST"] = 2] = "OPEN_LIST";
6
- AppBridgeHandler[AppBridgeHandler["CLOSE"] = 3] = "CLOSE";
7
- AppBridgeHandler[AppBridgeHandler["REFRESH"] = 4] = "REFRESH";
8
- AppBridgeHandler[AppBridgeHandler["PIN"] = 5] = "PIN";
9
- AppBridgeHandler[AppBridgeHandler["REGISTER"] = 6] = "REGISTER";
10
- AppBridgeHandler[AppBridgeHandler["UPDATE"] = 7] = "UPDATE";
11
- AppBridgeHandler[AppBridgeHandler["REQUEST_DATA"] = 8] = "REQUEST_DATA";
12
- AppBridgeHandler[AppBridgeHandler["CALLBACK"] = 9] = "CALLBACK";
13
- AppBridgeHandler[AppBridgeHandler["PING"] = 10] = "PING";
14
- })(AppBridgeHandler || (AppBridgeHandler = {}));
15
- export const HTTP_VERBS = {
16
- GET: 'get',
17
- POST: 'post',
18
- PUT: 'put',
19
- DELETE: 'delete',
20
- };
21
- export const MESSAGE_TYPES = {
22
- REGISTER: 'register',
23
- OPEN: 'open',
24
- OPEN_LIST: 'openList',
25
- CLOSE: 'close',
26
- REFRESH: 'refresh',
27
- PIN: 'pin',
28
- PING: 'ping',
29
- UPDATE: 'update',
30
- HTTP_GET: 'httpGET',
31
- HTTP_POST: 'httpPOST',
32
- HTTP_PUT: 'httpPUT',
33
- HTTP_DELETE: 'httpDELETE',
34
- CUSTOM_EVENT: 'customEvent',
35
- REQUEST_DATA: 'requestData',
36
- CALLBACK: 'callback',
37
- };
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25vdm8tZWxlbWVudHMvc3JjL3V0aWxzL2FwcC1icmlkZ2UvaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxnQkFZWDtBQVpELFdBQVksZ0JBQWdCO0lBQzFCLHVEQUFJLENBQUE7SUFDSix1REFBSSxDQUFBO0lBQ0osaUVBQVMsQ0FBQTtJQUNULHlEQUFLLENBQUE7SUFDTCw2REFBTyxDQUFBO0lBQ1AscURBQUcsQ0FBQTtJQUNILCtEQUFRLENBQUE7SUFDUiwyREFBTSxDQUFBO0lBQ04sdUVBQVksQ0FBQTtJQUNaLCtEQUFRLENBQUE7SUFDUix3REFBSSxDQUFBO0FBQ04sQ0FBQyxFQVpXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFZM0I7QUFxRUQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsSUFBSSxFQUFFLE1BQU07SUFDWixHQUFHLEVBQUUsS0FBSztJQUNWLE1BQU0sRUFBRSxRQUFRO0NBQ2pCLENBQUM7QUFJRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDM0IsUUFBUSxFQUFFLFVBQVU7SUFDcEIsSUFBSSxFQUFFLE1BQU07SUFDWixTQUFTLEVBQUUsVUFBVTtJQUNyQixLQUFLLEVBQUUsT0FBTztJQUNkLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsSUFBSSxFQUFFLE1BQU07SUFDWixNQUFNLEVBQUUsUUFBUTtJQUNoQixRQUFRLEVBQUUsU0FBUztJQUNuQixTQUFTLEVBQUUsVUFBVTtJQUNyQixRQUFRLEVBQUUsU0FBUztJQUNuQixXQUFXLEVBQUUsWUFBWTtJQUN6QixZQUFZLEVBQUUsYUFBYTtJQUMzQixZQUFZLEVBQUUsYUFBYTtJQUMzQixRQUFRLEVBQUUsVUFBVTtDQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQXBwQnJpZGdlSGFuZGxlciB7XG4gIEhUVFAsXG4gIE9QRU4sXG4gIE9QRU5fTElTVCxcbiAgQ0xPU0UsXG4gIFJFRlJFU0gsXG4gIFBJTixcbiAgUkVHSVNURVIsXG4gIFVQREFURSxcbiAgUkVRVUVTVF9EQVRBLFxuICBDQUxMQkFDSyxcbiAgUElORyxcbn1cblxuLy8gcmVjb3JkICAgICAgIC0gYW4gaW5kaXZpZHVhbCBlbnRpdHkgcmVjb3JkXG4vLyBhZGQvZmFzdC1hZGQgLSB0aGUgYWRkIHBhZ2UgZm9yIGEgbmV3IHJlY29yZFxuLy8gY3VzdG9tICAgICAgIC0gY3VzdG9tIGFjdGlvbiB0aGF0IG9wZW5zIHRoZSB1cmwgcHJvdmlkZWQgaW4gZGF0YS51cmxcbi8vIHByZXZpZXcgICAgICAtIHRoZSBwcmV2aWV3IHNsaWRlb3V0IGF2YWlsYWJsZSBvbmx5IGluIE5vdm9cbmV4cG9ydCB0eXBlIE5vdm9BcHBzID0gJ3JlY29yZCcgfCAnYWRkJyB8ICdmYXN0LWFkZCcgfCAnc2xpZGUtb3V0LWFkZCcgfCAnY3VzdG9tJyB8ICdwcmV2aWV3JztcblxuZXhwb3J0IHR5cGUgQWxsZXlMaW5rQ29sb3JzID1cbiAgfCAncHVycGxlJ1xuICB8ICdncmVlbidcbiAgfCAnYmx1ZSdcbiAgfCAnbGVhZCdcbiAgfCAnY2FuZGlkYXRlJ1xuICB8ICdjb250YWN0J1xuICB8ICdjb21wYW55J1xuICB8ICdvcHBvcnR1bml0eSdcbiAgfCAnam9iJ1xuICB8ICdiaWxsYWJsZS1jaGFyZ2UnXG4gIHwgJ2Vhcm4tY29kZSdcbiAgfCAnaW52b2ljZS1zdGF0ZW1lbnQnXG4gIHwgJ2pvYi1jb2RlJ1xuICB8ICdwYXlhYmxlLWNoYXJnZSdcbiAgfCAnc2FsZXMtdGF4LXJhdGUnXG4gIHwgJ3RheC1ydWxlcydcbiAgfCAnc3VibWlzc2lvbidcbiAgfCAncGxhY2VtZW50J1xuICB8ICduYXZpZ2F0aW9uJ1xuICB8ICdjYW52YXMnXG4gIHwgJ25ldXRyYWwnXG4gIHwgJ25ldXRyYWwtaXRhbGljJ1xuICB8ICdpbml0aWFsJ1xuICB8ICdkaXN0cmlidXRpb25MaXN0J1xuICB8ICdjb250cmFjdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFwcEJyaWRnZU9wZW5FdmVudCB7XG4gIHR5cGU6IE5vdm9BcHBzO1xuICBlbnRpdHlUeXBlOiBzdHJpbmc7XG4gIGVudGl0eUlkPzogc3RyaW5nO1xuICB0YWI/OiBzdHJpbmc7XG4gIGRhdGE/OiBhbnk7XG4gIHBhc3N0aHJvdWdoPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBNb3NhaWNMaXN0cyA9XG4gIHwgJ0NhbmRpZGF0ZSdcbiAgfCAnQ2xpZW50Q29udGFjdCdcbiAgfCAnQ2xpZW50Q29ycG9yYXRpb24nXG4gIHwgJ0pvYk9yZGVyJ1xuICB8ICdKb2JTdWJtaXNzaW9uJ1xuICB8ICdKb2JQb3N0aW5nJ1xuICB8ICdQbGFjZW1lbnQnXG4gIHwgJ0xlYWQnXG4gIHwgJ09wcG9ydHVuaXR5JztcblxuZXhwb3J0IGludGVyZmFjZSBJQXBwQnJpZGdlT3Blbkxpc3RFdmVudCB7XG4gIHR5cGU6IE1vc2FpY0xpc3RzO1xuICBrZXl3b3JkczogQXJyYXk8c3RyaW5nPjtcbiAgY3JpdGVyaWE6IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgTm92b0RhdGFUeXBlID0gJ2VudGl0bGVtZW50cycgfCAnc2V0dGluZ3MnIHwgJ3VzZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIElBcHBCcmlkZ2VSZXF1ZXN0RGF0YUV2ZW50IHtcbiAgdHlwZTogTm92b0RhdGFUeXBlO1xufVxuXG5leHBvcnQgdHlwZSBIdHRwVmVyYiA9ICdnZXQnIHwgJ3Bvc3QnIHwgJ3B1dCcgfCAnZGVsZXRlJztcblxuZXhwb3J0IGNvbnN0IEhUVFBfVkVSQlMgPSB7XG4gIEdFVDogJ2dldCcsXG4gIFBPU1Q6ICdwb3N0JyxcbiAgUFVUOiAncHV0JyxcbiAgREVMRVRFOiAnZGVsZXRlJyxcbn07XG5cbmV4cG9ydCB0eXBlIE1lc3NhZ2VUeXBlID0gJ3JlZ2lzdGVyJyB8ICdvcGVuJyB8ICdvcGVuTGlzdCcgfCAnY2xvc2UnIHwgJ3JlZnJlc2gnIHwgJ3BpbicgfCAncGluZycgfCAndXBkYXRlJyB8ICdodHRwR0VUJyB8ICdodHRwUE9TVCcgfCAnaHR0cFBVVCcgfCAnaHR0cERFTEVURScgfCAnY3VzdG9tRXZlbnQnIHwgJ3JlcXVlc3REYXRhJyB8ICdjYWxsYmFjayc7XG5cbmV4cG9ydCBjb25zdCBNRVNTQUdFX1RZUEVTID0ge1xuICBSRUdJU1RFUjogJ3JlZ2lzdGVyJyxcbiAgT1BFTjogJ29wZW4nLFxuICBPUEVOX0xJU1Q6ICdvcGVuTGlzdCcsXG4gIENMT1NFOiAnY2xvc2UnLFxuICBSRUZSRVNIOiAncmVmcmVzaCcsXG4gIFBJTjogJ3BpbicsXG4gIFBJTkc6ICdwaW5nJyxcbiAgVVBEQVRFOiAndXBkYXRlJyxcbiAgSFRUUF9HRVQ6ICdodHRwR0VUJyxcbiAgSFRUUF9QT1NUOiAnaHR0cFBPU1QnLFxuICBIVFRQX1BVVDogJ2h0dHBQVVQnLFxuICBIVFRQX0RFTEVURTogJ2h0dHBERUxFVEUnLFxuICBDVVNUT01fRVZFTlQ6ICdjdXN0b21FdmVudCcsXG4gIFJFUVVFU1RfREFUQTogJ3JlcXVlc3REYXRhJyxcbiAgQ0FMTEJBQ0s6ICdjYWxsYmFjaycsXG59OyJdfQ==
@@ -1,20 +0,0 @@
1
- export class BaseRenderer {
2
- constructor() {
3
- this._data = {};
4
- this._value = '';
5
- this.meta = {};
6
- }
7
- get data() {
8
- return this._data;
9
- }
10
- set data(d) {
11
- this._data = d;
12
- }
13
- get value() {
14
- return this._value;
15
- }
16
- set value(v) {
17
- this._value = v;
18
- }
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZVJlbmRlcmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbm92by1lbGVtZW50cy9zcmMvdXRpbHMvYmFzZS1yZW5kZXJlci9CYXNlUmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFlBQVk7SUFBekI7UUFDRSxVQUFLLEdBQVEsRUFBRSxDQUFDO1FBQ2hCLFdBQU0sR0FBUSxFQUFFLENBQUM7UUFDakIsU0FBSSxHQUFRLEVBQUUsQ0FBQztJQWlCakIsQ0FBQztJQWZDLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsQ0FBTTtRQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLENBQU07UUFDZCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQmFzZVJlbmRlcmVyIHtcbiAgX2RhdGE6IGFueSA9IHt9O1xuICBfdmFsdWU6IGFueSA9ICcnO1xuICBtZXRhOiBhbnkgPSB7fTtcblxuICBnZXQgZGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgfVxuXG4gIHNldCBkYXRhKGQ6IGFueSkge1xuICAgIHRoaXMuX2RhdGEgPSBkO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIHNldCB2YWx1ZSh2OiBhbnkpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHY7XG4gIH1cbn0iXX0=
@@ -1,2 +0,0 @@
1
- export * from './BaseRenderer';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy91dGlscy9iYXNlLXJlbmRlcmVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL0Jhc2VSZW5kZXJlcic7Il19
@@ -1,322 +0,0 @@
1
- import { addHours, addMinutes, differenceInMinutes, getDay } from 'date-fns';
2
- import { DateUtil } from '../date';
3
- const WEEKEND_DAY_NUMBERS = [0, 6];
4
- const DAYS_IN_WEEK = 7;
5
- const HOURS_IN_DAY = 24;
6
- const MINUTES_IN_HOUR = 60;
7
- export var CalendarEventResponse;
8
- (function (CalendarEventResponse) {
9
- CalendarEventResponse[CalendarEventResponse["Maybe"] = 0] = "Maybe";
10
- CalendarEventResponse[CalendarEventResponse["Accepted"] = 1] = "Accepted";
11
- CalendarEventResponse[CalendarEventResponse["Rejected"] = 2] = "Rejected";
12
- })(CalendarEventResponse || (CalendarEventResponse = {}));
13
- function getExcludedDays({ startDate, days, excluded }) {
14
- if (excluded.length < 1) {
15
- return 0;
16
- }
17
- let day = startDate.getDay();
18
- let reduce = 0;
19
- for (let i = 0; i < days; i++) {
20
- if (day === DAYS_IN_WEEK) {
21
- day = 0;
22
- }
23
- if (excluded.some((e) => e === day)) {
24
- reduce++;
25
- }
26
- day++;
27
- }
28
- return reduce;
29
- }
30
- function getWeekViewEventSpan({ event, offset, startOfWeek, excluded, }) {
31
- const begin = event.start < startOfWeek ? startOfWeek : event.start;
32
- let span = 1;
33
- if (event.end) {
34
- span = DateUtil.differenceInDays(addMinutes(DateUtil.endOfDay(event.end), 1), DateUtil.startOfDay(begin));
35
- }
36
- const totalLength = offset + span;
37
- if (totalLength > DAYS_IN_WEEK) {
38
- span = DAYS_IN_WEEK - offset;
39
- }
40
- return span - getExcludedDays({ startDate: begin, days: span, excluded });
41
- }
42
- export function getWeekViewEventOffset({ event, startOfWeek, excluded = [], }) {
43
- if (event.start < startOfWeek) {
44
- return 0;
45
- }
46
- const distance = DateUtil.differenceInDays(event.start, startOfWeek);
47
- return distance - getExcludedDays({ startDate: startOfWeek, days: distance, excluded });
48
- }
49
- function isEventIsPeriod({ event, periodStart, periodEnd }) {
50
- const eventStart = event.start;
51
- const eventEnd = event.end || event.start;
52
- if (eventStart > periodStart && eventStart < periodEnd) {
53
- return true;
54
- }
55
- if (eventEnd > periodStart && eventEnd < periodEnd) {
56
- return true;
57
- }
58
- if (eventStart < periodStart && eventEnd > periodEnd) {
59
- return true;
60
- }
61
- if (DateUtil.isSameSecond(eventStart, periodStart) || DateUtil.isSameSecond(eventStart, periodEnd)) {
62
- return true;
63
- }
64
- if (DateUtil.isSameSecond(eventEnd, periodStart) || DateUtil.isSameSecond(eventEnd, periodEnd)) {
65
- return true;
66
- }
67
- return false;
68
- }
69
- function getEventsInPeriod({ events, periodStart, periodEnd }) {
70
- return events.filter((event) => isEventIsPeriod({ event, periodStart, periodEnd }));
71
- }
72
- function getEventsInTimeRange(events, dayStart, dayEnd) {
73
- return events.filter((event) => {
74
- const eventStart = event.start;
75
- const eventEnd = event.end || eventStart;
76
- const startOfView = DateUtil.setMinutes(DateUtil.setHours(DateUtil.startOfDay(eventStart), dayStart.hour), dayStart.minute);
77
- const endOfView = DateUtil.setMinutes(DateUtil.setHours(DateUtil.startOfMinute(eventStart), dayEnd.hour), dayEnd.minute);
78
- return DateUtil.isAfter(eventEnd, startOfView) && DateUtil.isBefore(eventStart, endOfView);
79
- });
80
- }
81
- function getWeekDay({ date }) {
82
- const today = DateUtil.startOfDay(new Date());
83
- return {
84
- date,
85
- isPast: date < today,
86
- isToday: DateUtil.isSameDay(date, today),
87
- isFuture: date > today,
88
- isWeekend: WEEKEND_DAY_NUMBERS.indexOf(getDay(date)) > -1,
89
- };
90
- }
91
- export function getWeekViewHeader({ viewDate, weekStartsOn, excluded = [], }) {
92
- const start = DateUtil.startOfWeek(viewDate, { weekStartsOn });
93
- const days = [];
94
- for (let i = 0; i < DAYS_IN_WEEK; i++) {
95
- const date = DateUtil.addDays(start, i);
96
- if (!excluded.some((e) => date.getDay() === e)) {
97
- days.push(getWeekDay({ date }));
98
- }
99
- }
100
- return days;
101
- }
102
- export function getWeekView({ events = [], viewDate, weekStartsOn, excluded = [], hourSegments, segmentHeight, dayStart, dayEnd, }) {
103
- if (!events) {
104
- events = [];
105
- }
106
- const startOfViewWeek = DateUtil.startOfWeek(viewDate, { weekStartsOn });
107
- const endOfViewWeek = DateUtil.endOfWeek(viewDate, { weekStartsOn });
108
- const maxRange = DAYS_IN_WEEK - excluded.length;
109
- const eventsMapped = getEventsInTimeRange(getEventsInPeriod({ events, periodStart: startOfViewWeek, periodEnd: endOfViewWeek }), dayStart, dayEnd)
110
- .map((event) => {
111
- const offset = getWeekViewEventOffset({ event, startOfWeek: startOfViewWeek, excluded });
112
- const span = 1; // getWeekViewEventSpan({ event, offset, startOfWeek: startOfViewWeek, excluded });
113
- return { event, offset, span };
114
- })
115
- .filter((e) => e.offset < maxRange)
116
- .filter((e) => e.span > 0)
117
- .map((entry) => ({
118
- event: entry.event,
119
- offset: entry.offset,
120
- span: entry.span,
121
- startsBeforeWeek: entry.event.start < startOfViewWeek,
122
- endsAfterWeek: (entry.event.end || entry.event.start) > endOfViewWeek,
123
- top: 0,
124
- }))
125
- .sort((itemA, itemB) => {
126
- const startSecondsDiff = DateUtil.differenceInSeconds(itemA.event.start, itemB.event.start);
127
- if (startSecondsDiff === 0) {
128
- return DateUtil.differenceInSeconds(itemB.event.end || itemB.event.start, itemA.event.end || itemA.event.start);
129
- }
130
- return startSecondsDiff;
131
- })
132
- .map((entry) => {
133
- const startOfView = DateUtil.setMinutes(DateUtil.setHours(DateUtil.startOfDay(entry.event.start), dayStart.hour), dayStart.minute);
134
- const endOfView = DateUtil.setMinutes(DateUtil.setHours(DateUtil.startOfMinute(DateUtil.endOfDay(entry.event.start)), dayEnd.hour), dayEnd.minute);
135
- const eventStart = entry.event.start;
136
- const eventEnd = entry.event.end || eventStart;
137
- const hourHeightModifier = (hourSegments * segmentHeight) / MINUTES_IN_HOUR;
138
- if (eventStart > startOfView) {
139
- entry.top += differenceInMinutes(eventStart, startOfView);
140
- }
141
- entry.top *= hourHeightModifier;
142
- const startsBeforeDay = eventStart < startOfView;
143
- const endsAfterDay = eventEnd > endOfView;
144
- const startDate = startsBeforeDay ? startOfView : eventStart;
145
- const endDate = endsAfterDay ? endOfView : eventEnd;
146
- let height = differenceInMinutes(endDate, startDate);
147
- if (!entry.event.end) {
148
- height = segmentHeight;
149
- }
150
- else {
151
- height *= hourHeightModifier;
152
- }
153
- entry.height = height;
154
- return entry;
155
- });
156
- const eventRows = [];
157
- const allocatedEvents = [];
158
- eventsMapped.forEach((event, index) => {
159
- if (allocatedEvents.indexOf(event) === -1) {
160
- allocatedEvents.push(event);
161
- const otherRowEvents = eventsMapped.slice(index + 1).filter((nextEvent) => {
162
- return nextEvent.top === event.top && nextEvent.offset === event.offset;
163
- });
164
- if (otherRowEvents.length > 0) {
165
- const totalEventsForRow = otherRowEvents.length + 1;
166
- event.span = 1 / totalEventsForRow;
167
- let nextOffset = event.span + event.offset;
168
- otherRowEvents.forEach((nextEvent) => {
169
- nextEvent.offset = nextOffset;
170
- nextEvent.span = event.span;
171
- nextOffset = nextEvent.span + nextEvent.offset;
172
- });
173
- allocatedEvents.push(...otherRowEvents);
174
- }
175
- eventRows.push({
176
- row: [event, ...otherRowEvents],
177
- });
178
- }
179
- });
180
- return eventRows;
181
- }
182
- export function getMonthView({ events = [], viewDate, weekStartsOn, excluded = [], }) {
183
- if (!events) {
184
- events = [];
185
- }
186
- const start = DateUtil.startOfWeek(DateUtil.startOfMonth(viewDate), { weekStartsOn });
187
- const end = DateUtil.endOfWeek(DateUtil.endOfMonth(viewDate), { weekStartsOn });
188
- const eventsInMonth = getEventsInPeriod({
189
- events,
190
- periodStart: start,
191
- periodEnd: end,
192
- });
193
- const days = [];
194
- for (let i = 0; i < DateUtil.differenceInDays(end, start) + 1; i++) {
195
- const date = DateUtil.addDays(start, i);
196
- if (!excluded.some((e) => date.getDay() === e)) {
197
- const day = getWeekDay({ date });
198
- const calEvents = getEventsInPeriod({
199
- events: eventsInMonth,
200
- periodStart: DateUtil.startOfDay(date),
201
- periodEnd: DateUtil.endOfDay(date),
202
- });
203
- day.inMonth = DateUtil.isSameMonth(date, viewDate);
204
- day.events = calEvents;
205
- day.badgeTotal = calEvents.length;
206
- days.push(day);
207
- }
208
- }
209
- const totalDaysVisibleInWeek = DAYS_IN_WEEK - excluded.length;
210
- const rows = Math.floor(days.length / totalDaysVisibleInWeek);
211
- const rowOffsets = [];
212
- for (let i = 0; i < rows; i++) {
213
- rowOffsets.push(i * totalDaysVisibleInWeek);
214
- }
215
- return {
216
- rowOffsets,
217
- totalDaysVisibleInWeek,
218
- days,
219
- };
220
- }
221
- export function getDayView({ events = [], viewDate, hourSegments, dayStart, dayEnd, eventWidth, segmentHeight }) {
222
- if (!events) {
223
- events = [];
224
- }
225
- const startOfView = DateUtil.setMinutes(DateUtil.setHours(DateUtil.startOfDay(viewDate), dayStart.hour), dayStart.minute);
226
- const endOfView = DateUtil.setMinutes(DateUtil.setHours(DateUtil.startOfMinute(DateUtil.endOfDay(viewDate)), dayEnd.hour), dayEnd.minute);
227
- const previousDayEvents = [];
228
- const dayViewEvents = getEventsInTimeRange(getEventsInPeriod({
229
- events: events.filter((event) => !event.allDay),
230
- periodStart: startOfView,
231
- periodEnd: endOfView,
232
- }), dayStart, dayEnd)
233
- .sort((eventA, eventB) => {
234
- return eventA.start.valueOf() - eventB.start.valueOf();
235
- })
236
- .map((event) => {
237
- const eventStart = event.start;
238
- const eventEnd = event.end || eventStart;
239
- const startsBeforeDay = eventStart < startOfView;
240
- const endsAfterDay = eventEnd > endOfView;
241
- const hourHeightModifier = (hourSegments * segmentHeight) / MINUTES_IN_HOUR;
242
- let top = 0;
243
- if (eventStart > startOfView) {
244
- top += differenceInMinutes(eventStart, startOfView);
245
- }
246
- top *= hourHeightModifier;
247
- const startDate = startsBeforeDay ? startOfView : eventStart;
248
- const endDate = endsAfterDay ? endOfView : eventEnd;
249
- let height = differenceInMinutes(endDate, startDate);
250
- if (!event.end) {
251
- height = segmentHeight;
252
- }
253
- else {
254
- height *= hourHeightModifier;
255
- }
256
- const bottom = top + height;
257
- const overlappingPreviousEvents = previousDayEvents.filter((previousEvent) => {
258
- const previousEventTop = previousEvent.top;
259
- const previousEventBottom = previousEvent.top + previousEvent.height;
260
- if (top < previousEventBottom && previousEventBottom < bottom) {
261
- return true;
262
- }
263
- else if (previousEventTop <= top && bottom <= previousEventBottom) {
264
- return true;
265
- }
266
- return false;
267
- });
268
- let left = 0;
269
- while (overlappingPreviousEvents.some((previousEvent) => previousEvent.left === left)) {
270
- left += eventWidth;
271
- }
272
- const dayEvent = {
273
- event,
274
- height,
275
- width: eventWidth,
276
- top,
277
- left,
278
- startsBeforeDay,
279
- endsAfterDay,
280
- };
281
- if (height > 0) {
282
- previousDayEvents.push(dayEvent);
283
- }
284
- return dayEvent;
285
- })
286
- .filter((dayEvent) => dayEvent.height > 0);
287
- const width = Math.max(...dayViewEvents.map((event) => event.left + event.width));
288
- const allDayEvents = getEventsInPeriod({
289
- events: events.filter((event) => event.allDay),
290
- periodStart: DateUtil.startOfDay(startOfView),
291
- periodEnd: DateUtil.endOfDay(endOfView),
292
- });
293
- return {
294
- events: dayViewEvents,
295
- width,
296
- allDayEvents,
297
- };
298
- }
299
- export function getDayViewHourGrid({ viewDate, hourSegments, dayStart, dayEnd, }) {
300
- const hours = [];
301
- const startOfView = DateUtil.setMinutes(DateUtil.setHours(DateUtil.startOfDay(viewDate), dayStart.hour), dayStart.minute);
302
- const endOfView = DateUtil.setMinutes(DateUtil.setHours(DateUtil.startOfMinute(DateUtil.endOfDay(viewDate)), dayEnd.hour), dayEnd.minute);
303
- const segmentDuration = MINUTES_IN_HOUR / hourSegments;
304
- const startOfViewDay = DateUtil.startOfDay(viewDate);
305
- for (let i = 0; i < HOURS_IN_DAY; i++) {
306
- const segments = [];
307
- for (let j = 0; j < hourSegments; j++) {
308
- const date = addMinutes(addHours(startOfViewDay, i), j * segmentDuration);
309
- if (date >= startOfView && date < endOfView) {
310
- segments.push({
311
- date,
312
- isStart: j === 0,
313
- });
314
- }
315
- }
316
- if (segments.length > 0) {
317
- hours.push({ segments });
318
- }
319
- }
320
- return hours;
321
- }
322
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FsZW5kYXJVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25vdm8tZWxlbWVudHMvc3JjL3V0aWxzL2NhbGVuZGFyLXV0aWxzL0NhbGVuZGFyVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQU8sbUJBQW1CLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFbkMsTUFBTSxtQkFBbUIsR0FBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMxQyxNQUFNLFlBQVksR0FBVyxDQUFDLENBQUM7QUFDL0IsTUFBTSxZQUFZLEdBQVcsRUFBRSxDQUFDO0FBQ2hDLE1BQU0sZUFBZSxHQUFXLEVBQUUsQ0FBQztBQUVuQyxNQUFNLENBQU4sSUFBWSxxQkFJWDtBQUpELFdBQVkscUJBQXFCO0lBQy9CLG1FQUFLLENBQUE7SUFDTCx5RUFBUSxDQUFBO0lBQ1IseUVBQVEsQ0FBQTtBQUNWLENBQUMsRUFKVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBSWhDO0FBZ0lELFNBQVMsZUFBZSxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQXlEO0lBQzNHLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFDRCxJQUFJLEdBQUcsR0FBVyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDckMsSUFBSSxNQUFNLEdBQVcsQ0FBQyxDQUFDO0lBQ3ZCLEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUN0QyxJQUFJLEdBQUcsS0FBSyxZQUFZLEVBQUUsQ0FBQztZQUN6QixHQUFHLEdB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LEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM5QyxNQUFNLFFBQVEsR0FBeUIsRUFBRSxDQUFDO1FBQzFDLEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM5QyxNQUFNLElBQUksR0FBUyxVQUFVLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsZUFBZSxDQUFDLENBQUM7WUFDaEYsSUFBSSxJQUFJLElBQUksV0FBVyxJQUFJLElBQUksR0FBRyxTQUFTLEVBQUUsQ0FBQztnQkFDNUMsUUFBUSxDQUFDLElBQUksQ0FBQztvQkFDWixJQUFJO29CQUNKLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztpQkFDakIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDeEIsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZGRIb3VycywgYWRkTWludXRlcywgRGF5LCBkaWZmZXJlbmNlSW5NaW51dGVzLCBnZXREYXkgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBEYXRlVXRpbCB9IGZyb20gJy4uL2RhdGUnO1xuXG5jb25zdCBXRUVLRU5EX0RBWV9OVU1CRVJTOiBEYXlbXSA9IFswLCA2XTtcbmNvbnN0IERBWVNfSU5fV0VFSzogbnVtYmVyID0gNztcbmNvbnN0IEhPVVJTX0lOX0RBWTogbnVtYmVyID0gMjQ7XG5jb25zdCBNSU5VVEVTX0lOX0hPVVI6IG51bWJlciA9IDYwO1xuXG5leHBvcnQgZW51bSBDYWxlbmRhckV2ZW50UmVzcG9uc2Uge1xuICBNYXliZSxcbiAgQWNjZXB0ZWQsXG4gIFJlamVjdGVkLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyRXZlbnRUaW1lc0NoYW5nZWRFdmVudCB7XG4gIGV2ZW50OiBDYWxlbmRhckV2ZW50O1xuICBuZXdTdGFydDogRGF0ZTtcbiAgbmV3RW5kPzogRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXZWVrRGF5IHtcbiAgZGF0ZTogRGF0ZTtcbiAgaXNQYXN0OiBib29sZWFuO1xuICBpc1RvZGF5OiBib29sZWFuO1xuICBpc0Z1dHVyZTogYm9vbGVhbjtcbiAgaXNXZWVrZW5kOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50Q29sb3Ige1xuICBwcmltYXJ5OiBzdHJpbmc7XG4gIHNlY29uZGFyeTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50QWN0aW9uIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIG9uQ2xpY2soeyBldmVudCB9OiB7IGV2ZW50OiBDYWxlbmRhckV2ZW50IH0pOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsZW5kYXJFdmVudCB7XG4gIGlkPzogbnVtYmVyO1xuICBzdGFydDogRGF0ZTtcbiAgZW5kPzogRGF0ZTtcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGNvbG9yOiBFdmVudENvbG9yO1xuICB0eXBlPzogc3RyaW5nO1xuICByZXNwb25zZT86IENhbGVuZGFyRXZlbnRSZXNwb25zZTtcbiAgYWN0aW9ucz86IEV2ZW50QWN0aW9uW107XG4gIGFsbERheT86IGJvb2xlYW47XG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuICByZXNpemFibGU/OiB7XG4gICAgYmVmb3JlU3RhcnQ/OiBib29sZWFuO1xuICAgIGFmdGVyRW5kPzogYm9vbGVhbjtcbiAgfTtcbiAgZHJhZ2dhYmxlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXZWVrVmlld0V2ZW50IHtcbiAgZXZlbnQ6IENhbGVuZGFyRXZlbnQ7XG4gIG9mZnNldDogbnVtYmVyO1xuICBzcGFuOiBudW1iZXI7XG4gIHN0YXJ0c0JlZm9yZVdlZWs6IGJvb2xlYW47XG4gIGVuZHNBZnRlcldlZWs6IGJvb2xlYW47XG4gIHRvcD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdlZWtWaWV3RXZlbnRSb3cge1xuICByb3c6IFdlZWtWaWV3RXZlbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb250aFZpZXdEYXkgZXh0ZW5kcyBXZWVrRGF5IHtcbiAgaW5Nb250aDogYm9vbGVhbjtcbiAgZXZlbnRzOiBDYWxlbmRhckV2ZW50W107XG4gIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIGJhZGdlVG90YWw6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb250aFZpZXcge1xuICByb3dPZmZzZXRzOiBudW1iZXJbXTtcbiAgZGF5czogTW9udGhWaWV3RGF5W107XG4gIHRvdGFsRGF5c1Zpc2libGVJbldlZWs6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXlWaWV3RXZlbnQge1xuICBldmVudDogQ2FsZW5kYXJFdmVudDtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG4gIHRvcDogbnVtYmVyO1xuICBsZWZ0OiBudW1iZXI7XG4gIHN0YXJ0c0JlZm9yZURheTogYm9vbGVhbjtcbiAgZW5kc0FmdGVyRGF5OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERheVZpZXcge1xuICBldmVudHM6IERheVZpZXdFdmVudFtdO1xuICB3aWR0aDogbnVtYmVyO1xuICBhbGxEYXlFdmVudHM6IENhbGVuZGFyRXZlbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXlWaWV3SG91clNlZ21lbnQge1xuICBpc1N0YXJ0OiBib29sZWFuO1xuICBkYXRlOiBEYXRlO1xuICBjc3NDbGFzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXlWaWV3SG91ciB7XG4gIHNlZ21lbnRzOiBEYXlWaWV3SG91clNlZ21lbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJc0V2ZW50SW5QZXJpb2RBcmdzIHtcbiAgZXZlbnQ6IENhbGVuZGFyRXZlbnQ7XG4gIHBlcmlvZFN0YXJ0OiBEYXRlO1xuICBwZXJpb2RFbmQ6IERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0RXZlbnRzSW5QZXJpb2RBcmdzIHtcbiAgZXZlbnRzOiBDYWxlbmRhckV2ZW50W107XG4gIHBlcmlvZFN0YXJ0OiBEYXRlO1xuICBwZXJpb2RFbmQ6IERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0RGF5Vmlld0FyZ3Mge1xuICBldmVudHM/OiBDYWxlbmRhckV2ZW50W107XG4gIHZpZXdEYXRlOiBEYXRlO1xuICBob3VyU2VnbWVudHM6IG51bWJlcjtcbiAgZGF5U3RhcnQ6IHtcbiAgICBob3VyOiBudW1iZXI7XG4gICAgbWludXRlOiBudW1iZXI7XG4gIH07XG4gIGRheUVuZDoge1xuICAgIGhvdXI6IG51bWJlcjtcbiAgICBtaW51dGU6IG51bWJlcjtcbiAgfTtcbiAgZXZlbnRXaWR0aDogbnVtYmVyO1xuICBzZWdtZW50SGVpZ2h0OiBudW1iZXI7XG59XG5cbmZ1bmN0aW9uIGdldEV4Y2x1ZGVkRGF5cyh7IHN0YXJ0RGF0ZSwgZGF5cywgZXhjbHVkZWQgfTogeyBzdGFydERhdGU6IERhdGU7IGRheXM6IG51bWJlcjsgZXhjbHVkZWQ6IG51bWJlcltdIH0pOiBudW1iZXIge1xuICBpZiAoZXhjbHVkZWQubGVuZ3RoIDwgMSkge1xuICAgIHJldHVybiAwO1xuICB9XG4gIGxldCBkYXk6IG51bWJlciA9IHN0YXJ0RGF0ZS5nZXREYXkoKTtcbiAgbGV0IHJlZHVjZTogbnVtYmVyID0gMDtcbiAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IGRheXM7IGkrKykge1xuICAgIGlmIChkYXkgPT09IERBWVNfSU5fV0VFSykge1xuICAgICAgZGF5ID0gMDtcbiAgICB9XG4gICAgaWYgKGV4Y2x1ZGVkLnNvbWUoKGUpID0+IGUgPT09IGRheSkpIHtcbiAgICAgIHJlZHVjZSsrO1xuICAgIH1cbiAgICBkYXkrKztcbiAgfVxuICByZXR1cm4gcmVkdWNlO1xufVxuXG5mdW5jdGlvbiBnZXRXZWVrVmlld0V2ZW50U3Bhbih7XG4gIGV2ZW50LFxuICBvZmZzZXQsXG4gIHN0YXJ0T2ZXZWVrLFxuICBleGNsdWRlZCxcbn06IHtcbiAgZXZlbnQ6IENhbGVuZGFyRXZlbnQ7XG4gIG9mZnNldDogbnVtYmVyO1xuICBzdGFydE9mV2VlazogRGF0ZTtcbiAgZXhjbHVkZWQ6IG51bWJlcltdO1xufSk6IG51bWJlciB7XG4gIGNvbnN0IGJlZ2luOiBEYXRlID0gZXZlbnQuc3RhcnQgPCBzdGFydE9mV2VlayA/IHN0YXJ0T2ZXZWVrIDogZXZlbnQuc3RhcnQ7XG4gIGxldCBzcGFuOiBudW1iZXIgPSAxO1xuICBpZiAoZXZlbnQuZW5kKSB7XG4gICAgc3BhbiA9IERhdGVVdGlsLmRpZmZlcmVuY2VJbkRheXMoYWRkTWludXRlcyhEYXRlVXRpbC5lbmRPZkRheShldmVudC5lbmQpLCAxKSwgRGF0ZVV0aWwuc3RhcnRPZkRheShiZWdpbikpO1xuICB9XG4gIGNvbnN0IHRvdGFsTGVuZ3RoOiBudW1iZXIgPSBvZmZzZXQgKyBzcGFuO1xuICBpZiAodG90YWxMZW5ndGggPiBEQVlTX0lOX1dFRUspIHtcbiAgICBzcGFuID0gREFZU19JTl9XRUVLIC0gb2Zmc2V0O1xuICB9XG4gIHJldHVybiBzcGFuIC0gZ2V0RXhjbHVkZWREYXlzKHsgc3RhcnREYXRlOiBiZWdpbiwgZGF5czogc3BhbiwgZXhjbHVkZWQgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRXZWVrVmlld0V2ZW50T2Zmc2V0KHtcbiAgZXZlbnQsXG4gIHN0YXJ0T2ZXZWVrLFxuICBleGNsdWRlZCA9IFtdLFxufToge1xuICBldmVudDogQ2FsZW5kYXJFdmVudDtcbiAgc3RhcnRPZldlZWs6IERhdGU7XG4gIGV4Y2x1ZGVkPzogbnVtYmVyW107XG59KTogbnVtYmVyIHtcbiAgaWYgKGV2ZW50LnN0YXJ0IDwgc3RhcnRPZldlZWspIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuICBjb25zdCBkaXN0YW5jZTogbnVtYmVyID0gRGF0ZVV0aWwuZGlmZmVyZW5jZUluRGF5cyhldmVudC5zdGFydCwgc3RhcnRPZldlZWspO1xuICByZXR1cm4gZGlzdGFuY2UgLSBnZXRFeGNsdWRlZERheXMoeyBzdGFydERhdGU6IHN0YXJ0T2ZXZWVrLCBkYXlzOiBkaXN0YW5jZSwgZXhjbHVkZWQgfSk7XG59XG5cbmZ1bmN0aW9uIGlzRXZlbnRJc1BlcmlvZCh7IGV2ZW50LCBwZXJpb2RTdGFydCwgcGVyaW9kRW5kIH06IElzRXZlbnRJblBlcmlvZEFyZ3MpOiBib29sZWFuIHtcbiAgY29uc3QgZXZlbnRTdGFydDogRGF0ZSA9IGV2ZW50LnN0YXJ0O1xuICBjb25zdCBldmVudEVuZDogRGF0ZSA9IGV2ZW50LmVuZCB8fCBldmVudC5zdGFydDtcblxuICBpZiAoZXZlbnRTdGFydCA+IHBlcmlvZFN0YXJ0ICYmIGV2ZW50U3RhcnQgPCBwZXJpb2RFbmQpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChldmVudEVuZCA+IHBlcmlvZFN0YXJ0ICYmIGV2ZW50RW5kIDwgcGVyaW9kRW5kKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoZXZlbnRTdGFydCA8IHBlcmlvZFN0YXJ0ICYmIGV2ZW50RW5kID4gcGVyaW9kRW5kKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoRGF0ZVV0aWwuaXNTYW1lU2Vjb25kKGV2ZW50U3RhcnQsIHBlcmlvZFN0YXJ0KSB8fCBEYXRlVXRpbC5pc1NhbWVTZWNvbmQoZXZlbnRTdGFydCwgcGVyaW9kRW5kKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKERhdGVVdGlsLmlzU2FtZVNlY29uZChldmVudEVuZCwgcGVyaW9kU3RhcnQpIHx8IERhdGVVdGlsLmlzU2FtZVNlY29uZChldmVudEVuZCwgcGVyaW9kRW5kKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXRFdmVudHNJblBlcmlvZCh7IGV2ZW50cywgcGVyaW9kU3RhcnQsIHBlcmlvZEVuZCB9OiBHZXRFdmVudHNJblBlcmlvZEFyZ3MpOiBDYWxlbmRhckV2ZW50W10ge1xuICByZXR1cm4gZXZlbnRzLmZpbHRlcigoZXZlbnQ6IENhbGVuZGFyRXZlbnQpID0+IGlzRXZlbnRJc1BlcmlvZCh7IGV2ZW50LCBwZXJpb2RTdGFydCwgcGVyaW9kRW5kIH0pKTtcbn1cblxuZnVuY3Rpb24gZ2V0RXZlbnRzSW5UaW1lUmFuZ2UoZXZlbnRzOiBDYWxlbmRhckV2ZW50W10sIGRheVN0YXJ0OiBhbnksIGRheUVuZDogYW55KSB7XG4gIHJldHVybiBldmVudHMuZmlsdGVyKChldmVudCkgPT4ge1xuICAgIGNvbnN0IGV2ZW50U3RhcnQ6IERhdGUgPSBldmVudC5zdGFydDtcbiAgICBjb25zdCBldmVudEVuZDogRGF0ZSA9IGV2ZW50LmVuZCB8fCBldmVudFN0YXJ0O1xuXG4gICAgY29uc3Qgc3RhcnRPZlZpZXc6IERhdGUgPSBEYXRlVXRpbC5zZXRNaW51dGVzKERhdGVVdGlsLnNldEhvdXJzKERhdGVVdGlsLnN0YXJ0T2ZEYXkoZXZlbnRTdGFydCksIGRheVN0YXJ0LmhvdXIpLCBkYXlTdGFydC5taW51dGUpO1xuICAgIGNvbnN0IGVuZE9mVmlldzogRGF0ZSA9IERhdGVVdGlsLnNldE1pbnV0ZXMoRGF0ZVV0aWwuc2V0SG91cnMoRGF0ZVV0aWwuc3RhcnRPZk1pbnV0ZShldmVudFN0YXJ0KSwgZGF5RW5kLmhvdXIpLCBkYXlFbmQubWludXRlKTtcblxuICAgIHJldHVybiBEYXRlVXRpbC5pc0FmdGVyKGV2ZW50RW5kLCBzdGFydE9mVmlldykgJiYgRGF0ZVV0aWwuaXNCZWZvcmUoZXZlbnRTdGFydCwgZW5kT2ZWaWV3KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdldFdlZWtEYXkoeyBkYXRlIH06IHsgZGF0ZTogRGF0ZSB9KTogV2Vla0RheSB7XG4gIGNvbnN0IHRvZGF5OiBEYXRlID0gRGF0ZVV0aWwuc3RhcnRPZkRheShuZXcgRGF0ZSgpKTtcbiAgcmV0dXJuIHtcbiAgICBkYXRlLFxuICAgIGlzUGFzdDogZGF0ZSA8IHRvZGF5LFxuICAgIGlzVG9kYXk6IERhdGVVdGlsLmlzU2FtZURheShkYXRlLCB0b2RheSksXG4gICAgaXNGdXR1cmU6IGRhdGUgPiB0b2RheSxcbiAgICBpc1dlZWtlbmQ6IFdFRUtFTkRfREFZX05VTUJFUlMuaW5kZXhPZihnZXREYXkoZGF0ZSkpID4gLTEsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRXZWVrVmlld0hlYWRlcih7XG4gIHZpZXdEYXRlLFxuICB3ZWVrU3RhcnRzT24sXG4gIGV4Y2x1ZGVkID0gW10sXG59OiB7XG4gIHZpZXdEYXRlOiBEYXRlO1xuICB3ZWVrU3RhcnRzT246IERheTtcbiAgZXhjbHVkZWQ/OiBudW1iZXJbXTtcbn0pOiBXZWVrRGF5W10ge1xuICBjb25zdCBzdGFydDogRGF0ZSA9IERhdGVVdGlsLnN0YXJ0T2ZXZWVrKHZpZXdEYXRlLCB7IHdlZWtTdGFydHNPbiB9KTtcbiAgY29uc3QgZGF5czogV2Vla0RheVtdID0gW107XG4gIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBEQVlTX0lOX1dFRUs7IGkrKykge1xuICAgIGNvbnN0IGRhdGU6IERhdGUgPSBEYXRlVXRpbC5hZGREYXlzKHN0YXJ0LCBpKTtcbiAgICBpZiAoIWV4Y2x1ZGVkLnNvbWUoKGUpID0+IGRhdGUuZ2V0RGF5KCkgPT09IGUpKSB7XG4gICAgICBkYXlzLnB1c2goZ2V0V2Vla0RheSh7IGRhdGUgfSkpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkYXlzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0V2Vla1ZpZXcoe1xuICBldmVudHMgPSBbXSxcbiAgdmlld0RhdGUsXG4gIHdlZWtTdGFydHNPbixcbiAgZXhjbHVkZWQgPSBbXSxcbiAgaG91clNlZ21lbnRzLFxuICBzZWdtZW50SGVpZ2h0LFxuICBkYXlTdGFydCxcbiAgZGF5RW5kLFxufToge1xuICBldmVudHM/OiBDYWxlbmRhckV2ZW50W107XG4gIHZpZXdEYXRlOiBEYXRlO1xuICB3ZWVrU3RhcnRzT246IERheTtcbiAgZXhjbHVkZWQ/OiBudW1iZXJbXTtcbiAgaG91clNlZ21lbnRzOiBudW1iZXI7XG4gIHNlZ21lbnRIZWlnaHQ6IG51bWJlcjtcbiAgZGF5U3RhcnQ6IGFueTtcbiAgZGF5RW5kOiBhbnk7XG59KTogV2Vla1ZpZXdFdmVudFJvd1tdIHtcbiAgaWYgKCFldmVudHMpIHtcbiAgICBldmVudHMgPSBbXTtcbiAgfVxuXG4gIGNvbnN0IHN0YXJ0T2ZWaWV3V2VlazogRGF0ZSA9IERhdGVVdGlsLnN0YXJ0T2ZXZWVrKHZpZXdEYXRlLCB7IHdlZWtTdGFydHNPbiB9KTtcbiAgY29uc3QgZW5kT2ZWaWV3V2VlazogRGF0ZSA9IERhdGVVdGlsLmVuZE9mV2Vlayh2aWV3RGF0ZSwgeyB3ZWVrU3RhcnRzT24gfSk7XG4gIGNvbnN0IG1heFJhbmdlOiBudW1iZXIgPSBEQVlTX0lOX1dFRUsgLSBleGNsdWRlZC5sZW5ndGg7XG5cbiAgY29uc3QgZXZlbnRzTWFwcGVkOiBXZWVrVmlld0V2ZW50W10gPSBnZXRFdmVudHNJblRpbWVSYW5nZShcbiAgICBnZXRFdmVudHNJblBlcmlvZCh7IGV2ZW50cywgcGVyaW9kU3RhcnQ6IHN0YXJ0T2ZWaWV3V2VlaywgcGVyaW9kRW5kOiBlbmRPZlZpZXdXZWVrIH0pLFxuICAgIGRheVN0YXJ0LFxuICAgIGRheUVuZCxcbiAgKVxuICAgIC5tYXAoKGV2ZW50KSA9PiB7XG4gICAgICBjb25zdCBvZmZzZXQ6IG51bWJlciA9IGdldFdlZWtWaWV3RXZlbnRPZmZzZXQoeyBldmVudCwgc3RhcnRPZldlZWs6IHN0YXJ0T2ZWaWV3V2VlaywgZXhjbHVkZWQgfSk7XG4gICAgICBjb25zdCBzcGFuOiBudW1iZXIgPSAxOyAvLyBnZXRXZWVrVmlld0V2ZW50U3Bhbih7IGV2ZW50LCBvZmZzZXQsIHN0YXJ0T2ZXZWVrOiBzdGFydE9mVmlld1dlZWssIGV4Y2x1ZGVkIH0pO1xuICAgICAgcmV0dXJuIHsgZXZlbnQsIG9mZnNldCwgc3BhbiB9O1xuICAgIH0pXG4gICAgLmZpbHRlcigoZSkgPT4gZS5vZmZzZXQgPCBtYXhSYW5nZSlcbiAgICAuZmlsdGVyKChlKSA9PiBlLnNwYW4gPiAwKVxuICAgIC5tYXAoKGVudHJ5KSA9PiAoe1xuICAgICAgZXZlbnQ6IGVudHJ5LmV2ZW50LFxuICAgICAgb2Zmc2V0OiBlbnRyeS5vZmZzZXQsXG4gICAgICBzcGFuOiBlbnRyeS5zcGFuLFxuICAgICAgc3RhcnRzQmVmb3JlV2VlazogZW50cnkuZXZlbnQuc3RhcnQgPCBzdGFydE9mVmlld1dlZWssXG4gICAgICBlbmRzQWZ0ZXJXZWVrOiAoZW50cnkuZXZlbnQuZW5kIHx8IGVudHJ5LmV2ZW50LnN0YXJ0KSA+IGVuZE9mVmlld1dlZWssXG4gICAgICB0b3A6IDAsXG4gICAgfSkpXG4gICAgLnNvcnQoKGl0ZW1BLCBpdGVtQik6IG51bWJlciA9PiB7XG4gICAgICBjb25zdCBzdGFydFNlY29uZHNEaWZmOiBudW1iZXIgPSBEYXRlVXRpbC5kaWZmZXJlbmNlSW5TZWNvbmRzKGl0ZW1BLmV2ZW50LnN0YXJ0LCBpdGVtQi5ldmVudC5zdGFydCk7XG4gICAgICBpZiAoc3RhcnRTZWNvbmRzRGlmZiA9PT0gMCkge1xuICAgICAgICByZXR1cm4gRGF0ZVV0aWwuZGlmZmVyZW5jZUluU2Vjb25kcyhpdGVtQi5ldmVudC5lbmQgfHwgaXRlbUIuZXZlbnQuc3RhcnQsIGl0ZW1BLmV2ZW50LmVuZCB8fCBpdGVtQS5ldmVudC5zdGFydCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RhcnRTZWNvbmRzRGlmZjtcbiAgICB9KVxuICAgIC5tYXAoKGVudHJ5OiBXZWVrVmlld0V2ZW50KSA9PiB7XG4gICAgICBjb25zdCBzdGFydE9mVmlldzogRGF0ZSA9IERhdGVVdGlsLnNldE1pbnV0ZXMoRGF0ZVV0aWwuc2V0SG91cnMoRGF0ZVV0aWwuc3RhcnRPZkRheShlbnRyeS5ldmVudC5zdGFydCksIGRheVN0YXJ0LmhvdXIpLCBkYXlTdGFydC5taW51dGUpO1xuICAgICAgY29uc3QgZW5kT2ZWaWV3OiBEYXRlID0gRGF0ZVV0aWwuc2V0TWludXRlcyhcbiAgICAgICAgRGF0ZVV0aWwuc2V0SG91cnMoRGF0ZVV0aWwuc3RhcnRPZk1pbnV0ZShEYXRlVXRpbC5lbmRPZkRheShlbnRyeS5ldmVudC5zdGFydCkpLCBkYXlFbmQuaG91ciksXG4gICAgICAgIGRheUVuZC5taW51dGUsXG4gICAgICApO1xuXG4gICAgICBjb25zdCBldmVudFN0YXJ0OiBEYXRlID0gZW50cnkuZXZlbnQuc3RhcnQ7XG4gICAgICBjb25zdCBldmVudEVuZDogRGF0ZSA9IGVudHJ5LmV2ZW50LmVuZCB8fCBldmVudFN0YXJ0O1xuXG4gICAgICBjb25zdCBob3VySGVpZ2h0TW9kaWZpZXI6IG51bWJlciA9IChob3VyU2VnbWVudHMgKiBzZWdtZW50SGVpZ2h0KSAvIE1JTlVURVNfSU5fSE9VUjtcblxuICAgICAgaWYgKGV2ZW50U3RhcnQgPiBzdGFydE9mVmlldykge1xuICAgICAgICBlbnRyeS50b3AgKz0gZGlmZmVyZW5jZUluTWludXRlcyhldmVudFN0YXJ0LCBzdGFydE9mVmlldyk7XG4gICAgICB9XG5cbiAgICAgIGVudHJ5LnRvcCAqPSBob3VySGVpZ2h0TW9kaWZpZXI7XG5cbiAgICAgIGNvbnN0IHN0YXJ0c0JlZm9yZURheTogYm9vbGVhbiA9IGV2ZW50U3RhcnQgPCBzdGFydE9mVmlldztcbiAgICAgIGNvbnN0IGVuZHNBZnRlckRheTogYm9vbGVhbiA9IGV2ZW50RW5kID4gZW5kT2ZWaWV3O1xuXG4gICAgICBjb25zdCBzdGFydERhdGU6IERhdGUgPSBzdGFydHNCZWZvcmVEYXkgPyBzdGFydE9mVmlldyA6IGV2ZW50U3RhcnQ7XG4gICAgICBjb25zdCBlbmREYXRlOiBEYXRlID0gZW5kc0FmdGVyRGF5ID8gZW5kT2ZWaWV3IDogZXZlbnRFbmQ7XG5cbiAgICAgIGxldCBoZWlnaHQ6IG51bWJlciA9IGRpZmZlcmVuY2VJbk1pbnV0ZXMoZW5kRGF0ZSwgc3RhcnREYXRlKTtcblxuICAgICAgaWYgKCFlbnRyeS5ldmVudC5lbmQpIHtcbiAgICAgICAgaGVpZ2h0ID0gc2VnbWVudEhlaWdodDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGhlaWdodCAqPSBob3VySGVpZ2h0TW9kaWZpZXI7XG4gICAgICB9XG5cbiAgICAgIGVudHJ5LmhlaWdodCA9IGhlaWdodDtcblxuICAgICAgcmV0dXJuIGVudHJ5O1xuICAgIH0pO1xuXG4gIGNvbnN0IGV2ZW50Um93czogV2Vla1ZpZXdFdmVudFJvd1tdID0gW107XG4gIGNvbnN0IGFsbG9jYXRlZEV2ZW50czogV2Vla1ZpZXdFdmVudFtdID0gW107XG5cbiAgZXZlbnRzTWFwcGVkLmZvckVhY2goKGV2ZW50OiBXZWVrVmlld0V2ZW50LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgaWYgKGFsbG9jYXRlZEV2ZW50cy5pbmRleE9mKGV2ZW50KSA9PT0gLTEpIHtcbiAgICAgIGFsbG9jYXRlZEV2ZW50cy5wdXNoKGV2ZW50KTtcblxuICAgICAgY29uc3Qgb3RoZXJSb3dFdmVudHM6IFdlZWtWaWV3RXZlbnRbXSA9IGV2ZW50c01hcHBlZC5zbGljZShpbmRleCArIDEpLmZpbHRlcigobmV4dEV2ZW50KSA9PiB7XG4gICAgICAgIHJldHVybiBuZXh0RXZlbnQudG9wID09PSBldmVudC50b3AgJiYgbmV4dEV2ZW50Lm9mZnNldCA9PT0gZXZlbnQub2Zmc2V0O1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChvdGhlclJvd0V2ZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IHRvdGFsRXZlbnRzRm9yUm93ID0gb3RoZXJSb3dFdmVudHMubGVuZ3RoICsgMTtcblxuICAgICAgICBldmVudC5zcGFuID0gMSAvIHRvdGFsRXZlbnRzRm9yUm93O1xuXG4gICAgICAgIGxldCBuZXh0T2Zmc2V0ID0gZXZlbnQuc3BhbiArIGV2ZW50Lm9mZnNldDtcblxuICAgICAgICBvdGhlclJvd0V2ZW50cy5mb3JFYWNoKChuZXh0RXZlbnQ6IFdlZWtWaWV3RXZlbnQpID0+IHtcbiAgICAgICAgICBuZXh0RXZlbnQub2Zmc2V0ID0gbmV4dE9mZnNldDtcbiAgICAgICAgICBuZXh0RXZlbnQuc3BhbiA9IGV2ZW50LnNwYW47XG4gICAgICAgICAgbmV4dE9mZnNldCA9IG5leHRFdmVudC5zcGFuICsgbmV4dEV2ZW50Lm9mZnNldDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYWxsb2NhdGVkRXZlbnRzLnB1c2goLi4ub3RoZXJSb3dFdmVudHMpO1xuICAgICAgfVxuXG4gICAgICBldmVudFJvd3MucHVzaCh7XG4gICAgICAgIHJvdzogW2V2ZW50LCAuLi5vdGhlclJvd0V2ZW50c10sXG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBldmVudFJvd3M7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNb250aFZpZXcoe1xuICBldmVudHMgPSBbXSxcbiAgdmlld0RhdGUsXG4gIHdlZWtTdGFydHNPbixcbiAgZXhjbHVkZWQgPSBbXSxcbn06IHtcbiAgZXZlbnRzPzogQ2FsZW5kYXJFdmVudFtdO1xuICB2aWV3RGF0ZTogRGF0ZTtcbiAgd2Vla1N0YXJ0c09uOiBEYXk7XG4gIGV4Y2x1ZGVkPzogbnVtYmVyW107XG59KTogTW9udGhWaWV3IHtcbiAgaWYgKCFldmVudHMpIHtcbiAgICBldmVudHMgPSBbXTtcbiAgfVxuXG4gIGNvbnN0IHN0YXJ0OiBEYXRlID0gRGF0ZVV0aWwuc3RhcnRPZldlZWsoRGF0ZVV0aWwuc3RhcnRPZk1vbnRoKHZpZXdEYXRlKSwgeyB3ZWVrU3RhcnRzT24gfSk7XG4gIGNvbnN0IGVuZDogRGF0ZSA9IERhdGVVdGlsLmVuZE9mV2VlayhEYXRlVXRpbC5lbmRPZk1vbnRoKHZpZXdEYXRlKSwgeyB3ZWVrU3RhcnRzT24gfSk7XG4gIGNvbnN0IGV2ZW50c0luTW9udGg6IENhbGVuZGFyRXZlbnRbXSA9IGdldEV2ZW50c0luUGVyaW9kKHtcbiAgICBldmVudHMsXG4gICAgcGVyaW9kU3RhcnQ6IHN0YXJ0LFxuICAgIHBlcmlvZEVuZDogZW5kLFxuICB9KTtcbiAgY29uc3QgZGF5czogTW9udGhWaWV3RGF5W10gPSBbXTtcbiAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IERhdGVVdGlsLmRpZmZlcmVuY2VJbkRheXMoZW5kLCBzdGFydCkgKyAxOyBpKyspIHtcbiAgICBjb25zdCBkYXRlOiBEYXRlID0gRGF0ZVV0aWwuYWRkRGF5cyhzdGFydCwgaSk7XG4gICAgaWYgKCFleGNsdWRlZC5zb21lKChlKSA9PiBkYXRlLmdldERheSgpID09PSBlKSkge1xuICAgICAgY29uc3QgZGF5OiBNb250aFZpZXdEYXkgPSBnZXRXZWVrRGF5KHsgZGF0ZSB9KSBhcyBNb250aFZpZXdEYXk7XG4gICAgICBjb25zdCBjYWxFdmVudHM6IENhbGVuZGFyRXZlbnRbXSA9IGdldEV2ZW50c0luUGVyaW9kKHtcbiAgICAgICAgZXZlbnRzOiBldmVudHNJbk1vbnRoLFxuICAgICAgICBwZXJpb2RTdGFydDogRGF0ZVV0aWwuc3RhcnRPZkRheShkYXRlKSxcbiAgICAgICAgcGVyaW9kRW5kOiBEYXRlVXRpbC5lbmRPZkRheShkYXRlKSxcbiAgICAgIH0pO1xuICAgICAgZGF5LmluTW9udGggPSBEYXRlVXRpbC5pc1NhbWVNb250aChkYXRlLCB2aWV3RGF0ZSk7XG4gICAgICBkYXkuZXZlbnRzID0gY2FsRXZlbnRzO1xuICAgICAgZGF5LmJhZGdlVG90YWwgPSBjYWxFdmVudHMubGVuZ3RoO1xuICAgICAgZGF5cy5wdXNoKGRheSk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgdG90YWxEYXlzVmlzaWJsZUluV2VlazogbnVtYmVyID0gREFZU19JTl9XRUVLIC0gZXhjbHVkZWQubGVuZ3RoO1xuICBjb25zdCByb3dzOiBudW1iZXIgPSBNYXRoLmZsb29yKGRheXMubGVuZ3RoIC8gdG90YWxEYXlzVmlzaWJsZUluV2Vlayk7XG4gIGNvbnN0IHJvd09mZnNldHM6IG51bWJlcltdID0gW107XG4gIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCByb3dzOyBpKyspIHtcbiAgICByb3dPZmZzZXRzLnB1c2goaSAqIHRvdGFsRGF5c1Zpc2libGVJbldlZWspO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICByb3dPZmZzZXRzLFxuICAgIHRvdGFsRGF5c1Zpc2libGVJbldlZWssXG4gICAgZGF5cyxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERheVZpZXcoeyBldmVudHMgPSBbXSwgdmlld0RhdGUsIGhvdXJTZWdtZW50cywgZGF5U3RhcnQsIGRheUVuZCwgZXZlbnRXaWR0aCwgc2VnbWVudEhlaWdodCB9OiBHZXREYXlWaWV3QXJncyk6IERheVZpZXcge1xuICBpZiAoIWV2ZW50cykge1xuICAgIGV2ZW50cyA9IFtdO1xuICB9XG5cbiAgY29uc3Qgc3RhcnRPZlZpZXc6IERhdGUgPSBEYXRlVXRpbC5zZXRNaW51dGVzKERhdGVVdGlsLnNldEhvdXJzKERhdGVVdGlsLnN0YXJ0T2ZEYXkodmlld0RhdGUpLCBkYXlTdGFydC5ob3VyKSwgZGF5U3RhcnQubWludXRlKTtcbiAgY29uc3QgZW5kT2ZWaWV3OiBEYXRlID0gRGF0ZVV0aWwuc2V0TWludXRlcyhcbiAgICBEYXRlVXRpbC5zZXRIb3VycyhEYXRlVXRpbC5zdGFydE9mTWludXRlKERhdGVVdGlsLmVuZE9mRGF5KHZpZXdEYXRlKSksIGRheUVuZC5ob3VyKSxcbiAgICBkYXlFbmQubWludXRlLFxuICApO1xuICBjb25zdCBwcmV2aW91c0RheUV2ZW50czogRGF5Vmlld0V2ZW50W10gPSBbXTtcblxuICBjb25zdCBkYXlWaWV3RXZlbnRzOiBEYXlWaWV3RXZlbnRbXSA9IGdldEV2ZW50c0luVGltZVJhbmdlKFxuICAgIGdldEV2ZW50c0luUGVyaW9kKHtcbiAgICAgIGV2ZW50czogZXZlbnRzLmZpbHRlcigoZXZlbnQ6IENhbGVuZGFyRXZlbnQpID0+ICFldmVudC5hbGxEYXkpLFxuICAgICAgcGVyaW9kU3RhcnQ6IHN0YXJ0T2ZWaWV3LFxuICAgICAgcGVyaW9kRW5kOiBlbmRPZlZpZXcsXG4gICAgfSksXG4gICAgZGF5U3RhcnQsXG4gICAgZGF5RW5kLFxuICApXG4gICAgLnNvcnQoKGV2ZW50QTogQ2FsZW5kYXJFdmVudCwgZXZlbnRCOiBDYWxlbmRhckV2ZW50KSA9PiB7XG4gICAgICByZXR1cm4gZXZlbnRBLnN0YXJ0LnZhbHVlT2YoKSAtIGV2ZW50Qi5zdGFydC52YWx1ZU9mKCk7XG4gICAgfSlcbiAgICAubWFwKChldmVudDogQ2FsZW5kYXJFdmVudCkgPT4ge1xuICAgICAgY29uc3QgZXZlbnRTdGFydDogRGF0ZSA9IGV2ZW50LnN0YXJ0O1xuICAgICAgY29uc3QgZXZlbnRFbmQ6IERhdGUgPSBldmVudC5lbmQgfHwgZXZlbnRTdGFydDtcbiAgICAgIGNvbnN0IHN0YXJ0c0JlZm9yZURheTogYm9vbGVhbiA9IGV2ZW50U3RhcnQgPCBzdGFydE9mVmlldztcbiAgICAgIGNvbnN0IGVuZHNBZnRlckRheTogYm9vbGVhbiA9IGV2ZW50RW5kID4gZW5kT2ZWaWV3O1xuICAgICAgY29uc3QgaG91ckhlaWdodE1vZGlmaWVyOiBudW1iZXIgPSAoaG91clNlZ21lbnRzICogc2VnbWVudEhlaWdodCkgLyBNSU5VVEVTX0lOX0hPVVI7XG5cbiAgICAgIGxldCB0b3A6IG51bWJlciA9IDA7XG5cbiAgICAgIGlmIChldmVudFN0YXJ0ID4gc3RhcnRPZlZpZXcpIHtcbiAgICAgICAgdG9wICs9IGRpZmZlcmVuY2VJbk1pbnV0ZXMoZXZlbnRTdGFydCwgc3RhcnRPZlZpZXcpO1xuICAgICAgfVxuXG4gICAgICB0b3AgKj0gaG91ckhlaWdodE1vZGlmaWVyO1xuXG4gICAgICBjb25zdCBzdGFydERhdGU6IERhdGUgPSBzdGFydHNCZWZvcmVEYXkgPyBzdGFydE9mVmlldyA6IGV2ZW50U3RhcnQ7XG4gICAgICBjb25zdCBlbmREYXRlOiBEYXRlID0gZW5kc0FmdGVyRGF5ID8gZW5kT2ZWaWV3IDogZXZlbnRFbmQ7XG5cbiAgICAgIGxldCBoZWlnaHQ6IG51bWJlciA9IGRpZmZlcmVuY2VJbk1pbnV0ZXMoZW5kRGF0ZSwgc3RhcnREYXRlKTtcblxuICAgICAgaWYgKCFldmVudC5lbmQpIHtcbiAgICAgICAgaGVpZ2h0ID0gc2VnbWVudEhlaWdodDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGhlaWdodCAqPSBob3VySGVpZ2h0TW9kaWZpZXI7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGJvdHRvbTogbnVtYmVyID0gdG9wICsgaGVpZ2h0O1xuXG4gICAgICBjb25zdCBvdmVybGFwcGluZ1ByZXZpb3VzRXZlbnRzOiBEYXlWaWV3RXZlbnRbXSA9IHByZXZpb3VzRGF5RXZlbnRzLmZpbHRlcigocHJldmlvdXNFdmVudDogRGF5Vmlld0V2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzRXZlbnRUb3A6IG51bWJlciA9IHByZXZpb3VzRXZlbnQudG9wO1xuICAgICAgICBjb25zdCBwcmV2aW91c0V2ZW50Qm90dG9tOiBudW1iZXIgPSBwcmV2aW91c0V2ZW50LnRvcCArIHByZXZpb3VzRXZlbnQuaGVpZ2h0O1xuXG4gICAgICAgIGlmICh0b3AgPCBwcmV2aW91c0V2ZW50Qm90dG9tICYmIHByZXZpb3VzRXZlbnRCb3R0b20gPCBib3R0b20pIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmIChwcmV2aW91c0V2ZW50VG9wIDw9IHRvcCAmJiBib3R0b20gPD0gcHJldmlvdXNFdmVudEJvdHRvbSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSk7XG5cbiAgICAgIGxldCBsZWZ0OiBudW1iZXIgPSAwO1xuXG4gICAgICB3aGlsZSAob3ZlcmxhcHBpbmdQcmV2aW91c0V2ZW50cy5zb21lKChwcmV2aW91c0V2ZW50KSA9PiBwcmV2aW91c0V2ZW50LmxlZnQgPT09IGxlZnQpKSB7XG4gICAgICAgIGxlZnQgKz0gZXZlbnRXaWR0aDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZGF5RXZlbnQ6IERheVZpZXdFdmVudCA9IHtcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIGhlaWdodCxcbiAgICAgICAgd2lkdGg6IGV2ZW50V2lkdGgsXG4gICAgICAgIHRvcCxcbiAgICAgICAgbGVmdCxcbiAgICAgICAgc3RhcnRzQmVmb3JlRGF5LFxuICAgICAgICBlbmRzQWZ0ZXJEYXksXG4gICAgICB9O1xuXG4gICAgICBpZiAoaGVpZ2h0ID4gMCkge1xuICAgICAgICBwcmV2aW91c0RheUV2ZW50cy5wdXNoKGRheUV2ZW50KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGRheUV2ZW50O1xuICAgIH0pXG4gICAgLmZpbHRlcigoZGF5RXZlbnQ6IERheVZpZXdFdmVudCkgPT4gZGF5RXZlbnQuaGVpZ2h0ID4gMCk7XG5cbiAgY29uc3Qgd2lkdGg6IG51bWJlciA9IE1hdGgubWF4KC4uLmRheVZpZXdFdmVudHMubWFwKChldmVudDogRGF5Vmlld0V2ZW50KSA9PiBldmVudC5sZWZ0ICsgZXZlbnQud2lkdGgpKTtcbiAgY29uc3QgYWxsRGF5RXZlbnRzOiBDYWxlbmRhckV2ZW50W10gPSBnZXRFdmVudHNJblBlcmlvZCh7XG4gICAgZXZlbnRzOiBldmVudHMuZmlsdGVyKChldmVudDogQ2FsZW5kYXJFdmVudCkgPT4gZXZlbnQuYWxsRGF5KSxcbiAgICBwZXJpb2RTdGFydDogRGF0ZVV0aWwuc3RhcnRPZkRheShzdGFydE9mVmlldyksXG4gICAgcGVyaW9kRW5kOiBEYXRlVXRpbC5lbmRPZkRheShlbmRPZlZpZXcpLFxuICB9KTtcblxuICByZXR1cm4ge1xuICAgIGV2ZW50czogZGF5Vmlld0V2ZW50cyxcbiAgICB3aWR0aCxcbiAgICBhbGxEYXlFdmVudHMsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREYXlWaWV3SG91ckdyaWQoe1xuICB2aWV3RGF0ZSxcbiAgaG91clNlZ21lbnRzLFxuICBkYXlTdGFydCxcbiAgZGF5RW5kLFxufToge1xuICB2aWV3RGF0ZTogRGF0ZTtcbiAgaG91clNlZ21lbnRzOiBudW1iZXI7XG4gIGRheVN0YXJ0OiBhbnk7XG4gIGRheUVuZDogYW55O1xufSk6IERheVZpZXdIb3VyW10ge1xuICBjb25zdCBob3VyczogRGF5Vmlld0hvdXJbXSA9IFtdO1xuXG4gIGNvbnN0IHN0YXJ0T2ZWaWV3OiBEYXRlID0gRGF0ZVV0aWwuc2V0TWludXRlcyhEYXRlVXRpbC5zZXRIb3VycyhEYXRlVXRpbC5zdGFydE9mRGF5KHZpZXdEYXRlKSwgZGF5U3RhcnQuaG91ciksIGRheVN0YXJ0Lm1pbnV0ZSk7XG4gIGNvbnN0IGVuZE9mVmlldzogRGF0ZSA9IERhdGVVdGlsLnNldE1pbnV0ZXMoXG4gICAgRGF0ZVV0aWwuc2V0SG91cnMoRGF0ZVV0aWwuc3RhcnRPZk1pbnV0ZShEYXRlVXRpbC5lbmRPZkRheSh2aWV3RGF0ZSkpLCBkYXlFbmQuaG91ciksXG4gICAgZGF5RW5kLm1pbnV0ZSxcbiAgKTtcbiAgY29uc3Qgc2VnbWVudER1cmF0aW9uOiBudW1iZXIgPSBNSU5VVEVTX0lOX0hPVVIgLyBob3VyU2VnbWVudHM7XG4gIGNvbnN0IHN0YXJ0T2ZWaWV3RGF5OiBEYXRlID0gRGF0ZVV0aWwuc3RhcnRPZkRheSh2aWV3RGF0ZSk7XG5cbiAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IEhPVVJTX0lOX0RBWTsgaSsrKSB7XG4gICAgY29uc3Qgc2VnbWVudHM6IERheVZpZXdIb3VyU2VnbWVudFtdID0gW107XG4gICAgZm9yIChsZXQgajogbnVtYmVyID0gMDsgaiA8IGhvdXJTZWdtZW50czsgaisrKSB7XG4gICAgICBjb25zdCBkYXRlOiBEYXRlID0gYWRkTWludXRlcyhhZGRIb3VycyhzdGFydE9mVmlld0RheSwgaSksIGogKiBzZWdtZW50RHVyYXRpb24pO1xuICAgICAgaWYgKGRhdGUgPj0gc3RhcnRPZlZpZXcgJiYgZGF0ZSA8IGVuZE9mVmlldykge1xuICAgICAgICBzZWdtZW50cy5wdXNoKHtcbiAgICAgICAgICBkYXRlLFxuICAgICAgICAgIGlzU3RhcnQ6IGogPT09IDAsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoc2VnbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgaG91cnMucHVzaCh7IHNlZ21lbnRzIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBob3Vycztcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './CalendarUtils';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy91dGlscy9jYWxlbmRhci11dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9DYWxlbmRhclV0aWxzJztcbiJdfQ==