@energycap/components 0.41.0 → 0.41.1-ECAP-27592-angular-17.20241220-1140

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 (258) hide show
  1. package/{esm2020 → esm2022}/energycap-components.mjs +4 -4
  2. package/{esm2020 → esm2022}/lib/components.module.mjs +418 -418
  3. package/{esm2020 → esm2022}/lib/controls/banner/banner.component.mjs +109 -109
  4. package/{esm2020 → esm2022}/lib/controls/button/button.component.mjs +106 -106
  5. package/{esm2020 → esm2022}/lib/controls/button/copy-button-base.directive.mjs +67 -67
  6. package/{esm2020 → esm2022}/lib/controls/button/copy-button.directive.mjs +28 -28
  7. package/{esm2020 → esm2022}/lib/controls/button/copy-table-button.directive.mjs +43 -43
  8. package/{esm2020 → esm2022}/lib/controls/calendar/calendar-item.component.mjs +59 -59
  9. package/{esm2020 → esm2022}/lib/controls/calendar/calendar.component.mjs +200 -200
  10. package/{esm2020 → esm2022}/lib/controls/calendar/calendar.types.mjs +3 -3
  11. package/{esm2020 → esm2022}/lib/controls/checkbox/checkbox.component.mjs +140 -140
  12. package/{esm2020 → esm2022}/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +38 -38
  13. package/{esm2020 → esm2022}/lib/controls/combobox/combobox.component.mjs +879 -879
  14. package/{esm2020 → esm2022}/lib/controls/date-input/date-input.component.mjs +256 -256
  15. package/{esm2020 → esm2022}/lib/controls/dropdown/dropdown.component.mjs +243 -243
  16. package/{esm2020 → esm2022}/lib/controls/file-upload/file-upload.component.mjs +261 -261
  17. package/{esm2020 → esm2022}/lib/controls/form-control/form-control.component.mjs +104 -104
  18. package/{esm2020 → esm2022}/lib/controls/form-control-base.mjs +151 -151
  19. package/{esm2020 → esm2022}/lib/controls/form-control-label/form-control-label.component.mjs +136 -136
  20. package/{esm2020 → esm2022}/lib/controls/form-group/form-group.component.mjs +261 -261
  21. package/{esm2020 → esm2022}/lib/controls/help-popover/help-popover.component.mjs +31 -31
  22. package/{esm2020 → esm2022}/lib/controls/item-picker/item-picker.component.mjs +329 -329
  23. package/{esm2020 → esm2022}/lib/controls/link-button/link-button.component.mjs +11 -11
  24. package/{esm2020 → esm2022}/lib/controls/menu/menu.component.mjs +485 -485
  25. package/{esm2020 → esm2022}/lib/controls/navigation/link-item.mjs +1 -1
  26. package/{esm2020 → esm2022}/lib/controls/navigation/nav-group.mjs +38 -38
  27. package/{esm2020 → esm2022}/lib/controls/navigation/nav-item-active.directive.mjs +92 -92
  28. package/{esm2020 → esm2022}/lib/controls/navigation/nav-item.mjs +1 -1
  29. package/{esm2020 → esm2022}/lib/controls/numericbox/numericbox.component.mjs +372 -372
  30. package/{esm2020 → esm2022}/lib/controls/popover/popover.component.mjs +117 -117
  31. package/{esm2020 → esm2022}/lib/controls/radio-button/radio-button-option.mjs +2 -2
  32. package/{esm2020 → esm2022}/lib/controls/radio-button/radio-button.component.mjs +82 -82
  33. package/{esm2020 → esm2022}/lib/controls/select/select.component.mjs +88 -88
  34. package/{esm2020 → esm2022}/lib/controls/tabs/tabs.component.mjs +47 -47
  35. package/{esm2020 → esm2022}/lib/controls/textbox/textbox.component.mjs +155 -155
  36. package/{esm2020 → esm2022}/lib/core/cache.service.mjs +105 -105
  37. package/esm2022/lib/core/custom-validators.mjs +29 -0
  38. package/esm2022/lib/core/date-time-helper.mjs +220 -0
  39. package/{esm2020 → esm2022}/lib/core/error.service.mjs +61 -61
  40. package/{esm2020 → esm2022}/lib/core/router-helper.service.mjs +111 -111
  41. package/{esm2020 → esm2022}/lib/core/scroll.service.mjs +89 -89
  42. package/{esm2020 → esm2022}/lib/core/telemetry-tracker.service.mjs +16 -16
  43. package/{esm2020 → esm2022}/lib/core/telemetry.service.mjs +38 -38
  44. package/{esm2020 → esm2022}/lib/core/validation-message.service.mjs +185 -185
  45. package/{esm2020 → esm2022}/lib/core/validation-patterns.mjs +30 -30
  46. package/{esm2020 → esm2022}/lib/core/window.service.mjs +186 -186
  47. package/{esm2020 → esm2022}/lib/display/app-bar/app-bar.component.mjs +46 -46
  48. package/esm2022/lib/display/avatar/avatar.component.mjs +67 -0
  49. package/{esm2020 → esm2022}/lib/display/avatar/avatar.service.mjs +64 -64
  50. package/{esm2020 → esm2022}/lib/display/confirm/confirm.component.mjs +168 -168
  51. package/{esm2020 → esm2022}/lib/display/dialog/dialog-content.mjs +1 -1
  52. package/{esm2020 → esm2022}/lib/display/dialog/dialog-group/dialog-group.component.mjs +63 -63
  53. package/{esm2020 → esm2022}/lib/display/dialog/dialog-types.mjs +76 -76
  54. package/{esm2020 → esm2022}/lib/display/dialog/dialog.component.mjs +281 -281
  55. package/{esm2020 → esm2022}/lib/display/dialog/dialog.service.mjs +71 -71
  56. package/{esm2020 → esm2022}/lib/display/help/help-types.mjs +1 -1
  57. package/{esm2020 → esm2022}/lib/display/hierarchy/hierarchy-base.mjs +111 -111
  58. package/{esm2020 → esm2022}/lib/display/hierarchy/hierarchy-mocks.spec.mjs +53 -53
  59. package/{esm2020 → esm2022}/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +61 -61
  60. package/{esm2020 → esm2022}/lib/display/item-display/item-display.component.mjs +81 -81
  61. package/{esm2020 → esm2022}/lib/display/json-display/json-display.component.mjs +47 -47
  62. package/{esm2020 → esm2022}/lib/display/resizable/resizable-base.mjs +120 -120
  63. package/{esm2020 → esm2022}/lib/display/resizable/resizable.component.mjs +52 -52
  64. package/{esm2020 → esm2022}/lib/display/spinner/spinner.component.mjs +12 -12
  65. package/{esm2020 → esm2022}/lib/display/splash/splash.component.mjs +42 -42
  66. package/{esm2020 → esm2022}/lib/display/splash/splash.service.mjs +35 -35
  67. package/{esm2020 → esm2022}/lib/display/table/resizable-column.component.mjs +20 -20
  68. package/{esm2020 → esm2022}/lib/display/table/resizable-table.directive.mjs +227 -227
  69. package/{esm2020 → esm2022}/lib/display/table/searchable-table.component.mjs +342 -342
  70. package/{esm2020 → esm2022}/lib/display/table/table-detail-row.component.mjs +19 -19
  71. package/{esm2020 → esm2022}/lib/display/table/table-locked-column.component.mjs +58 -58
  72. package/{esm2020 → esm2022}/lib/display/table/table-master-header-row.component.mjs +14 -14
  73. package/{esm2020 → esm2022}/lib/display/table/table-master-row.component.mjs +163 -163
  74. package/{esm2020 → esm2022}/lib/display/table/table-pagination.component.mjs +155 -155
  75. package/{esm2020 → esm2022}/lib/display/table/table-selectable-row.component.mjs +235 -235
  76. package/{esm2020 → esm2022}/lib/display/table/table.component.mjs +249 -249
  77. package/{esm2020 → esm2022}/lib/display/tags/tag.mjs +17 -17
  78. package/{esm2020 → esm2022}/lib/display/tags/tags.component.mjs +77 -77
  79. package/{esm2020 → esm2022}/lib/display/toast/toast/toast.component.mjs +77 -77
  80. package/{esm2020 → esm2022}/lib/display/toast/toast-types.mjs +7 -7
  81. package/{esm2020 → esm2022}/lib/display/toast/toast.service.mjs +35 -35
  82. package/{esm2020 → esm2022}/lib/display/toast/toaster/toaster.component.mjs +114 -114
  83. package/{esm2020 → esm2022}/lib/display/tooltip/tooltip.component.mjs +28 -28
  84. package/{esm2020 → esm2022}/lib/display/tooltip/tooltip.service.mjs +78 -78
  85. package/{esm2020 → esm2022}/lib/display/tooltip-directive/tooltip.directive.mjs +173 -173
  86. package/{esm2020 → esm2022}/lib/display/tour/tour-types.mjs +33 -33
  87. package/{esm2020 → esm2022}/lib/display/tour/tour.component.mjs +398 -398
  88. package/{esm2020 → esm2022}/lib/display/tour/tour.service.mjs +75 -75
  89. package/{esm2020 → esm2022}/lib/display/tree/tree.component.mjs +135 -135
  90. package/{esm2020 → esm2022}/lib/display/view-overlay/view-overlay.component.mjs +58 -58
  91. package/{esm2020 → esm2022}/lib/shared/directives/click-area-for/click-area-for.directive.mjs +32 -32
  92. package/{esm2020 → esm2022}/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +111 -111
  93. package/esm2022/lib/shared/directives/popup/popup-container.directive.mjs +166 -0
  94. package/{esm2020 → esm2022}/lib/shared/display/pipes/date-display.pipe.mjs +50 -50
  95. package/{esm2020 → esm2022}/lib/shared/display/pipes/highlight-text.pipe.mjs +30 -30
  96. package/{esm2020 → esm2022}/lib/shared/display/pipes/relative-date.pipe.mjs +62 -62
  97. package/{esm2020 → esm2022}/lib/shared/display/pipes/row-count.pipe.mjs +48 -48
  98. package/{esm2020 → esm2022}/lib/shared/display/pipes/time-display.pipe.mjs +41 -41
  99. package/esm2022/lib/shared/display.mjs +6 -0
  100. package/esm2022/lib/shared/form-group.helper.mjs +67 -0
  101. package/{esm2020 → esm2022}/lib/shared/json-helper.mjs +18 -18
  102. package/esm2022/lib/shared/lodash-helper.mjs +52 -0
  103. package/{esm2020 → esm2022}/lib/shared/page/page-base/page-base.component.mjs +387 -387
  104. package/{esm2020 → esm2022}/lib/shared/page/page-statuses.mjs +22 -22
  105. package/{esm2020 → esm2022}/lib/shared/page/page-title/page-title.component.mjs +23 -23
  106. package/{esm2020 → esm2022}/lib/shared/page/page-view/page-view.component.mjs +147 -147
  107. package/{esm2020 → esm2022}/lib/shared/testing/copy-button-base-test-injector-factory.spec.mjs +16 -16
  108. package/{esm2020 → esm2022}/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs +16 -16
  109. package/{esm2020 → esm2022}/lib/shared/testing/page-base-component-test-helper.spec.mjs +37 -37
  110. package/esm2022/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +98 -0
  111. package/{esm2020 → esm2022}/lib/shared/testing/public-mocks.spec.mjs +148 -148
  112. package/{esm2020 → esm2022}/lib/shared/testing/spy-factory.spec.mjs +39 -39
  113. package/{esm2020 → esm2022}/lib/shared/testing/translation-mocks.spec.mjs +56 -56
  114. package/{esm2020 → esm2022}/lib/shared/user-preference.service.mjs +17 -17
  115. package/{esm2020 → esm2022}/lib/shared/wizard/wizard-base/wizard-base.component.mjs +246 -246
  116. package/{esm2020 → esm2022}/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +68 -68
  117. package/{esm2020 → esm2022}/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +18 -18
  118. package/{esm2020 → esm2022}/public-api.mjs +114 -114
  119. package/{fesm2020 → fesm2022}/energycap-components.mjs +11797 -11793
  120. package/fesm2022/energycap-components.mjs.map +1 -0
  121. package/index.d.ts +5 -5
  122. package/lib/components.module.d.ts +91 -91
  123. package/lib/controls/banner/banner.component.d.ts +50 -50
  124. package/lib/controls/button/button.component.d.ts +78 -78
  125. package/lib/controls/button/copy-button-base.directive.d.ts +20 -20
  126. package/lib/controls/button/copy-button.directive.d.ts +14 -14
  127. package/lib/controls/button/copy-table-button.directive.d.ts +19 -19
  128. package/lib/controls/calendar/calendar-item.component.d.ts +17 -17
  129. package/lib/controls/calendar/calendar.component.d.ts +54 -54
  130. package/lib/controls/calendar/calendar.types.d.ts +7 -7
  131. package/lib/controls/checkbox/checkbox.component.d.ts +65 -65
  132. package/lib/controls/collapsible-toggle/collapsible-toggle.component.d.ts +25 -25
  133. package/lib/controls/combobox/combobox.component.d.ts +418 -418
  134. package/lib/controls/date-input/date-input.component.d.ts +80 -80
  135. package/lib/controls/dropdown/dropdown.component.d.ts +161 -161
  136. package/lib/controls/file-upload/file-upload.component.d.ts +124 -124
  137. package/lib/controls/form-control/form-control.component.d.ts +30 -30
  138. package/lib/controls/form-control-base.d.ts +110 -110
  139. package/lib/controls/form-control-label/form-control-label.component.d.ts +73 -73
  140. package/lib/controls/form-group/form-group.component.d.ts +105 -105
  141. package/lib/controls/help-popover/help-popover.component.d.ts +11 -11
  142. package/lib/controls/item-picker/item-picker.component.d.ts +164 -164
  143. package/lib/controls/link-button/link-button.component.d.ts +5 -5
  144. package/lib/controls/menu/menu.component.d.ts +255 -255
  145. package/lib/controls/navigation/link-item.d.ts +32 -32
  146. package/lib/controls/navigation/nav-group.d.ts +18 -18
  147. package/lib/controls/navigation/nav-item-active.directive.d.ts +42 -42
  148. package/lib/controls/navigation/nav-item.d.ts +31 -31
  149. package/lib/controls/numericbox/numericbox.component.d.ts +148 -148
  150. package/lib/controls/popover/popover.component.d.ts +51 -51
  151. package/lib/controls/radio-button/radio-button-option.d.ts +19 -19
  152. package/lib/controls/radio-button/radio-button.component.d.ts +53 -53
  153. package/lib/controls/select/select.component.d.ts +44 -44
  154. package/lib/controls/tabs/tabs.component.d.ts +30 -30
  155. package/lib/controls/textbox/textbox.component.d.ts +107 -107
  156. package/lib/core/cache.service.d.ts +33 -33
  157. package/lib/core/custom-validators.d.ts +20 -20
  158. package/lib/core/date-time-helper.d.ts +101 -101
  159. package/lib/core/error.service.d.ts +20 -20
  160. package/lib/core/router-helper.service.d.ts +48 -48
  161. package/lib/core/scroll.service.d.ts +36 -36
  162. package/lib/core/telemetry-tracker.service.d.ts +13 -13
  163. package/lib/core/telemetry.service.d.ts +31 -31
  164. package/lib/core/validation-message.service.d.ts +26 -26
  165. package/lib/core/validation-patterns.d.ts +22 -22
  166. package/lib/core/window.service.d.ts +116 -116
  167. package/lib/display/app-bar/app-bar.component.d.ts +20 -20
  168. package/lib/display/avatar/avatar.component.d.ts +35 -35
  169. package/lib/display/avatar/avatar.service.d.ts +24 -24
  170. package/lib/display/confirm/confirm.component.d.ts +123 -123
  171. package/lib/display/dialog/dialog-content.d.ts +19 -19
  172. package/lib/display/dialog/dialog-group/dialog-group.component.d.ts +32 -32
  173. package/lib/display/dialog/dialog-types.d.ts +130 -130
  174. package/lib/display/dialog/dialog.component.d.ts +120 -120
  175. package/lib/display/dialog/dialog.service.d.ts +48 -48
  176. package/lib/display/help/help-types.d.ts +33 -33
  177. package/lib/display/hierarchy/hierarchy-base.d.ts +97 -97
  178. package/lib/display/hierarchy/hierarchy-mocks.spec.d.ts +53 -53
  179. package/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.d.ts +34 -34
  180. package/lib/display/item-display/item-display.component.d.ts +43 -43
  181. package/lib/display/json-display/json-display.component.d.ts +16 -16
  182. package/lib/display/resizable/resizable-base.d.ts +67 -67
  183. package/lib/display/resizable/resizable.component.d.ts +31 -31
  184. package/lib/display/spinner/spinner.component.d.ts +5 -5
  185. package/lib/display/splash/splash.component.d.ts +16 -16
  186. package/lib/display/splash/splash.service.d.ts +22 -22
  187. package/lib/display/table/resizable-column.component.d.ts +10 -10
  188. package/lib/display/table/resizable-table.directive.d.ts +93 -93
  189. package/lib/display/table/searchable-table.component.d.ts +206 -206
  190. package/lib/display/table/table-detail-row.component.d.ts +8 -8
  191. package/lib/display/table/table-locked-column.component.d.ts +20 -20
  192. package/lib/display/table/table-master-header-row.component.d.ts +9 -9
  193. package/lib/display/table/table-master-row.component.d.ts +113 -113
  194. package/lib/display/table/table-pagination.component.d.ts +91 -91
  195. package/lib/display/table/table-selectable-row.component.d.ts +102 -102
  196. package/lib/display/table/table.component.d.ts +121 -121
  197. package/lib/display/tags/tag.d.ts +18 -18
  198. package/lib/display/tags/tags.component.d.ts +48 -48
  199. package/lib/display/toast/toast/toast.component.d.ts +23 -23
  200. package/lib/display/toast/toast-types.d.ts +24 -24
  201. package/lib/display/toast/toast.service.d.ts +20 -20
  202. package/lib/display/toast/toaster/toaster.component.d.ts +35 -35
  203. package/lib/display/tooltip/tooltip.component.d.ts +70 -70
  204. package/lib/display/tooltip/tooltip.service.d.ts +16 -16
  205. package/lib/display/tooltip-directive/tooltip.directive.d.ts +44 -44
  206. package/lib/display/tour/tour-types.d.ts +70 -70
  207. package/lib/display/tour/tour.component.d.ts +147 -147
  208. package/lib/display/tour/tour.service.d.ts +38 -38
  209. package/lib/display/tree/tree.component.d.ts +75 -75
  210. package/lib/display/view-overlay/view-overlay.component.d.ts +38 -38
  211. package/lib/shared/directives/click-area-for/click-area-for.directive.d.ts +14 -14
  212. package/lib/shared/directives/if-viewport-width/if-viewport-width.directive.d.ts +60 -60
  213. package/lib/shared/directives/popup/popup-container.directive.d.ts +101 -101
  214. package/lib/shared/display/pipes/date-display.pipe.d.ts +21 -21
  215. package/lib/shared/display/pipes/highlight-text.pipe.d.ts +9 -9
  216. package/lib/shared/display/pipes/relative-date.pipe.d.ts +36 -36
  217. package/lib/shared/display/pipes/row-count.pipe.d.ts +23 -23
  218. package/lib/shared/display/pipes/time-display.pipe.d.ts +18 -18
  219. package/lib/shared/display.d.ts +42 -42
  220. package/lib/shared/form-group.helper.d.ts +31 -31
  221. package/lib/shared/json-helper.d.ts +7 -7
  222. package/lib/shared/lodash-helper.d.ts +18 -18
  223. package/lib/shared/page/page-base/page-base.component.d.ts +259 -259
  224. package/lib/shared/page/page-statuses.d.ts +13 -13
  225. package/lib/shared/page/page-title/page-title.component.d.ts +9 -9
  226. package/lib/shared/page/page-view/page-view.component.d.ts +102 -102
  227. package/lib/shared/testing/copy-button-base-test-injector-factory.spec.d.ts +4 -4
  228. package/lib/shared/testing/hierarchy-base-test-injector-factory.spec.d.ts +4 -4
  229. package/lib/shared/testing/page-base-component-test-helper.spec.d.ts +30 -30
  230. package/lib/shared/testing/page-base-component-test-injector-factory.spec.d.ts +28 -28
  231. package/lib/shared/testing/public-mocks.spec.d.ts +90 -90
  232. package/lib/shared/testing/spy-factory.spec.d.ts +27 -27
  233. package/lib/shared/testing/translation-mocks.spec.d.ts +30 -30
  234. package/lib/shared/user-preference.service.d.ts +13 -13
  235. package/lib/shared/wizard/wizard-base/wizard-base.component.d.ts +134 -134
  236. package/lib/shared/wizard/wizard-buttons/wizard-buttons.component.d.ts +27 -27
  237. package/lib/shared/wizard/wizard-progress/wizard-progress.component.d.ts +10 -10
  238. package/package.json +12 -18
  239. package/public-api.d.ts +111 -111
  240. package/schematics/rxjs-7-upgrade/index.d.ts +3 -3
  241. package/schematics/rxjs-7-upgrade/index.js +67 -67
  242. package/schematics/rxjs-7-upgrade/schema.d.ts +4 -4
  243. package/schematics/rxjs-7-upgrade/schema.js +2 -2
  244. package/schematics/utilities/typescript.d.ts +7 -7
  245. package/schematics/utilities/typescript.js +41 -41
  246. package/schematics/utilities/workspace.d.ts +8 -8
  247. package/schematics/utilities/workspace.js +71 -71
  248. package/esm2020/lib/core/custom-validators.mjs +0 -29
  249. package/esm2020/lib/core/date-time-helper.mjs +0 -220
  250. package/esm2020/lib/display/avatar/avatar.component.mjs +0 -67
  251. package/esm2020/lib/shared/directives/popup/popup-container.directive.mjs +0 -163
  252. package/esm2020/lib/shared/display.mjs +0 -6
  253. package/esm2020/lib/shared/form-group.helper.mjs +0 -67
  254. package/esm2020/lib/shared/lodash-helper.mjs +0 -51
  255. package/esm2020/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +0 -98
  256. package/fesm2015/energycap-components.mjs +0 -12211
  257. package/fesm2015/energycap-components.mjs.map +0 -1
  258. package/fesm2020/energycap-components.mjs.map +0 -1
@@ -1,43 +1,43 @@
1
- import { Directive, Host, Input } from '@angular/core';
2
- import { CopyButtonBaseDirective } from './copy-button-base.directive';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./button.component";
5
- export class CopyTableButtonDirective extends CopyButtonBaseDirective {
6
- constructor(button, injector) {
7
- super(button, injector);
8
- this.button = button;
9
- this.injector = injector;
10
- }
11
- /** Grabs table rows and converts them to an Array we can work with called rows
12
- * If rows is empty it means the tableId provided was not found and so we trigger the unsuccessful
13
- * path in the base directive. If tableId is good, we map over the rows and extract the data in
14
- * each cell as a string value before joining it all as tab & line delimited values so the user may
15
- * paste it in an excel spreadsheet
16
- */
17
- getDataForClipboard() {
18
- let rows = Array.from(document.querySelectorAll(`#${this.tableId} tr`));
19
- if (rows.length === 0) {
20
- console.log('No table was found with that ID');
21
- return null;
22
- }
23
- let rawTableText = rows.map(row => {
24
- let rowText = Array.from(row.querySelectorAll('td, th')).map(tableCell => tableCell.textContent).join('\t');
25
- return rowText;
26
- }).join('\n');
27
- return rawTableText;
28
- }
29
- }
30
- CopyTableButtonDirectivefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CopyTableButtonDirective, deps: [{ token: i1.ButtonComponent, host: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
31
- CopyTableButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: CopyTableButtonDirective, selector: "[ecCopyTableButton]", inputs: { tableId: ["ecCopyTableButton", "tableId"] }, usesInheritance: true, ngImport: i0 });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CopyTableButtonDirective, decorators: [{
33
- type: Directive,
34
- args: [{
35
- selector: '[ecCopyTableButton]'
36
- }]
37
- }], ctorParameters: function () { return [{ type: i1.ButtonComponent, decorators: [{
38
- type: Host
39
- }] }, { type: i0.Injector }]; }, propDecorators: { tableId: [{
40
- type: Input,
41
- args: ['ecCopyTableButton']
42
- }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS10YWJsZS1idXR0b24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL2J1dHRvbi9jb3B5LXRhYmxlLWJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQVksS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFNdkUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHVCQUF1QjtJQUduRSxZQUNpQixNQUF1QixFQUM1QixRQUFrQjtRQUU1QixLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBSFQsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFDNUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUc5QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDTyxtQkFBbUI7UUFDM0IsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRXhFLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO1lBQzlDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2hDLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1RyxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFZCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDOztxSEE5QlUsd0JBQXdCO3lHQUF4Qix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO2lCQUNoQzs7MEJBTUksSUFBSTttRUFINEIsT0FBTztzQkFBekMsS0FBSzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3QsIEluamVjdG9yLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2J1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb3B5QnV0dG9uQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vY29weS1idXR0b24tYmFzZS5kaXJlY3RpdmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbZWNDb3B5VGFibGVCdXR0b25dJ1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIENvcHlUYWJsZUJ1dHRvbkRpcmVjdGl2ZSBleHRlbmRzIENvcHlCdXR0b25CYXNlRGlyZWN0aXZlIHtcclxuICBASW5wdXQoJ2VjQ29weVRhYmxlQnV0dG9uJykgcHVibGljIHRhYmxlSWQhOiBzdHJpbmc7XHJcbiAgXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASG9zdCgpIHB1YmxpYyBidXR0b246IEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3JcclxuICApIHtcclxuICAgIHN1cGVyKGJ1dHRvbiwgaW5qZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEdyYWJzIHRhYmxlIHJvd3MgYW5kIGNvbnZlcnRzIHRoZW0gdG8gYW4gQXJyYXkgd2UgY2FuIHdvcmsgd2l0aCBjYWxsZWQgcm93c1xyXG4gICAqICBJZiByb3dzIGlzIGVtcHR5IGl0IG1lYW5zIHRoZSB0YWJsZUlkIHByb3ZpZGVkIHdhcyBub3QgZm91bmQgYW5kIHNvIHdlIHRyaWdnZXIgdGhlIHVuc3VjY2Vzc2Z1bFxyXG4gICAqICBwYXRoIGluIHRoZSBiYXNlIGRpcmVjdGl2ZS4gSWYgdGFibGVJZCBpcyBnb29kLCB3ZSBtYXAgb3ZlciB0aGUgcm93cyBhbmQgZXh0cmFjdCB0aGUgZGF0YSBpblxyXG4gICAqIGVhY2ggY2VsbCBhcyBhIHN0cmluZyB2YWx1ZSBiZWZvcmUgam9pbmluZyBpdCBhbGwgYXMgdGFiICYgbGluZSBkZWxpbWl0ZWQgdmFsdWVzIHNvIHRoZSB1c2VyIG1heVxyXG4gICAqIHBhc3RlIGl0IGluIGFuIGV4Y2VsIHNwcmVhZHNoZWV0XHJcbiAgICovIFxyXG4gIHByb3RlY3RlZCBnZXREYXRhRm9yQ2xpcGJvYXJkKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgbGV0IHJvd3MgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYCMke3RoaXMudGFibGVJZH0gdHJgKSk7XHJcbiAgICBcclxuICAgIGlmIChyb3dzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICBjb25zb2xlLmxvZygnTm8gdGFibGUgd2FzIGZvdW5kIHdpdGggdGhhdCBJRCcpXHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBsZXQgcmF3VGFibGVUZXh0ID0gcm93cy5tYXAocm93ID0+IHtcclxuICAgICAgbGV0IHJvd1RleHQgPSBBcnJheS5mcm9tKHJvdy5xdWVyeVNlbGVjdG9yQWxsKCd0ZCwgdGgnKSkubWFwKHRhYmxlQ2VsbCA9PiB0YWJsZUNlbGwudGV4dENvbnRlbnQpLmpvaW4oJ1xcdCcpO1xyXG4gICAgICByZXR1cm4gcm93VGV4dDtcclxuICAgIH0pLmpvaW4oJ1xcbicpO1xyXG5cclxuICAgIHJldHVybiByYXdUYWJsZVRleHQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import { Directive, Host, Input } from '@angular/core';
2
+ import { CopyButtonBaseDirective } from './copy-button-base.directive';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./button.component";
5
+ export class CopyTableButtonDirective extends CopyButtonBaseDirective {
6
+ constructor(button, injector) {
7
+ super(button, injector);
8
+ this.button = button;
9
+ this.injector = injector;
10
+ }
11
+ /** Grabs table rows and converts them to an Array we can work with called rows
12
+ * If rows is empty it means the tableId provided was not found and so we trigger the unsuccessful
13
+ * path in the base directive. If tableId is good, we map over the rows and extract the data in
14
+ * each cell as a string value before joining it all as tab & line delimited values so the user may
15
+ * paste it in an excel spreadsheet
16
+ */
17
+ getDataForClipboard() {
18
+ let rows = Array.from(document.querySelectorAll(`#${this.tableId} tr`));
19
+ if (rows.length === 0) {
20
+ console.log('No table was found with that ID');
21
+ return null;
22
+ }
23
+ let rawTableText = rows.map(row => {
24
+ let rowText = Array.from(row.querySelectorAll('td, th')).map(tableCell => tableCell.textContent).join('\t');
25
+ return rowText;
26
+ }).join('\n');
27
+ return rawTableText;
28
+ }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CopyTableButtonDirective, deps: [{ token: i1.ButtonComponent, host: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
30
+ static { thisdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CopyTableButtonDirective, selector: "[ecCopyTableButton]", inputs: { tableId: ["ecCopyTableButton", "tableId"] }, usesInheritance: true, ngImport: i0 }); }
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CopyTableButtonDirective, decorators: [{
33
+ type: Directive,
34
+ args: [{
35
+ selector: '[ecCopyTableButton]'
36
+ }]
37
+ }], ctorParameters: function () { return [{ type: i1.ButtonComponent, decorators: [{
38
+ type: Host
39
+ }] }, { type: i0.Injector }]; }, propDecorators: { tableId: [{
40
+ type: Input,
41
+ args: ['ecCopyTableButton']
42
+ }] } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS10YWJsZS1idXR0b24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL2J1dHRvbi9jb3B5LXRhYmxlLWJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQVksS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFNdkUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHVCQUF1QjtJQUduRSxZQUNpQixNQUF1QixFQUM1QixRQUFrQjtRQUU1QixLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBSFQsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFDNUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUc5QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDTyxtQkFBbUI7UUFDM0IsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRXhFLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO1lBQzlDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2hDLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1RyxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFZCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDOytHQTlCVSx3QkFBd0I7bUdBQXhCLHdCQUF3Qjs7NEZBQXhCLHdCQUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO2lCQUNoQzs7MEJBTUksSUFBSTttRUFINEIsT0FBTztzQkFBekMsS0FBSzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3QsIEluamVjdG9yLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2J1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb3B5QnV0dG9uQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vY29weS1idXR0b24tYmFzZS5kaXJlY3RpdmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbZWNDb3B5VGFibGVCdXR0b25dJ1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIENvcHlUYWJsZUJ1dHRvbkRpcmVjdGl2ZSBleHRlbmRzIENvcHlCdXR0b25CYXNlRGlyZWN0aXZlIHtcclxuICBASW5wdXQoJ2VjQ29weVRhYmxlQnV0dG9uJykgcHVibGljIHRhYmxlSWQhOiBzdHJpbmc7XHJcbiAgXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASG9zdCgpIHB1YmxpYyBidXR0b246IEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3JcclxuICApIHtcclxuICAgIHN1cGVyKGJ1dHRvbiwgaW5qZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEdyYWJzIHRhYmxlIHJvd3MgYW5kIGNvbnZlcnRzIHRoZW0gdG8gYW4gQXJyYXkgd2UgY2FuIHdvcmsgd2l0aCBjYWxsZWQgcm93c1xyXG4gICAqICBJZiByb3dzIGlzIGVtcHR5IGl0IG1lYW5zIHRoZSB0YWJsZUlkIHByb3ZpZGVkIHdhcyBub3QgZm91bmQgYW5kIHNvIHdlIHRyaWdnZXIgdGhlIHVuc3VjY2Vzc2Z1bFxyXG4gICAqICBwYXRoIGluIHRoZSBiYXNlIGRpcmVjdGl2ZS4gSWYgdGFibGVJZCBpcyBnb29kLCB3ZSBtYXAgb3ZlciB0aGUgcm93cyBhbmQgZXh0cmFjdCB0aGUgZGF0YSBpblxyXG4gICAqIGVhY2ggY2VsbCBhcyBhIHN0cmluZyB2YWx1ZSBiZWZvcmUgam9pbmluZyBpdCBhbGwgYXMgdGFiICYgbGluZSBkZWxpbWl0ZWQgdmFsdWVzIHNvIHRoZSB1c2VyIG1heVxyXG4gICAqIHBhc3RlIGl0IGluIGFuIGV4Y2VsIHNwcmVhZHNoZWV0XHJcbiAgICovIFxyXG4gIHByb3RlY3RlZCBnZXREYXRhRm9yQ2xpcGJvYXJkKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgbGV0IHJvd3MgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYCMke3RoaXMudGFibGVJZH0gdHJgKSk7XHJcbiAgICBcclxuICAgIGlmIChyb3dzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICBjb25zb2xlLmxvZygnTm8gdGFibGUgd2FzIGZvdW5kIHdpdGggdGhhdCBJRCcpXHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBsZXQgcmF3VGFibGVUZXh0ID0gcm93cy5tYXAocm93ID0+IHtcclxuICAgICAgbGV0IHJvd1RleHQgPSBBcnJheS5mcm9tKHJvdy5xdWVyeVNlbGVjdG9yQWxsKCd0ZCwgdGgnKSkubWFwKHRhYmxlQ2VsbCA9PiB0YWJsZUNlbGwudGV4dENvbnRlbnQpLmpvaW4oJ1xcdCcpO1xyXG4gICAgICByZXR1cm4gcm93VGV4dDtcclxuICAgIH0pLmpvaW4oJ1xcbicpO1xyXG5cclxuICAgIHJldHVybiByYXdUYWJsZVRleHQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,59 +1,59 @@
1
- import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
2
- import moment from 'moment';
3
- import { isCalendarSelectionSingleDate } from './calendar.types';
4
- import * as i0 from "@angular/core";
5
- export class CalendarItemComponent {
6
- constructor() {
7
- this.view = 'day';
8
- this.today = false;
9
- this.selected = false;
10
- this.outsideActiveMonth = false;
11
- }
12
- ngOnChanges() {
13
- if (this.view !== 'day') {
14
- this.today = false;
15
- this.outsideActiveMonth = false;
16
- }
17
- else {
18
- this.today = moment(this.item?.date).isSame(moment(), 'day');
19
- this.outsideActiveMonth = !moment(this.item?.date).isSame(this.activeDate, 'month');
20
- }
21
- this.selected = this.isSelected(this.item?.date, this.selection, this.view);
22
- }
23
- isSelected(date, selection, view) {
24
- if (!date || !selection) {
25
- return false;
26
- }
27
- if (isCalendarSelectionSingleDate(this.selection)) {
28
- return moment(this.item?.date).isSame(this.selection, view);
29
- }
30
- else {
31
- // TODO ECAP-26841: determine if the item is within the range selection
32
- return false;
33
- }
34
- }
35
- }
36
- CalendarItemComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
- CalendarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CalendarItemComponent, selector: "button[ec-calendar-item]", inputs: { item: "item", activeDate: "activeDate", selection: "selection", view: "view" }, host: { properties: { "class.is-today": "this.today", "class.is-selected": "this.selected", "class.is-outside-active-month": "this.outsideActiveMonth" } }, usesOnChanges: true, ngImport: i0, template: '{{item?.label}}', isInline: true, styles: [":host{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border:0;border-radius:var(--ec-border-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:transparent;line-height:1.125rem}:host .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}:host .ec-icon{flex:none}:host .ec-icon+.label{flex:none;margin-left:.25rem}:host.has-badge{padding-right:.0625rem}:host:focus{outline:none;position:relative;z-index:1}:host:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}:host:disabled{background-color:transparent;border-color:transparent;color:var(--ec-color-hint-dark);opacity:1;--ec-color-icon: var(--ec-color-hint-dark)}:host:hover:not(:disabled){background-color:var(--ec-background-color-hover)}:host:active:not(:disabled){background-color:var(--ec-background-color-selected);font-weight:700}:host:focus:not(:disabled){box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}:host.is-selected,:host.is-selected:disabled{background-color:var(--ec-background-color-selected);font-weight:700}:host.is-today{text-decoration:underline}:host.is-outside-active-month{color:var(--ec-color-hint-dark)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarItemComponent, decorators: [{
39
- type: Component,
40
- args: [{ selector: 'button[ec-calendar-item]', template: '{{item?.label}}', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border:0;border-radius:var(--ec-border-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:transparent;line-height:1.125rem}:host .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}:host .ec-icon{flex:none}:host .ec-icon+.label{flex:none;margin-left:.25rem}:host.has-badge{padding-right:.0625rem}:host:focus{outline:none;position:relative;z-index:1}:host:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}:host:disabled{background-color:transparent;border-color:transparent;color:var(--ec-color-hint-dark);opacity:1;--ec-color-icon: var(--ec-color-hint-dark)}:host:hover:not(:disabled){background-color:var(--ec-background-color-hover)}:host:active:not(:disabled){background-color:var(--ec-background-color-selected);font-weight:700}:host:focus:not(:disabled){box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}:host.is-selected,:host.is-selected:disabled{background-color:var(--ec-background-color-selected);font-weight:700}:host.is-today{text-decoration:underline}:host.is-outside-active-month{color:var(--ec-color-hint-dark)}\n"] }]
41
- }], ctorParameters: function () { return []; }, propDecorators: { item: [{
42
- type: Input
43
- }], activeDate: [{
44
- type: Input
45
- }], selection: [{
46
- type: Input
47
- }], view: [{
48
- type: Input
49
- }], today: [{
50
- type: HostBinding,
51
- args: ['class.is-today']
52
- }], selected: [{
53
- type: HostBinding,
54
- args: ['class.is-selected']
55
- }], outsideActiveMonth: [{
56
- type: HostBinding,
57
- args: ['class.is-outside-active-month']
58
- }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvY29udHJvbHMvY2FsZW5kYXIvY2FsZW5kYXItaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQWlELDZCQUE2QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBUWhILE1BQU0sT0FBTyxxQkFBcUI7SUFXaEM7UUFOZ0IsU0FBSSxHQUFpQixLQUFLLENBQUM7UUFFTCxVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3BCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDZCx1QkFBa0IsR0FBWSxLQUFLLENBQUM7SUFFekUsQ0FBQztJQUVqQixXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRTtZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1NBQ2pDO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNyRjtRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU8sVUFBVSxDQUFDLElBQVcsRUFBRSxTQUE2QixFQUFFLElBQW1CO1FBQ2hGLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDdkIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksNkJBQTZCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2pELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDN0Q7YUFBTTtZQUNMLHVFQUF1RTtZQUN2RSxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQzs7a0hBcENVLHFCQUFxQjtzR0FBckIscUJBQXFCLDJVQUp0QixpQkFBaUI7MkZBSWhCLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSwwQkFBMEIsWUFDMUIsaUJBQWlCLG1CQUVWLHVCQUF1QixDQUFDLE1BQU07MEVBSS9CLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBRWdDLEtBQUs7c0JBQTFDLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUNZLFFBQVE7c0JBQWhELFdBQVc7dUJBQUMsbUJBQW1CO2dCQUNxQixrQkFBa0I7c0JBQXRFLFdBQVc7dUJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBDYWxlbmRhckl0ZW0sIENhbGVuZGFyU2VsZWN0aW9uLCBDYWxlbmRhclZpZXcsIGlzQ2FsZW5kYXJTZWxlY3Rpb25TaW5nbGVEYXRlIH0gZnJvbSAnLi9jYWxlbmRhci50eXBlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2J1dHRvbltlYy1jYWxlbmRhci1pdGVtXScsXHJcbiAgdGVtcGxhdGU6ICd7e2l0ZW0/LmxhYmVsfX0nLFxyXG4gIHN0eWxlVXJsczogWycuL2NhbGVuZGFyLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIENhbGVuZGFySXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBpdGVtPzogQ2FsZW5kYXJJdGVtO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBhY3RpdmVEYXRlPzogRGF0ZTtcclxuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0aW9uPzogQ2FsZW5kYXJTZWxlY3Rpb247XHJcbiAgQElucHV0KCkgcHVibGljIHZpZXc6IENhbGVuZGFyVmlldyA9ICdkYXknO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLXRvZGF5JykgcHVibGljIHRvZGF5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1zZWxlY3RlZCcpIHB1YmxpYyBzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtb3V0c2lkZS1hY3RpdmUtbW9udGgnKSBwdWJsaWMgb3V0c2lkZUFjdGl2ZU1vbnRoOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudmlldyAhPT0gJ2RheScpIHtcclxuICAgICAgdGhpcy50b2RheSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLm91dHNpZGVBY3RpdmVNb250aCA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50b2RheSA9IG1vbWVudCh0aGlzLml0ZW0/LmRhdGUpLmlzU2FtZShtb21lbnQoKSwgJ2RheScpO1xyXG4gICAgICB0aGlzLm91dHNpZGVBY3RpdmVNb250aCA9ICFtb21lbnQodGhpcy5pdGVtPy5kYXRlKS5pc1NhbWUodGhpcy5hY3RpdmVEYXRlLCAnbW9udGgnKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMuaXNTZWxlY3RlZCh0aGlzLml0ZW0/LmRhdGUsIHRoaXMuc2VsZWN0aW9uLCB0aGlzLnZpZXcpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1NlbGVjdGVkKGRhdGU/OiBEYXRlLCBzZWxlY3Rpb24/OiBDYWxlbmRhclNlbGVjdGlvbiwgdmlldz86IENhbGVuZGFyVmlldyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFkYXRlIHx8ICFzZWxlY3Rpb24pIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpc0NhbGVuZGFyU2VsZWN0aW9uU2luZ2xlRGF0ZSh0aGlzLnNlbGVjdGlvbikpIHtcclxuICAgICAgcmV0dXJuIG1vbWVudCh0aGlzLml0ZW0/LmRhdGUpLmlzU2FtZSh0aGlzLnNlbGVjdGlvbiwgdmlldyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBUT0RPIEVDQVAtMjY4NDE6IGRldGVybWluZSBpZiB0aGUgaXRlbSBpcyB3aXRoaW4gdGhlIHJhbmdlIHNlbGVjdGlvblxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
2
+ import moment from 'moment';
3
+ import { isCalendarSelectionSingleDate } from './calendar.types';
4
+ import * as i0 from "@angular/core";
5
+ export class CalendarItemComponent {
6
+ constructor() {
7
+ this.view = 'day';
8
+ this.today = false;
9
+ this.selected = false;
10
+ this.outsideActiveMonth = false;
11
+ }
12
+ ngOnChanges() {
13
+ if (this.view !== 'day') {
14
+ this.today = false;
15
+ this.outsideActiveMonth = false;
16
+ }
17
+ else {
18
+ this.today = moment(this.item?.date).isSame(moment(), 'day');
19
+ this.outsideActiveMonth = !moment(this.item?.date).isSame(this.activeDate, 'month');
20
+ }
21
+ this.selected = this.isSelected(this.item?.date, this.selection, this.view);
22
+ }
23
+ isSelected(date, selection, view) {
24
+ if (!date || !selection) {
25
+ return false;
26
+ }
27
+ if (isCalendarSelectionSingleDate(this.selection)) {
28
+ return moment(this.item?.date).isSame(this.selection, view);
29
+ }
30
+ else {
31
+ // TODO ECAP-26841: determine if the item is within the range selection
32
+ return false;
33
+ }
34
+ }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarItemComponent, selector: "button[ec-calendar-item]", inputs: { item: "item", activeDate: "activeDate", selection: "selection", view: "view" }, host: { properties: { "class.is-today": "this.today", "class.is-selected": "this.selected", "class.is-outside-active-month": "this.outsideActiveMonth" } }, usesOnChanges: true, ngImport: i0, template: '{{item?.label}}', isInline: true, styles: [":host{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border:0;border-radius:var(--ec-border-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:transparent;line-height:1.125rem}:host .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}:host .ec-icon{flex:none}:host .ec-icon+.label{flex:none;margin-left:.25rem}:host.has-badge{padding-right:.0625rem}:host:focus{outline:none;position:relative;z-index:1}:host:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}:host:disabled{background-color:transparent;border-color:transparent;color:var(--ec-color-hint-dark);opacity:1;--ec-color-icon: var(--ec-color-hint-dark)}:host:hover:not(:disabled){background-color:var(--ec-background-color-hover)}:host:active:not(:disabled){background-color:var(--ec-background-color-selected);font-weight:700}:host:focus:not(:disabled){box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}:host.is-selected,:host.is-selected:disabled{background-color:var(--ec-background-color-selected);font-weight:700}:host.is-today{text-decoration:underline}:host.is-outside-active-month{color:var(--ec-color-hint-dark)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarItemComponent, decorators: [{
39
+ type: Component,
40
+ args: [{ selector: 'button[ec-calendar-item]', template: '{{item?.label}}', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{font-size:var(--ec-font-size-action);height:2rem;line-height:1.25rem;padding:.3125rem .5rem;border:0;border-radius:var(--ec-border-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:transparent;line-height:1.125rem}:host .label{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:auto}:host .ec-icon{flex:none}:host .ec-icon+.label{flex:none;margin-left:.25rem}:host.has-badge{padding-right:.0625rem}:host:focus{outline:none;position:relative;z-index:1}:host:disabled{background-color:var(--ec-background-color-disabled);border:1px solid var(--ec-form-control-border-color-disabled);color:var(--ec-color-disabled-dark);opacity:var(--ec-form-control-opacity-disabled);cursor:default}:host:disabled{background-color:transparent;border-color:transparent;color:var(--ec-color-hint-dark);opacity:1;--ec-color-icon: var(--ec-color-hint-dark)}:host:hover:not(:disabled){background-color:var(--ec-background-color-hover)}:host:active:not(:disabled){background-color:var(--ec-background-color-selected);font-weight:700}:host:focus:not(:disabled){box-shadow:var(--ec-button-box-shadow-active, 0 0 0 2px var(--ec-border-color-focus))}:host.is-selected,:host.is-selected:disabled{background-color:var(--ec-background-color-selected);font-weight:700}:host.is-today{text-decoration:underline}:host.is-outside-active-month{color:var(--ec-color-hint-dark)}\n"] }]
41
+ }], ctorParameters: function () { return []; }, propDecorators: { item: [{
42
+ type: Input
43
+ }], activeDate: [{
44
+ type: Input
45
+ }], selection: [{
46
+ type: Input
47
+ }], view: [{
48
+ type: Input
49
+ }], today: [{
50
+ type: HostBinding,
51
+ args: ['class.is-today']
52
+ }], selected: [{
53
+ type: HostBinding,
54
+ args: ['class.is-selected']
55
+ }], outsideActiveMonth: [{
56
+ type: HostBinding,
57
+ args: ['class.is-outside-active-month']
58
+ }] } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvY29udHJvbHMvY2FsZW5kYXIvY2FsZW5kYXItaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQWlELDZCQUE2QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBUWhILE1BQU0sT0FBTyxxQkFBcUI7SUFXaEM7UUFOZ0IsU0FBSSxHQUFpQixLQUFLLENBQUM7UUFFTCxVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3BCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDZCx1QkFBa0IsR0FBWSxLQUFLLENBQUM7SUFFekUsQ0FBQztJQUVqQixXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRTtZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1NBQ2pDO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNyRjtRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU8sVUFBVSxDQUFDLElBQVcsRUFBRSxTQUE2QixFQUFFLElBQW1CO1FBQ2hGLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDdkIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksNkJBQTZCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2pELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDN0Q7YUFBTTtZQUNMLHVFQUF1RTtZQUN2RSxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQzsrR0FwQ1UscUJBQXFCO21HQUFyQixxQkFBcUIsMlVBSnRCLGlCQUFpQjs7NEZBSWhCLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSwwQkFBMEIsWUFDMUIsaUJBQWlCLG1CQUVWLHVCQUF1QixDQUFDLE1BQU07MEVBSS9CLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBRWdDLEtBQUs7c0JBQTFDLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUNZLFFBQVE7c0JBQWhELFdBQVc7dUJBQUMsbUJBQW1CO2dCQUNxQixrQkFBa0I7c0JBQXRFLFdBQVc7dUJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBDYWxlbmRhckl0ZW0sIENhbGVuZGFyU2VsZWN0aW9uLCBDYWxlbmRhclZpZXcsIGlzQ2FsZW5kYXJTZWxlY3Rpb25TaW5nbGVEYXRlIH0gZnJvbSAnLi9jYWxlbmRhci50eXBlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2J1dHRvbltlYy1jYWxlbmRhci1pdGVtXScsXHJcbiAgdGVtcGxhdGU6ICd7e2l0ZW0/LmxhYmVsfX0nLFxyXG4gIHN0eWxlVXJsczogWycuL2NhbGVuZGFyLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIENhbGVuZGFySXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBpdGVtPzogQ2FsZW5kYXJJdGVtO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBhY3RpdmVEYXRlPzogRGF0ZTtcclxuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0aW9uPzogQ2FsZW5kYXJTZWxlY3Rpb247XHJcbiAgQElucHV0KCkgcHVibGljIHZpZXc6IENhbGVuZGFyVmlldyA9ICdkYXknO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLXRvZGF5JykgcHVibGljIHRvZGF5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1zZWxlY3RlZCcpIHB1YmxpYyBzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtb3V0c2lkZS1hY3RpdmUtbW9udGgnKSBwdWJsaWMgb3V0c2lkZUFjdGl2ZU1vbnRoOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudmlldyAhPT0gJ2RheScpIHtcclxuICAgICAgdGhpcy50b2RheSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLm91dHNpZGVBY3RpdmVNb250aCA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50b2RheSA9IG1vbWVudCh0aGlzLml0ZW0/LmRhdGUpLmlzU2FtZShtb21lbnQoKSwgJ2RheScpO1xyXG4gICAgICB0aGlzLm91dHNpZGVBY3RpdmVNb250aCA9ICFtb21lbnQodGhpcy5pdGVtPy5kYXRlKS5pc1NhbWUodGhpcy5hY3RpdmVEYXRlLCAnbW9udGgnKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMuaXNTZWxlY3RlZCh0aGlzLml0ZW0/LmRhdGUsIHRoaXMuc2VsZWN0aW9uLCB0aGlzLnZpZXcpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1NlbGVjdGVkKGRhdGU/OiBEYXRlLCBzZWxlY3Rpb24/OiBDYWxlbmRhclNlbGVjdGlvbiwgdmlldz86IENhbGVuZGFyVmlldyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFkYXRlIHx8ICFzZWxlY3Rpb24pIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpc0NhbGVuZGFyU2VsZWN0aW9uU2luZ2xlRGF0ZSh0aGlzLnNlbGVjdGlvbikpIHtcclxuICAgICAgcmV0dXJuIG1vbWVudCh0aGlzLml0ZW0/LmRhdGUpLmlzU2FtZSh0aGlzLnNlbGVjdGlvbiwgdmlldyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBUT0RPIEVDQVAtMjY4NDE6IGRldGVybWluZSBpZiB0aGUgaXRlbSBpcyB3aXRoaW4gdGhlIHJhbmdlIHNlbGVjdGlvblxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==