@mozaic-ds/angular 0.23.2-beta.4 → 0.24.0-beta.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 (551) hide show
  1. package/adeo/README.md +0 -0
  2. package/adeo/assets/special-icons/checkbox-checked-disabled.svg +3 -0
  3. package/adeo/assets/special-icons/checkbox-checked.svg +3 -0
  4. package/adeo/assets/special-icons/checkbox-indeterminate-disabled.svg +3 -0
  5. package/adeo/assets/special-icons/checkbox-indeterminate.svg +3 -0
  6. package/adeo/assets/special-icons/invalid-cross.svg +3 -0
  7. package/adeo/assets/special-icons/layer-cross.svg +3 -0
  8. package/adeo/assets/special-icons/notification-danger-m.svg +4 -0
  9. package/adeo/assets/special-icons/notification-danger-s.svg +4 -0
  10. package/adeo/assets/special-icons/notification-information-m.svg +5 -0
  11. package/adeo/assets/special-icons/notification-information-s.svg +5 -0
  12. package/adeo/assets/special-icons/notification-success-m.svg +4 -0
  13. package/adeo/assets/special-icons/notification-success-s.svg +4 -0
  14. package/adeo/assets/special-icons/notification-warning-m.svg +5 -0
  15. package/adeo/assets/special-icons/notification-warning-s.svg +5 -0
  16. package/adeo/assets/special-icons/remove-tag.svg +3 -0
  17. package/adeo/assets/special-icons/toggle-checked-disabled.svg +3 -0
  18. package/adeo/assets/special-icons/toggle-checked.svg +3 -0
  19. package/adeo/assets/special-icons/toggle-cross-disabled.svg +3 -0
  20. package/adeo/assets/special-icons/toggle-cross.svg +3 -0
  21. package/adeo/assets/special-icons/tooltip-triangle.svg +3 -0
  22. package/adeo/assets/special-icons/valid-check-mark.svg +11 -0
  23. package/adeo/assets/tokens/adeo/android/colors.xml +491 -0
  24. package/adeo/assets/tokens/adeo/android/font_dimens.xml +18 -0
  25. package/adeo/assets/tokens/adeo/css/_variables.scss +635 -0
  26. package/adeo/assets/tokens/adeo/css/root.scss +487 -0
  27. package/adeo/assets/tokens/adeo/ios/StyleDictionaryColor.h +499 -0
  28. package/adeo/assets/tokens/adeo/ios/StyleDictionaryColor.m +511 -0
  29. package/adeo/assets/tokens/adeo/ios/StyleDictionaryColor.swift +494 -0
  30. package/adeo/assets/tokens/adeo/ios/StyleDictionarySize.h +69 -0
  31. package/adeo/assets/tokens/adeo/ios/StyleDictionarySize.m +70 -0
  32. package/adeo/assets/tokens/adeo/ios/StyleDictionarySize.swift +71 -0
  33. package/adeo/assets/tokens/adeo/js/tokens.js +583 -0
  34. package/adeo/assets/tokens/adeo/js/tokensObject.js +9787 -0
  35. package/adeo/assets/tokens/adeo/scss/_tokens.scss +1645 -0
  36. package/adeo/common/global-events/global-events.module.d.ts +6 -0
  37. package/adeo/common/global-events/global-events.service.d.ts +11 -0
  38. package/adeo/common/global-events/public-api.d.ts +2 -0
  39. package/adeo/common/index.d.ts +2 -0
  40. package/adeo/common/utils/boolean-property.d.ts +1 -0
  41. package/adeo/common/utils/generate-id.d.ts +1 -0
  42. package/adeo/common/utils/get-random-number.d.ts +1 -0
  43. package/adeo/common/utils/index.d.ts +4 -0
  44. package/adeo/common/utils/overwrite-style.d.ts +2 -0
  45. package/adeo/common/utils/public-api.d.ts +1 -0
  46. package/adeo/components/autocomplete/autocomplete.component.d.ts +60 -0
  47. package/adeo/components/autocomplete/autocomplete.module.d.ts +15 -0
  48. package/adeo/components/autocomplete/index.d.ts +2 -0
  49. package/adeo/components/autocomplete/public-api.d.ts +1 -0
  50. package/adeo/components/badge/badge.component.d.ts +8 -0
  51. package/adeo/components/badge/badge.d.ts +3 -0
  52. package/adeo/components/badge/badge.module.d.ts +8 -0
  53. package/adeo/components/badge/index.d.ts +2 -0
  54. package/adeo/components/badge/public-api.d.ts +1 -0
  55. package/adeo/components/built-it-menu/built-it-menu.component.d.ts +12 -0
  56. package/adeo/components/built-it-menu/built-it-menu.module.d.ts +9 -0
  57. package/adeo/components/built-it-menu/index.d.ts +2 -0
  58. package/adeo/components/built-it-menu/model/built-it-menu.d.ts +9 -0
  59. package/adeo/components/built-it-menu/public-api.d.ts +1 -0
  60. package/adeo/components/button/button.component.d.ts +16 -0
  61. package/adeo/components/button/button.d.ts +7 -0
  62. package/adeo/components/button/button.module.d.ts +8 -0
  63. package/adeo/components/button/index.d.ts +2 -0
  64. package/adeo/components/button/public-api.d.ts +1 -0
  65. package/adeo/components/checkbox/checkbox.component.d.ts +21 -0
  66. package/adeo/components/checkbox/checkbox.module.d.ts +8 -0
  67. package/adeo/components/checkbox/public-api.d.ts +2 -0
  68. package/adeo/components/datatable/components/caption/moz-datatable-caption.component.d.ts +11 -0
  69. package/adeo/components/datatable/components/content/moz-datatable-content-cell.component.d.ts +8 -0
  70. package/adeo/components/datatable/components/footer/moz-datatable-footer.component.d.ts +18 -0
  71. package/adeo/components/datatable/components/header/moz-datatable-header-cell.component.d.ts +8 -0
  72. package/adeo/components/datatable/components/row/moz-datatable-row-expansion-content.component.d.ts +7 -0
  73. package/adeo/components/datatable/components/selection/moz-datatable-selection.component.d.ts +26 -0
  74. package/adeo/components/datatable/directives/moz-datatable-sort.directive.d.ts +15 -0
  75. package/adeo/components/datatable/model/column-def.d.ts +11 -0
  76. package/adeo/components/datatable/model/datatable-settings.d.ts +29 -0
  77. package/adeo/components/datatable/model/footer-settings.d.ts +17 -0
  78. package/adeo/components/datatable/model/row-data.d.ts +5 -0
  79. package/adeo/components/datatable/model/selection-settings.d.ts +16 -0
  80. package/adeo/components/datatable/moz-datatable.component.d.ts +53 -0
  81. package/adeo/components/datatable/moz-datatable.module.d.ts +22 -0
  82. package/adeo/components/datatable/public-api.d.ts +13 -0
  83. package/adeo/components/datatable-management/components/moz-datatable-management-content/moz-datatable-management-content.component.d.ts +29 -0
  84. package/adeo/components/datatable-management/moz-datatable-management.component.d.ts +16 -0
  85. package/adeo/components/datatable-management/moz-datatable-management.module.d.ts +15 -0
  86. package/adeo/components/datatable-management/public-api.d.ts +3 -0
  87. package/adeo/components/dialog/classes/dialog-config.d.ts +9 -0
  88. package/adeo/components/dialog/classes/dialog-injector.d.ts +10 -0
  89. package/adeo/components/dialog/classes/dialog-ref.d.ts +25 -0
  90. package/adeo/components/dialog/classes/index.d.ts +3 -0
  91. package/adeo/components/dialog/dialog-animation.d.ts +1 -0
  92. package/adeo/components/dialog/dialog.component.d.ts +23 -0
  93. package/adeo/components/dialog/dialog.module.d.ts +8 -0
  94. package/adeo/components/dialog/dialog.service.d.ts +20 -0
  95. package/adeo/components/dialog/interfaces/dialog-config.d.ts +7 -0
  96. package/adeo/components/dialog/interfaces/dialog-di-params.d.ts +6 -0
  97. package/adeo/components/dialog/interfaces/dialog-ref.d.ts +18 -0
  98. package/adeo/components/dialog/interfaces/index.d.ts +3 -0
  99. package/adeo/components/dialog/public-api.d.ts +5 -0
  100. package/adeo/components/dialog/tokens/dialog-config.token.d.ts +2 -0
  101. package/adeo/components/dialog/tokens/dialog-data.token.d.ts +2 -0
  102. package/adeo/components/dialog/tokens/dialog-ref.token.d.ts +2 -0
  103. package/adeo/components/dialog/tokens/index.d.ts +3 -0
  104. package/adeo/components/dropdown/dropdown.component.d.ts +54 -0
  105. package/adeo/components/dropdown/dropdown.module.d.ts +14 -0
  106. package/adeo/components/dropdown/index.d.ts +2 -0
  107. package/adeo/components/dropdown/public-api.d.ts +1 -0
  108. package/adeo/components/field/directives/input-icon.directive.d.ts +7 -0
  109. package/adeo/components/field/field-error.component.d.ts +5 -0
  110. package/adeo/components/field/field.component.d.ts +16 -0
  111. package/adeo/components/field/field.module.d.ts +10 -0
  112. package/adeo/components/field/index.d.ts +4 -0
  113. package/adeo/components/field/public-api.d.ts +1 -0
  114. package/adeo/components/file-uploader/components/uploaded-files/uploaded-files.component.d.ts +17 -0
  115. package/adeo/components/file-uploader/directives/moz-drag-n-drop.directive.d.ts +11 -0
  116. package/adeo/components/file-uploader/file-uploader.component.d.ts +34 -0
  117. package/adeo/components/file-uploader/file-uploader.module.d.ts +11 -0
  118. package/adeo/components/file-uploader/index.d.ts +4 -0
  119. package/adeo/components/file-uploader/public-api.d.ts +1 -0
  120. package/adeo/components/heading/heading-alignment.d.ts +1 -0
  121. package/adeo/components/heading/heading-weight-type.d.ts +1 -0
  122. package/adeo/components/heading/heading.component.d.ts +14 -0
  123. package/adeo/components/heading/heading.module.d.ts +8 -0
  124. package/adeo/components/heading/index.d.ts +4 -0
  125. package/adeo/components/heading/public-api.d.ts +1 -0
  126. package/adeo/components/icon/icon-size.d.ts +6 -0
  127. package/adeo/components/icon/icon.component.d.ts +15 -0
  128. package/adeo/components/icon/icon.module.d.ts +8 -0
  129. package/adeo/components/icon/icon.service.d.ts +13 -0
  130. package/adeo/components/icon/index.d.ts +3 -0
  131. package/adeo/components/icon/public-api.d.ts +1 -0
  132. package/adeo/components/layer/classes/layer-injector.d.ts +10 -0
  133. package/adeo/components/layer/classes/layer-ref.d.ts +21 -0
  134. package/adeo/components/layer/index.d.ts +5 -0
  135. package/adeo/components/layer/interfaces/index.d.ts +3 -0
  136. package/adeo/components/layer/interfaces/layer-config.d.ts +5 -0
  137. package/adeo/components/layer/interfaces/layer-di-params.d.ts +6 -0
  138. package/adeo/components/layer/interfaces/layer-ref.d.ts +15 -0
  139. package/adeo/components/layer/layer-animation.d.ts +1 -0
  140. package/adeo/components/layer/layer.component.d.ts +20 -0
  141. package/adeo/components/layer/layer.module.d.ts +9 -0
  142. package/adeo/components/layer/layer.service.d.ts +19 -0
  143. package/adeo/components/layer/public-api.d.ts +1 -0
  144. package/adeo/components/layer/tokens/index.d.ts +3 -0
  145. package/adeo/components/layer/tokens/layer-config.token.d.ts +2 -0
  146. package/adeo/components/layer/tokens/layer-data.token.d.ts +2 -0
  147. package/adeo/components/layer/tokens/layer-ref.token.d.ts +2 -0
  148. package/adeo/components/listbox/index.d.ts +3 -0
  149. package/adeo/components/listbox/listbox.component.d.ts +18 -0
  150. package/adeo/components/listbox/listbox.module.d.ts +10 -0
  151. package/adeo/components/listbox/model/listbox-item.d.ts +6 -0
  152. package/adeo/components/listbox/public-api.d.ts +1 -0
  153. package/adeo/components/loader/index.d.ts +3 -0
  154. package/adeo/components/loader/loader.component.d.ts +25 -0
  155. package/adeo/components/loader/loader.d.ts +16 -0
  156. package/adeo/components/loader/loader.module.d.ts +8 -0
  157. package/adeo/components/loader/loader.service.d.ts +18 -0
  158. package/adeo/components/loader/public-api.d.ts +1 -0
  159. package/adeo/components/notification/index.d.ts +8 -0
  160. package/adeo/components/notification/notification-animation.d.ts +1 -0
  161. package/adeo/components/notification/notification-container.component.d.ts +12 -0
  162. package/adeo/components/notification/notification-footer.d.ts +5 -0
  163. package/adeo/components/notification/notification-message.d.ts +5 -0
  164. package/adeo/components/notification/notification-title.d.ts +5 -0
  165. package/adeo/components/notification/notification.component.d.ts +9 -0
  166. package/adeo/components/notification/notification.d.ts +15 -0
  167. package/adeo/components/notification/notification.module.d.ts +15 -0
  168. package/adeo/components/notification/notification.service.d.ts +16 -0
  169. package/adeo/components/notification/public-api.d.ts +1 -0
  170. package/adeo/components/pagination/index.d.ts +2 -0
  171. package/adeo/components/pagination/pagination.component.d.ts +48 -0
  172. package/adeo/components/pagination/pagination.d.ts +7 -0
  173. package/adeo/components/pagination/pagination.module.d.ts +13 -0
  174. package/adeo/components/pagination/public-api.d.ts +1 -0
  175. package/adeo/components/progress-bar/index.d.ts +2 -0
  176. package/adeo/components/progress-bar/progress-bar-size.d.ts +1 -0
  177. package/adeo/components/progress-bar/progress-bar-theme.d.ts +1 -0
  178. package/adeo/components/progress-bar/progress-bar.component.d.ts +15 -0
  179. package/adeo/components/progress-bar/progress-bar.module.d.ts +8 -0
  180. package/adeo/components/progress-bar/public-api.d.ts +1 -0
  181. package/adeo/components/public-api.d.ts +28 -0
  182. package/adeo/components/select/index.d.ts +2 -0
  183. package/adeo/components/select/public-api.d.ts +1 -0
  184. package/adeo/components/select/select-size.d.ts +5 -0
  185. package/adeo/components/select/select.component.d.ts +8 -0
  186. package/adeo/components/select/select.module.d.ts +8 -0
  187. package/adeo/components/stepper/index.d.ts +3 -0
  188. package/adeo/components/stepper/public-api.d.ts +1 -0
  189. package/adeo/components/stepper/step-state.d.ts +1 -0
  190. package/adeo/components/stepper/step.component.d.ts +20 -0
  191. package/adeo/components/stepper/stepper.component.d.ts +20 -0
  192. package/adeo/components/stepper/stepper.module.d.ts +10 -0
  193. package/adeo/components/tabs/index.d.ts +3 -0
  194. package/adeo/components/tabs/public-api.d.ts +1 -0
  195. package/adeo/components/tabs/tab-selectors.d.ts +2 -0
  196. package/adeo/components/tabs/tab.component.d.ts +16 -0
  197. package/adeo/components/tabs/tabs.component.d.ts +36 -0
  198. package/adeo/components/tabs/tabs.module.d.ts +9 -0
  199. package/adeo/components/tag/index.d.ts +2 -0
  200. package/adeo/components/tag/public-api.d.ts +1 -0
  201. package/adeo/components/tag/tag-type.d.ts +5 -0
  202. package/adeo/components/tag/tag.component.d.ts +23 -0
  203. package/adeo/components/tag/tag.module.d.ts +9 -0
  204. package/adeo/components/taglist/components/taglist-layer-content/taglist-layer-content.component.d.ts +14 -0
  205. package/adeo/components/taglist/index.d.ts +3 -0
  206. package/adeo/components/taglist/public-api.d.ts +1 -0
  207. package/adeo/components/taglist/taglist.component.d.ts +26 -0
  208. package/adeo/components/taglist/taglist.module.d.ts +11 -0
  209. package/adeo/components/text-area/index.d.ts +2 -0
  210. package/adeo/components/text-area/public-api.d.ts +1 -0
  211. package/adeo/components/text-area/text-area.component.d.ts +12 -0
  212. package/adeo/components/text-area/text-area.module.d.ts +7 -0
  213. package/adeo/components/text-input/public-api.d.ts +2 -0
  214. package/adeo/components/text-input/text-input.component.d.ts +21 -0
  215. package/adeo/components/text-input/text-input.d.ts +1 -0
  216. package/adeo/components/text-input/text-input.module.d.ts +10 -0
  217. package/adeo/components/toggle/index.d.ts +2 -0
  218. package/adeo/components/toggle/public-api.d.ts +1 -0
  219. package/adeo/components/toggle/toggle-size.d.ts +1 -0
  220. package/adeo/components/toggle/toggle.component.d.ts +22 -0
  221. package/adeo/components/toggle/toggle.module.d.ts +8 -0
  222. package/adeo/components/tooltip/directive/tooltip.directive.d.ts +18 -0
  223. package/adeo/components/tooltip/index.d.ts +3 -0
  224. package/adeo/components/tooltip/public-api.d.ts +1 -0
  225. package/adeo/components/tooltip/tooltip-position.d.ts +1 -0
  226. package/adeo/components/tooltip/tooltip.component.d.ts +8 -0
  227. package/adeo/components/tooltip/tooltip.module.d.ts +9 -0
  228. package/adeo/esm2020/common/global-events/global-events.module.mjs +15 -0
  229. package/adeo/esm2020/common/global-events/global-events.service.mjs +30 -0
  230. package/adeo/esm2020/common/global-events/public-api.mjs +3 -0
  231. package/adeo/esm2020/common/index.mjs +3 -0
  232. package/adeo/esm2020/common/utils/boolean-property.mjs +4 -0
  233. package/adeo/esm2020/common/utils/generate-id.mjs +7 -0
  234. package/adeo/esm2020/common/utils/get-random-number.mjs +6 -0
  235. package/adeo/esm2020/common/utils/index.mjs +5 -0
  236. package/adeo/esm2020/common/utils/overwrite-style.mjs +5 -0
  237. package/adeo/esm2020/common/utils/public-api.mjs +2 -0
  238. package/adeo/esm2020/components/autocomplete/autocomplete.component.mjs +261 -0
  239. package/adeo/esm2020/components/autocomplete/autocomplete.module.mjs +48 -0
  240. package/adeo/esm2020/components/autocomplete/index.mjs +3 -0
  241. package/adeo/esm2020/components/autocomplete/public-api.mjs +2 -0
  242. package/adeo/esm2020/components/badge/badge.component.mjs +30 -0
  243. package/adeo/esm2020/components/badge/badge.mjs +2 -0
  244. package/adeo/esm2020/components/badge/badge.module.mjs +18 -0
  245. package/adeo/esm2020/components/badge/index.mjs +3 -0
  246. package/adeo/esm2020/components/badge/public-api.mjs +2 -0
  247. package/adeo/esm2020/components/built-it-menu/built-it-menu.component.mjs +34 -0
  248. package/adeo/esm2020/components/built-it-menu/built-it-menu.module.mjs +19 -0
  249. package/adeo/esm2020/components/built-it-menu/index.mjs +3 -0
  250. package/adeo/esm2020/components/built-it-menu/model/built-it-menu.mjs +2 -0
  251. package/adeo/esm2020/components/built-it-menu/public-api.mjs +2 -0
  252. package/adeo/esm2020/components/button/button.component.mjs +53 -0
  253. package/adeo/esm2020/components/button/button.mjs +2 -0
  254. package/adeo/esm2020/components/button/button.module.mjs +18 -0
  255. package/adeo/esm2020/components/button/index.mjs +3 -0
  256. package/adeo/esm2020/components/button/public-api.mjs +2 -0
  257. package/adeo/esm2020/components/checkbox/checkbox.component.mjs +58 -0
  258. package/adeo/esm2020/components/checkbox/checkbox.module.mjs +21 -0
  259. package/adeo/esm2020/components/checkbox/public-api.mjs +3 -0
  260. package/adeo/esm2020/components/datatable/components/caption/moz-datatable-caption.component.mjs +26 -0
  261. package/adeo/esm2020/components/datatable/components/content/moz-datatable-content-cell.component.mjs +16 -0
  262. package/adeo/esm2020/components/datatable/components/footer/moz-datatable-footer.component.mjs +58 -0
  263. package/adeo/esm2020/components/datatable/components/header/moz-datatable-header-cell.component.mjs +16 -0
  264. package/adeo/esm2020/components/datatable/components/row/moz-datatable-row-expansion-content.component.mjs +14 -0
  265. package/adeo/esm2020/components/datatable/components/selection/moz-datatable-selection.component.mjs +289 -0
  266. package/adeo/esm2020/components/datatable/directives/moz-datatable-sort.directive.mjs +65 -0
  267. package/adeo/esm2020/components/datatable/model/column-def.mjs +2 -0
  268. package/adeo/esm2020/components/datatable/model/datatable-settings.mjs +2 -0
  269. package/adeo/esm2020/components/datatable/model/footer-settings.mjs +2 -0
  270. package/adeo/esm2020/components/datatable/model/row-data.mjs +2 -0
  271. package/adeo/esm2020/components/datatable/model/selection-settings.mjs +2 -0
  272. package/adeo/esm2020/components/datatable/moz-datatable.component.mjs +161 -0
  273. package/adeo/esm2020/components/datatable/moz-datatable.module.mjs +87 -0
  274. package/adeo/esm2020/components/datatable/public-api.mjs +14 -0
  275. package/adeo/esm2020/components/datatable-management/components/moz-datatable-management-content/moz-datatable-management-content.component.mjs +80 -0
  276. package/adeo/esm2020/components/datatable-management/moz-datatable-management.component.mjs +45 -0
  277. package/adeo/esm2020/components/datatable-management/moz-datatable-management.module.mjs +45 -0
  278. package/adeo/esm2020/components/datatable-management/public-api.mjs +4 -0
  279. package/adeo/esm2020/components/dialog/classes/dialog-config.mjs +9 -0
  280. package/adeo/esm2020/components/dialog/classes/dialog-injector.mjs +22 -0
  281. package/adeo/esm2020/components/dialog/classes/dialog-ref.mjs +49 -0
  282. package/adeo/esm2020/components/dialog/classes/index.mjs +4 -0
  283. package/adeo/esm2020/components/dialog/dialog-animation.mjs +18 -0
  284. package/adeo/esm2020/components/dialog/dialog.component.mjs +57 -0
  285. package/adeo/esm2020/components/dialog/dialog.module.mjs +20 -0
  286. package/adeo/esm2020/components/dialog/dialog.service.mjs +67 -0
  287. package/adeo/esm2020/components/dialog/interfaces/dialog-config.mjs +2 -0
  288. package/adeo/esm2020/components/dialog/interfaces/dialog-di-params.mjs +2 -0
  289. package/adeo/esm2020/components/dialog/interfaces/dialog-ref.mjs +2 -0
  290. package/adeo/esm2020/components/dialog/interfaces/index.mjs +4 -0
  291. package/adeo/esm2020/components/dialog/public-api.mjs +6 -0
  292. package/adeo/esm2020/components/dialog/tokens/dialog-config.token.mjs +3 -0
  293. package/adeo/esm2020/components/dialog/tokens/dialog-data.token.mjs +3 -0
  294. package/adeo/esm2020/components/dialog/tokens/dialog-ref.token.mjs +3 -0
  295. package/adeo/esm2020/components/dialog/tokens/index.mjs +4 -0
  296. package/adeo/esm2020/components/dropdown/dropdown.component.mjs +217 -0
  297. package/adeo/esm2020/components/dropdown/dropdown.module.mjs +44 -0
  298. package/adeo/esm2020/components/dropdown/index.mjs +3 -0
  299. package/adeo/esm2020/components/dropdown/public-api.mjs +2 -0
  300. package/adeo/esm2020/components/field/directives/input-icon.directive.mjs +15 -0
  301. package/adeo/esm2020/components/field/field-error.component.mjs +13 -0
  302. package/adeo/esm2020/components/field/field.component.mjs +40 -0
  303. package/adeo/esm2020/components/field/field.module.mjs +20 -0
  304. package/adeo/esm2020/components/field/index.mjs +5 -0
  305. package/adeo/esm2020/components/field/public-api.mjs +2 -0
  306. package/adeo/esm2020/components/file-uploader/components/uploaded-files/uploaded-files.component.mjs +50 -0
  307. package/adeo/esm2020/components/file-uploader/directives/moz-drag-n-drop.directive.mjs +53 -0
  308. package/adeo/esm2020/components/file-uploader/file-uploader.component.mjs +106 -0
  309. package/adeo/esm2020/components/file-uploader/file-uploader.module.mjs +21 -0
  310. package/adeo/esm2020/components/file-uploader/index.mjs +5 -0
  311. package/adeo/esm2020/components/file-uploader/public-api.mjs +2 -0
  312. package/adeo/esm2020/components/heading/heading-alignment.mjs +2 -0
  313. package/adeo/esm2020/components/heading/heading-weight-type.mjs +2 -0
  314. package/adeo/esm2020/components/heading/heading.component.mjs +32 -0
  315. package/adeo/esm2020/components/heading/heading.module.mjs +18 -0
  316. package/adeo/esm2020/components/heading/index.mjs +5 -0
  317. package/adeo/esm2020/components/heading/public-api.mjs +2 -0
  318. package/adeo/esm2020/components/icon/icon-size.mjs +8 -0
  319. package/adeo/esm2020/components/icon/icon.component.mjs +49 -0
  320. package/adeo/esm2020/components/icon/icon.module.mjs +18 -0
  321. package/adeo/esm2020/components/icon/icon.service.mjs +42 -0
  322. package/adeo/esm2020/components/icon/index.mjs +4 -0
  323. package/adeo/esm2020/components/icon/public-api.mjs +2 -0
  324. package/adeo/esm2020/components/layer/classes/layer-injector.mjs +22 -0
  325. package/adeo/esm2020/components/layer/classes/layer-ref.mjs +38 -0
  326. package/adeo/esm2020/components/layer/index.mjs +6 -0
  327. package/adeo/esm2020/components/layer/interfaces/index.mjs +4 -0
  328. package/adeo/esm2020/components/layer/interfaces/layer-config.mjs +2 -0
  329. package/adeo/esm2020/components/layer/interfaces/layer-di-params.mjs +2 -0
  330. package/adeo/esm2020/components/layer/interfaces/layer-ref.mjs +2 -0
  331. package/adeo/esm2020/components/layer/layer-animation.mjs +18 -0
  332. package/adeo/esm2020/components/layer/layer.component.mjs +45 -0
  333. package/adeo/esm2020/components/layer/layer.module.mjs +21 -0
  334. package/adeo/esm2020/components/layer/layer.service.mjs +56 -0
  335. package/adeo/esm2020/components/layer/public-api.mjs +2 -0
  336. package/adeo/esm2020/components/layer/tokens/index.mjs +4 -0
  337. package/adeo/esm2020/components/layer/tokens/layer-config.token.mjs +3 -0
  338. package/adeo/esm2020/components/layer/tokens/layer-data.token.mjs +3 -0
  339. package/adeo/esm2020/components/layer/tokens/layer-ref.token.mjs +3 -0
  340. package/adeo/esm2020/components/listbox/index.mjs +4 -0
  341. package/adeo/esm2020/components/listbox/listbox.component.mjs +68 -0
  342. package/adeo/esm2020/components/listbox/listbox.module.mjs +20 -0
  343. package/adeo/esm2020/components/listbox/model/listbox-item.mjs +2 -0
  344. package/adeo/esm2020/components/listbox/public-api.mjs +2 -0
  345. package/adeo/esm2020/components/loader/index.mjs +4 -0
  346. package/adeo/esm2020/components/loader/loader.component.mjs +53 -0
  347. package/adeo/esm2020/components/loader/loader.mjs +11 -0
  348. package/adeo/esm2020/components/loader/loader.module.mjs +20 -0
  349. package/adeo/esm2020/components/loader/loader.service.mjs +53 -0
  350. package/adeo/esm2020/components/loader/public-api.mjs +2 -0
  351. package/adeo/esm2020/components/notification/index.mjs +9 -0
  352. package/adeo/esm2020/components/notification/notification-animation.mjs +21 -0
  353. package/adeo/esm2020/components/notification/notification-container.component.mjs +38 -0
  354. package/adeo/esm2020/components/notification/notification-footer.mjs +11 -0
  355. package/adeo/esm2020/components/notification/notification-message.mjs +11 -0
  356. package/adeo/esm2020/components/notification/notification-title.mjs +11 -0
  357. package/adeo/esm2020/components/notification/notification.component.mjs +29 -0
  358. package/adeo/esm2020/components/notification/notification.mjs +8 -0
  359. package/adeo/esm2020/components/notification/notification.module.mjs +66 -0
  360. package/adeo/esm2020/components/notification/notification.service.mjs +40 -0
  361. package/adeo/esm2020/components/notification/public-api.mjs +2 -0
  362. package/adeo/esm2020/components/pagination/index.mjs +3 -0
  363. package/adeo/esm2020/components/pagination/pagination.component.mjs +140 -0
  364. package/adeo/esm2020/components/pagination/pagination.mjs +4 -0
  365. package/adeo/esm2020/components/pagination/pagination.module.mjs +23 -0
  366. package/adeo/esm2020/components/pagination/public-api.mjs +2 -0
  367. package/adeo/esm2020/components/progress-bar/index.mjs +3 -0
  368. package/adeo/esm2020/components/progress-bar/progress-bar-size.mjs +2 -0
  369. package/adeo/esm2020/components/progress-bar/progress-bar-theme.mjs +2 -0
  370. package/adeo/esm2020/components/progress-bar/progress-bar.component.mjs +38 -0
  371. package/adeo/esm2020/components/progress-bar/progress-bar.module.mjs +18 -0
  372. package/adeo/esm2020/components/progress-bar/public-api.mjs +2 -0
  373. package/adeo/esm2020/components/public-api.mjs +29 -0
  374. package/adeo/esm2020/components/select/index.mjs +3 -0
  375. package/adeo/esm2020/components/select/public-api.mjs +2 -0
  376. package/adeo/esm2020/components/select/select-size.mjs +6 -0
  377. package/adeo/esm2020/components/select/select.component.mjs +25 -0
  378. package/adeo/esm2020/components/select/select.module.mjs +18 -0
  379. package/adeo/esm2020/components/stepper/index.mjs +4 -0
  380. package/adeo/esm2020/components/stepper/public-api.mjs +2 -0
  381. package/adeo/esm2020/components/stepper/step-state.mjs +2 -0
  382. package/adeo/esm2020/components/stepper/step.component.mjs +51 -0
  383. package/adeo/esm2020/components/stepper/stepper.component.mjs +79 -0
  384. package/adeo/esm2020/components/stepper/stepper.module.mjs +20 -0
  385. package/adeo/esm2020/components/tabs/index.mjs +4 -0
  386. package/adeo/esm2020/components/tabs/public-api.mjs +2 -0
  387. package/adeo/esm2020/components/tabs/tab-selectors.mjs +3 -0
  388. package/adeo/esm2020/components/tabs/tab.component.mjs +53 -0
  389. package/adeo/esm2020/components/tabs/tabs.component.mjs +128 -0
  390. package/adeo/esm2020/components/tabs/tabs.module.mjs +19 -0
  391. package/adeo/esm2020/components/tag/index.mjs +3 -0
  392. package/adeo/esm2020/components/tag/public-api.mjs +2 -0
  393. package/adeo/esm2020/components/tag/tag-type.mjs +2 -0
  394. package/adeo/esm2020/components/tag/tag.component.mjs +61 -0
  395. package/adeo/esm2020/components/tag/tag.module.mjs +19 -0
  396. package/adeo/esm2020/components/taglist/components/taglist-layer-content/taglist-layer-content.component.mjs +35 -0
  397. package/adeo/esm2020/components/taglist/index.mjs +4 -0
  398. package/adeo/esm2020/components/taglist/public-api.mjs +2 -0
  399. package/adeo/esm2020/components/taglist/taglist.component.mjs +76 -0
  400. package/adeo/esm2020/components/taglist/taglist.module.mjs +21 -0
  401. package/adeo/esm2020/components/text-area/index.mjs +3 -0
  402. package/adeo/esm2020/components/text-area/public-api.mjs +2 -0
  403. package/adeo/esm2020/components/text-area/text-area.component.mjs +43 -0
  404. package/adeo/esm2020/components/text-area/text-area.module.mjs +16 -0
  405. package/adeo/esm2020/components/text-input/public-api.mjs +3 -0
  406. package/adeo/esm2020/components/text-input/text-input.component.mjs +64 -0
  407. package/adeo/esm2020/components/text-input/text-input.mjs +2 -0
  408. package/adeo/esm2020/components/text-input/text-input.module.mjs +20 -0
  409. package/adeo/esm2020/components/toggle/index.mjs +3 -0
  410. package/adeo/esm2020/components/toggle/public-api.mjs +2 -0
  411. package/adeo/esm2020/components/toggle/toggle-size.mjs +2 -0
  412. package/adeo/esm2020/components/toggle/toggle.component.mjs +59 -0
  413. package/adeo/esm2020/components/toggle/toggle.module.mjs +18 -0
  414. package/adeo/esm2020/components/tooltip/directive/tooltip.directive.mjs +85 -0
  415. package/adeo/esm2020/components/tooltip/index.mjs +4 -0
  416. package/adeo/esm2020/components/tooltip/public-api.mjs +2 -0
  417. package/adeo/esm2020/components/tooltip/tooltip-position.mjs +2 -0
  418. package/adeo/esm2020/components/tooltip/tooltip.component.mjs +20 -0
  419. package/adeo/esm2020/components/tooltip/tooltip.module.mjs +19 -0
  420. package/adeo/esm2020/mozaic-ds-angular.mjs +5 -0
  421. package/adeo/esm2020/public-api.mjs +3 -0
  422. package/adeo/fesm2015/mozaic-ds-angular.mjs +4001 -0
  423. package/adeo/fesm2015/mozaic-ds-angular.mjs.map +1 -0
  424. package/adeo/fesm2020/mozaic-ds-angular.mjs +3954 -0
  425. package/adeo/fesm2020/mozaic-ds-angular.mjs.map +1 -0
  426. package/adeo/index.d.ts +5 -0
  427. package/adeo/package.json +40 -0
  428. package/adeo/public-api.d.ts +2 -0
  429. package/assets/tokens/adeo/android/colors.xml +11 -2
  430. package/assets/tokens/adeo/css/_variables.scss +11 -2
  431. package/assets/tokens/adeo/css/root.scss +12 -3
  432. package/assets/tokens/adeo/ios/StyleDictionaryColor.h +10 -1
  433. package/assets/tokens/adeo/ios/StyleDictionaryColor.m +11 -2
  434. package/assets/tokens/adeo/ios/StyleDictionaryColor.swift +11 -2
  435. package/assets/tokens/adeo/js/tokens.js +11 -2
  436. package/assets/tokens/adeo/js/tokensObject.js +165 -15
  437. package/assets/tokens/adeo/scss/_tokens.scss +31 -3
  438. package/components/autocomplete/autocomplete.component.d.ts +5 -4
  439. package/components/badge/public-api.d.ts +1 -0
  440. package/components/built-it-menu/built-it-menu.component.d.ts +12 -0
  441. package/components/built-it-menu/built-it-menu.module.d.ts +9 -0
  442. package/components/built-it-menu/index.d.ts +2 -0
  443. package/components/built-it-menu/model/built-it-menu.d.ts +9 -0
  444. package/components/built-it-menu/public-api.d.ts +1 -0
  445. package/components/button/public-api.d.ts +1 -0
  446. package/components/datatable/components/footer/moz-datatable-footer.component.d.ts +3 -3
  447. package/components/dropdown/dropdown.component.d.ts +1 -1
  448. package/components/field/index.d.ts +4 -0
  449. package/components/field/public-api.d.ts +1 -4
  450. package/components/file-uploader/components/uploaded-files/uploaded-files.component.d.ts +17 -0
  451. package/components/file-uploader/directives/moz-drag-n-drop.directive.d.ts +11 -0
  452. package/components/file-uploader/file-uploader.component.d.ts +34 -0
  453. package/components/file-uploader/file-uploader.module.d.ts +11 -0
  454. package/components/file-uploader/index.d.ts +4 -0
  455. package/components/file-uploader/public-api.d.ts +1 -0
  456. package/components/heading/heading-alignment.d.ts +1 -0
  457. package/components/heading/heading-weight-type.d.ts +1 -0
  458. package/components/heading/heading.component.d.ts +14 -0
  459. package/components/heading/heading.module.d.ts +8 -0
  460. package/components/heading/index.d.ts +4 -0
  461. package/components/heading/public-api.d.ts +1 -0
  462. package/components/icon/index.d.ts +3 -0
  463. package/components/icon/public-api.d.ts +1 -3
  464. package/components/layer/index.d.ts +5 -0
  465. package/components/layer/public-api.d.ts +1 -5
  466. package/components/loader/index.d.ts +3 -0
  467. package/components/loader/loader.component.d.ts +2 -2
  468. package/components/loader/public-api.d.ts +1 -3
  469. package/components/notification/index.d.ts +8 -0
  470. package/components/notification/public-api.d.ts +1 -8
  471. package/components/pagination/index.d.ts +2 -0
  472. package/components/pagination/public-api.d.ts +1 -2
  473. package/components/progress-bar/index.d.ts +2 -0
  474. package/components/progress-bar/public-api.d.ts +1 -2
  475. package/components/public-api.d.ts +5 -2
  476. package/components/select/index.d.ts +2 -0
  477. package/components/select/public-api.d.ts +1 -2
  478. package/components/stepper/index.d.ts +3 -0
  479. package/components/stepper/public-api.d.ts +1 -3
  480. package/components/tabs/index.d.ts +3 -0
  481. package/components/tabs/public-api.d.ts +1 -3
  482. package/components/tag/index.d.ts +2 -0
  483. package/components/tag/public-api.d.ts +1 -2
  484. package/components/text-area/index.d.ts +2 -0
  485. package/components/text-area/public-api.d.ts +1 -2
  486. package/components/toggle/index.d.ts +2 -0
  487. package/components/toggle/public-api.d.ts +1 -2
  488. package/esm2020/components/autocomplete/autocomplete.component.mjs +45 -36
  489. package/esm2020/components/badge/public-api.mjs +2 -0
  490. package/esm2020/components/built-it-menu/built-it-menu.component.mjs +34 -0
  491. package/esm2020/components/built-it-menu/built-it-menu.module.mjs +19 -0
  492. package/esm2020/components/built-it-menu/index.mjs +3 -0
  493. package/esm2020/components/built-it-menu/model/built-it-menu.mjs +2 -0
  494. package/esm2020/components/built-it-menu/public-api.mjs +2 -0
  495. package/esm2020/components/button/public-api.mjs +2 -0
  496. package/esm2020/components/datatable/components/footer/moz-datatable-footer.component.mjs +8 -6
  497. package/esm2020/components/dropdown/dropdown.component.mjs +6 -6
  498. package/esm2020/components/dropdown/dropdown.module.mjs +1 -1
  499. package/esm2020/components/field/index.mjs +5 -0
  500. package/esm2020/components/field/public-api.mjs +2 -5
  501. package/esm2020/components/file-uploader/components/uploaded-files/uploaded-files.component.mjs +50 -0
  502. package/esm2020/components/file-uploader/directives/moz-drag-n-drop.directive.mjs +53 -0
  503. package/esm2020/components/file-uploader/file-uploader.component.mjs +106 -0
  504. package/esm2020/components/file-uploader/file-uploader.module.mjs +21 -0
  505. package/esm2020/components/file-uploader/index.mjs +5 -0
  506. package/esm2020/components/file-uploader/public-api.mjs +2 -0
  507. package/esm2020/components/heading/heading-alignment.mjs +2 -0
  508. package/esm2020/components/heading/heading-weight-type.mjs +2 -0
  509. package/esm2020/components/heading/heading.component.mjs +32 -0
  510. package/esm2020/components/heading/heading.module.mjs +18 -0
  511. package/esm2020/components/heading/index.mjs +5 -0
  512. package/esm2020/components/heading/public-api.mjs +2 -0
  513. package/esm2020/components/icon/icon.service.mjs +1 -1
  514. package/esm2020/components/icon/index.mjs +4 -0
  515. package/esm2020/components/icon/public-api.mjs +2 -4
  516. package/esm2020/components/layer/index.mjs +6 -0
  517. package/esm2020/components/layer/layer.module.mjs +2 -2
  518. package/esm2020/components/layer/public-api.mjs +2 -6
  519. package/esm2020/components/listbox/listbox.component.mjs +2 -2
  520. package/esm2020/components/loader/index.mjs +4 -0
  521. package/esm2020/components/loader/loader.component.mjs +9 -3
  522. package/esm2020/components/loader/public-api.mjs +2 -4
  523. package/esm2020/components/notification/index.mjs +9 -0
  524. package/esm2020/components/notification/public-api.mjs +2 -9
  525. package/esm2020/components/pagination/index.mjs +3 -0
  526. package/esm2020/components/pagination/public-api.mjs +2 -3
  527. package/esm2020/components/progress-bar/index.mjs +3 -0
  528. package/esm2020/components/progress-bar/public-api.mjs +2 -3
  529. package/esm2020/components/public-api.mjs +6 -3
  530. package/esm2020/components/select/index.mjs +3 -0
  531. package/esm2020/components/select/public-api.mjs +2 -3
  532. package/esm2020/components/select/select.component.mjs +2 -2
  533. package/esm2020/components/stepper/index.mjs +4 -0
  534. package/esm2020/components/stepper/public-api.mjs +2 -4
  535. package/esm2020/components/stepper/stepper.module.mjs +2 -2
  536. package/esm2020/components/tabs/index.mjs +4 -0
  537. package/esm2020/components/tabs/public-api.mjs +2 -4
  538. package/esm2020/components/tag/index.mjs +3 -0
  539. package/esm2020/components/tag/public-api.mjs +2 -3
  540. package/esm2020/components/tag/tag.component.mjs +2 -2
  541. package/esm2020/components/text-area/index.mjs +3 -0
  542. package/esm2020/components/text-area/public-api.mjs +2 -3
  543. package/esm2020/components/text-input/text-input.module.mjs +2 -2
  544. package/esm2020/components/toggle/index.mjs +3 -0
  545. package/esm2020/components/toggle/public-api.mjs +2 -3
  546. package/esm2020/components/tooltip/tooltip.component.mjs +2 -2
  547. package/fesm2015/mozaic-ds-angular.mjs +378 -56
  548. package/fesm2015/mozaic-ds-angular.mjs.map +1 -1
  549. package/fesm2020/mozaic-ds-angular.mjs +372 -56
  550. package/fesm2020/mozaic-ds-angular.mjs.map +1 -1
  551. package/package.json +2 -2
@@ -0,0 +1,161 @@
1
+ import { Component, Input, ContentChildren, ContentChild, Output, EventEmitter, ViewChild, ViewEncapsulation, } from '@angular/core';
2
+ import { MozDatatableSelectionComponent } from './components/selection/moz-datatable-selection.component';
3
+ import { MozDatatableHeaderCellComponent } from './components/header/moz-datatable-header-cell.component';
4
+ import { MozDatatableContentCellComponent } from './components/content/moz-datatable-content-cell.component';
5
+ import { MozDatatableRowExpansionContentComponent } from './components/row/moz-datatable-row-expansion-content.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "@angular/forms";
9
+ import * as i3 from "../button/button.component";
10
+ import * as i4 from "../checkbox/checkbox.component";
11
+ import * as i5 from "../icon/icon.component";
12
+ import * as i6 from "./components/footer/moz-datatable-footer.component";
13
+ import * as i7 from "./components/selection/moz-datatable-selection.component";
14
+ import * as i8 from "./directives/moz-datatable-sort.directive";
15
+ export class MozDatatableComponent {
16
+ constructor() {
17
+ // FROM BODY DATATABLE
18
+ this.rowClick = new EventEmitter();
19
+ this.sortColumn = new EventEmitter();
20
+ this.rowSelected = new EventEmitter();
21
+ this.rowAllSelected = new EventEmitter();
22
+ this.emptyBodyButtonClicked = new EventEmitter();
23
+ // FROM PAGINATION FOOTER
24
+ this.pageChange = new EventEmitter();
25
+ this.rowPerPageChange = new EventEmitter();
26
+ this.customHeaderCellsMap = new Map();
27
+ this.customContentCellsMap = new Map();
28
+ this.expandedRows = [];
29
+ }
30
+ ngAfterContentInit() {
31
+ this.buildCustomHeaderMap();
32
+ this.buildCustomContentMap();
33
+ }
34
+ buildCustomHeaderMap() {
35
+ if (this.headerCellComponents) {
36
+ this.headerCellComponents.forEach((header) => {
37
+ if (header.field && header.templateRef) {
38
+ this.customHeaderCellsMap.set(header.field, header.templateRef);
39
+ }
40
+ });
41
+ }
42
+ }
43
+ buildCustomContentMap() {
44
+ if (this.contentCellComponents) {
45
+ this.contentCellComponents.forEach((cell) => {
46
+ if (cell.field && cell.templateRef) {
47
+ this.customContentCellsMap.set(cell.field, cell.templateRef);
48
+ }
49
+ });
50
+ }
51
+ }
52
+ getCustomExpansionRowContent() {
53
+ return this.expansionContentComponent?.templateRef;
54
+ }
55
+ toggleRowExpansion(index) {
56
+ this.expandedRows[index] = !this.expandedRows[index];
57
+ }
58
+ hasSubRow() {
59
+ return (this.datatableSettings?.rowData.filter((row) => row['subRow']).length || 0) > 0;
60
+ }
61
+ getCustomHeader(columnId) {
62
+ return this.customHeaderCellsMap.get(columnId);
63
+ }
64
+ getCustomContent(columnId) {
65
+ return this.customContentCellsMap.get(columnId);
66
+ }
67
+ getColspanForExpansionRow() {
68
+ return this.datatableSettings?.activateSelection
69
+ ? (this.datatableSettings?.columnDefs?.length || 0) + 2
70
+ : (this.datatableSettings?.columnDefs?.length || 0) + 1;
71
+ }
72
+ emptyButtonClickEvent() {
73
+ this.emptyBodyButtonClicked.emit(true);
74
+ }
75
+ rowClickEvent(event, rowClick) {
76
+ if (event.target instanceof HTMLInputElement) {
77
+ event.stopPropagation();
78
+ return;
79
+ }
80
+ this.rowClick.emit(rowClick);
81
+ }
82
+ selectionAllRowEvent($event) {
83
+ this.rowAllSelected.emit($event);
84
+ }
85
+ selectionRowEvent($event) {
86
+ this.rowSelected.emit(this.selectionSettings);
87
+ $event.stopPropagation();
88
+ }
89
+ rowPerPageChangeEvent($event) {
90
+ this.rowPerPageChange.emit($event);
91
+ }
92
+ pageChangeEvent($event) {
93
+ this.pageChange.emit($event);
94
+ }
95
+ sortEvent($event) {
96
+ this.sortColumn.emit($event);
97
+ }
98
+ getStyleLeftForColumnFixed() {
99
+ return this.datatableSettings?.activateSelection && this.thSelectionRef
100
+ ? this.thSelectionRef.nativeElement.clientWidth
101
+ : 0;
102
+ }
103
+ getLeftValueFixFirstColumn() {
104
+ let value = 0;
105
+ if (this.datatableSettings?.activateSelection && this.thSelectionRef) {
106
+ value += this.thSelectionRef.nativeElement.clientWidth;
107
+ }
108
+ if (this.hasSubRow() && this.thSubRowRef) {
109
+ value += this.thSubRowRef.nativeElement.clientWidth;
110
+ }
111
+ return value;
112
+ }
113
+ getUnhiddenColumns() {
114
+ return this.datatableSettings?.columnDefs.filter((headTitle) => !headTitle.hide) || [];
115
+ }
116
+ }
117
+ MozDatatableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MozDatatableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
118
+ MozDatatableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: MozDatatableComponent, selector: "moz-datatable", inputs: { footerSettings: "footerSettings", selectionSettings: "selectionSettings", datatableSettings: "datatableSettings" }, outputs: { rowClick: "rowClick", sortColumn: "sortColumn", rowSelected: "rowSelected", rowAllSelected: "rowAllSelected", emptyBodyButtonClicked: "emptyBodyButtonClicked", pageChange: "pageChange", rowPerPageChange: "rowPerPageChange" }, queries: [{ propertyName: "expansionContentComponent", first: true, predicate: MozDatatableRowExpansionContentComponent, descendants: true }, { propertyName: "headerCellComponents", predicate: MozDatatableHeaderCellComponent }, { propertyName: "contentCellComponents", predicate: MozDatatableContentCellComponent }], viewQueries: [{ propertyName: "selectionComponent", first: true, predicate: MozDatatableSelectionComponent, descendants: true }, { propertyName: "thSelectionRef", first: true, predicate: ["thSelection"], descendants: true }, { propertyName: "thSubRowRef", first: true, predicate: ["thSubRow"], descendants: true }], ngImport: i0, template: "<div class=\"mc-datatable mc-datatable-height\">\n <div class=\"mc-datatable__header\">\n <ng-content select=\"moz-datatable-caption\"></ng-content>\n <div>\n <moz-datatable-selection\n [selectionSettings]=\"selectionSettings\"\n [paginationEnabled]=\"datatableSettings?.activatePagination\"\n [rowData]=\"datatableSettings?.rowData\"\n (updateSelectionAllEmitter)=\"selectionAllRowEvent($event)\"\n ></moz-datatable-selection>\n </div>\n </div>\n <div class=\"mc-datatable__container mc-datatable-height\">\n <div class=\"mc-datatable__main mc-datatable-height\">\n <table class=\"mc-datatable__table\">\n <thead [ngClass]=\"{ 'fix-header-row': datatableSettings?.fixHeaderRow }\">\n <tr>\n <th\n class=\"mc-datatable__cell-checkbox moz-datatable__th mc-datatable__fix-first-column\"\n *ngIf=\"\n datatableSettings?.activateSelection && selectionComponent && selectionSettings\n \"\n #thSelection\n >\n <moz-checkbox\n (change)=\"\n selectionComponent.onUdpateSelectionAllPageRows($event); selectionRowEvent($event)\n \"\n [indeterminate]=\"selectionComponent.isIndeterminate\"\n [checked]=\"selectionSettings.allSelected && !selectionComponent.isIndeterminate\"\n [disabled]=\"datatableSettings?.isLoading || false\"\n >\n </moz-checkbox>\n </th>\n <th\n *ngIf=\"hasSubRow() && !datatableSettings?.isLoading\"\n class=\"mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n #thSubRow\n ></th>\n <ng-container *ngFor=\"let columnDef of datatableSettings?.columnDefs\">\n <th\n class=\"moz-datatable__th\"\n *ngIf=\"!columnDef.hide\"\n [ngClass]=\"{\n 'mc-datatable__fix-first-column':\n datatableSettings?.fixFirstColumn &&\n getUnhiddenColumns()[0].field === columnDef.field\n }\"\n [style.left.px]=\"getLeftValueFixFirstColumn()\"\n >\n <div\n [mozDatatableSort]=\"columnDef\"\n [ngClass]=\"{ header: columnDef.sort }\"\n (sortEmitter)=\"sortEvent($event)\"\n >\n <ng-container\n *ngIf=\"getCustomHeader(columnDef.field) as customHeader; else defaultHeaderCell\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customHeader;\n context: {\n $implicit: {\n content: columnDef\n }\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultHeaderCell>\n {{ columnDef.headerName | uppercase }}\n </ng-template>\n </div>\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngIf=\"(datatableSettings?.rowData?.length || 0) > 0; else emptyBody\">\n <ng-container *ngFor=\"let row of datatableSettings?.rowData; index as i\">\n <tr class=\"mc-datatable__row-parent\" (click)=\"rowClickEvent($event, row)\">\n <td\n class=\"mc-datatable__fix-first-column\"\n *ngIf=\"datatableSettings?.activateSelection && selectionComponent\"\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingCheckbox\">\n <div class=\"skeleton-box mu-mb-100 checkbox-loading\"></div>\n </ng-container>\n <ng-template #notLoadingCheckbox>\n <moz-checkbox\n (change)=\"\n selectionComponent.onUdpateSelectionRow(row); selectionRowEvent($event)\n \"\n [(ngModel)]=\"row.selected\"\n [checked]=\"row.selected || false\"\n [disabled]=\"row.disableSelection || false\"\n >\n </moz-checkbox>\n </ng-template>\n </td>\n <ng-container *ngIf=\"hasSubRow() && !datatableSettings?.isLoading\">\n <td\n *ngIf=\"row['subRow']; else noSubRow\"\n class=\"mc-datatable__cell-button mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n >\n <button\n class=\"mc-datatable__expand mc-datatable__btn\"\n (click)=\"toggleRowExpansion(i); $event.stopPropagation()\"\n >\n <span class=\"mc-datatable__btn-icon\">\n <ng-container *ngIf=\"!expandedRows[i]; else subrowClosed\">\n <moz-icon [iconName]=\"'Navigation_Control_Circle--More_24px'\"></moz-icon>\n </ng-container>\n <ng-template #subrowClosed>\n <moz-icon [iconName]=\"'Navigation_Control_Circle--Less_24px'\"></moz-icon>\n </ng-template>\n </span>\n </button>\n </td>\n <ng-template #noSubRow\n ><td\n class=\"mc-datatable__cell-button mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n ></td\n ></ng-template>\n </ng-container>\n <ng-container *ngFor=\"let columnDef of datatableSettings?.columnDefs\">\n <td\n *ngIf=\"!columnDef.hide\"\n [ngClass]=\"{\n 'mc-datatable__fix-first-column':\n datatableSettings?.fixFirstColumn &&\n getUnhiddenColumns()[0].field === columnDef.field\n }\"\n [style.left.px]=\"getLeftValueFixFirstColumn()\"\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingCells\">\n <div class=\"skeleton-box mu-mb-100 cells-loading\"></div>\n </ng-container>\n <ng-template #notLoadingCells>\n <ng-container\n *ngIf=\"\n getCustomContent(columnDef.field) as customContent;\n else defaultContentCell\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customContent;\n context: {\n $implicit: {\n row: row,\n index: i,\n columnDefs: datatableSettings?.columnDefs,\n content: row[columnDef.field]\n }\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultContentCell>\n {{ row[columnDef.field] }}\n </ng-template>\n </ng-template>\n </td>\n </ng-container>\n </tr>\n <ng-container>\n <tr *ngIf=\"expandedRows[i]\">\n <td [attr.colspan]=\"getColspanForExpansionRow()\">\n <ng-container\n *ngIf=\"getCustomExpansionRowContent() as expansionRowContentComponent\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n expansionRowContentComponent;\n context: {\n $implicit: {\n subRowContent: row['subRow'],\n index: i,\n }\n }\n \"\n ></ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-template #emptyBody>\n <tr class=\"mc-datatable__empty\">\n <td colspan=\"5\" class=\"mc-datatable__empty-cell\">\n <div class=\"mc-datatable__empty-content\">\n <div>\n <div>\n <p>\n <strong>\n {{\n datatableSettings?.labels?.emptyBodyTitle || 'There is no result.'\n }}</strong\n ><br />\n {{\n datatableSettings?.labels?.emptyBodyDescription ||\n 'Please try changing your filters.'\n }}\n </p>\n </div>\n <div *ngIf=\"datatableSettings?.activateEmptyBodyButton\">\n <button\n moz-button\n [theme]=\"'neutral'\"\n [size]=\"'s'\"\n [variation]=\"'bordered'\"\n (click)=\"emptyButtonClickEvent()\"\n >\n <moz-icon\n iconName=\"{{\n datatableSettings?.icons?.emptyBodyButtonIcon ||\n 'Navigation_Display_Filter_24px'\n }}\"\n ></moz-icon>\n {{ datatableSettings?.labels?.emptyBodyButtonTitle || 'Change filters' }}\n </button>\n </div>\n </div>\n </div>\n </td>\n </tr></ng-template\n >\n </tbody>\n </table>\n </div>\n <moz-datatable-footer\n *ngIf=\"datatableSettings?.activatePagination\"\n [footerSettings]=\"footerSettings\"\n [isLoading]=\"datatableSettings?.isLoading\"\n (rowPerPageChangeEmitter)=\"rowPerPageChangeEvent($event)\"\n (pageChangeEmitter)=\"pageChangeEvent($event)\"\n ></moz-datatable-footer>\n </div>\n</div>\n", styles: [".mc-datatable{font-family:Roboto,sans-serif;box-sizing:border-box}.mc-datatable *,.mc-datatable :after,.mc-datatable :before{box-sizing:inherit}.mc-datatable__container{border-radius:4px;box-shadow:0 1px 5px #19191933;background-color:#e7e7f0;overflow:hidden}.mc-datatable__main{scrollbar-color:#666666 #e6e6e6;scrollbar-width:thin;overflow:auto}.mc-datatable__main::-webkit-scrollbar{background-color:#e6e6e6;height:.5rem;width:.5rem}.mc-datatable__main::-webkit-scrollbar-track{background:#e6e6e6}.mc-datatable__main::-webkit-scrollbar-thumb{background:#666666}.mc-datatable__table tr,.mc-datatable thead th,.mc-datatable thead td{height:2.9375rem}.mc-datatable__table{border-collapse:collapse;border-spacing:0;caption-side:bottom;width:100%}.mc-datatable__table>thead,.mc-datatable__table>tbody{background-color:#fff}.mc-datatable__table th,.mc-datatable__table td{border-bottom:1px solid #b3b3b3;text-align:left;vertical-align:middle;padding-right:1rem;padding-left:1rem}.mc-datatable thead th,.mc-datatable thead td{font-weight:700;font-size:.75rem;line-height:1.3333333333;color:#393879;text-transform:uppercase}.mc-datatable__head{align-items:center;display:flex;justify-content:space-between}.mc-datatable tbody tr:hover:not(.mc-datatable__empty){background-color:#eaedef}.mc-datatable tbody tr.selected{background-color:#d9f0f3}.mc-datatable tbody th,.mc-datatable tbody td{font-size:.875rem;line-height:1.2857142857;color:#191919}.mc-datatable__row-parent:not(.mc-datatable__row-parent--expanded)+.mc-datatable__row-expandable{height:0}.mc-datatable__row-parent:not(.mc-datatable__row-parent--expanded)+.mc-datatable__row-expandable .mc-datatable__row-inner{overflow:hidden;max-height:0}.mc-datatable__row-parent.mc-datatable__row-parent--expanded+.mc-datatable__row-expandable .mc-datatable__row-inner{max-height:100%}.mc-datatable__row-expandable>td{padding:0;border-bottom:0}.mc-datatable__row-expandable--offset-1 table th:first-child,.mc-datatable__row-expandable--offset-1 table td:first-child{padding-left:4.25rem}.mc-datatable__row-expandable--offset-2 table th:first-child,.mc-datatable__row-expandable--offset-2 table td:first-child{padding-left:7.75rem}.mc-datatable__cell-checkbox{width:3.25rem}.mc-datatable__cell-button{width:3.5rem}.mc-datatable__cell-field{min-width:9.375rem}td.mc-datatable__cell-number{text-align:right}.mc-datatable__empty,.mc-datatable__empty:hover{background-color:#e7e7f0}.mc-datatable__empty-cell{color:#4b4a8c}.mc-datatable__empty-content{font-size:1rem;line-height:1.375;align-items:center;color:#4b4a8c;display:flex;gap:1.5rem;min-height:19.375rem;justify-content:center;text-align:center}.mc-datatable__empty-content strong{font-size:1.125rem;line-height:1.3333333333}.mc-datatable--s .mc-datatable__table tr,.mc-datatable--s .mc-datatable thead th,.mc-datatable--s .mc-datatable thead td{height:2.4375rem}.mc-datatable--l .mc-datatable__table tr,.mc-datatable--l .mc-datatable thead th,.mc-datatable--l .mc-datatable thead td{height:3.4375rem}.mc-datatable--sticky .mc-datatable__table>thead,.mc-datatable--sticky-header .mc-datatable__table>thead{box-shadow:0 4px 20px #19191933;top:0;z-index:2}.mc-datatable--sticky .mc-datatable__table>tbody tr:last-child th,.mc-datatable--sticky .mc-datatable__table>tbody tr:last-child td,.mc-datatable--sticky-header .mc-datatable__table>tbody tr:last-child th,.mc-datatable--sticky-header .mc-datatable__table>tbody tr:last-child td{border-bottom:transparent}.mc-datatable--sticky .mc-datatable__footer,.mc-datatable--sticky-header .mc-datatable__footer{border-top:1px solid #b3b3b3;position:relative;z-index:2}.mc-datatable--sticky .mc-datatable__main{padding-top:2.9375rem;transform:translateZ(0)}.mc-datatable--sticky .mc-datatable__table{scrollbar-color:#666666 #e6e6e6;scrollbar-width:thin;display:block;overflow-y:auto}.mc-datatable--sticky .mc-datatable__table::-webkit-scrollbar{background-color:#e6e6e6;height:.5rem;width:.5rem}.mc-datatable--sticky .mc-datatable__table::-webkit-scrollbar-track{background:#e6e6e6}.mc-datatable--sticky .mc-datatable__table::-webkit-scrollbar-thumb{background:#666666}.mc-datatable--sticky .mc-datatable__table>thead{position:fixed;width:100%}.mc-datatable--sticky .mc-datatable__table>thead,.mc-datatable--sticky .mc-datatable__table>tbody,.mc-datatable--sticky .mc-datatable__table>thead tr,.mc-datatable--sticky .mc-datatable__table>tbody tr,.mc-datatable--sticky .mc-datatable__table>thead th,.mc-datatable--sticky .mc-datatable__table>thead td,.mc-datatable--sticky .mc-datatable__table>tbody th,.mc-datatable--sticky .mc-datatable__table>tbody td{display:flex}.mc-datatable--sticky .mc-datatable__table>thead,.mc-datatable--sticky .mc-datatable__table>tbody,.mc-datatable--sticky .mc-datatable__table>thead tr,.mc-datatable--sticky .mc-datatable__table>tbody tr{width:100%}.mc-datatable--sticky .mc-datatable__table>tbody{flex-direction:column}.mc-datatable--sticky .mc-datatable__table>thead th,.mc-datatable--sticky .mc-datatable__table>thead td,.mc-datatable--sticky .mc-datatable__table>tbody th,.mc-datatable--sticky .mc-datatable__table>tbody td{align-items:center}.mc-datatable--sticky .mc-datatable__table>thead th:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button),.mc-datatable--sticky .mc-datatable__table>thead td:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button),.mc-datatable--sticky .mc-datatable__table>tbody th:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button),.mc-datatable--sticky .mc-datatable__table>tbody td:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button){flex:1}.mc-datatable--sticky .mc-datatable__cell-checkbox,.mc-datatable--sticky .mc-datatable__cell-button,.mc-datatable--sticky .mc-datatable__cell-field,.mc-datatable--sticky .mc-datatable__cell-number{flex-shrink:0}.mc-datatable--sticky .mc-datatable__cell-number{justify-content:flex-end}.mc-datatable--sticky-header .mc-datatable__main{overflow-y:auto}.mc-datatable--sticky-header .mc-datatable__table>thead{position:sticky}.mc-datatable--overflow-visible .mc-datatable__container,.mc-datatable--overflow-visible .mc-datatable__main{overflow:visible}.mc-datatable__btn{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;align-items:center;background-color:transparent;display:flex}.mc-datatable__btn-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-datatable__btn-icon,.mc-datatable__btn svg{width:1.5rem;height:1.5rem}.mc-datatable__sort{font-weight:700;font-size:.75rem;line-height:1.3333333333;color:#393879;text-transform:uppercase;align-items:center;display:flex;height:100%;font-family:inherit;justify-content:space-between;width:100%}.mc-datatable__sort-arrow{align-items:center;display:flex;flex-direction:column;height:1.5rem;justify-content:space-around;margin-left:.5rem;width:1.5rem}.mc-datatable__sort-arrow:after,.mc-datatable__sort-arrow:before{background-color:#cdd4d8;content:\"\";flex-shrink:0;height:.5rem;width:.75rem}.mc-datatable__sort-arrow:before{clip-path:polygon(50% 0%,0% 100%,100% 100%)}.asc .mc-datatable__sort-arrow:before{background-color:#605f9d}.desc .mc-datatable__sort-arrow:before{display:none}.mc-datatable__sort-arrow:after{clip-path:polygon(0 0,100% 0,50% 100%)}.asc .mc-datatable__sort-arrow:after{display:none}.desc .mc-datatable__sort-arrow:after{background-color:#605f9d}.mc-datatable__options{width:1.5rem;height:1.5rem}.mc-datatable__expand .mc-datatable__btn-icon{fill:#007f8c}.mc-datatable .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-datatable__topbar{justify-content:space-between;padding-top:1rem;padding-bottom:1rem}.mc-datatable__topbar,.mc-datatable__topbar-edition,.mc-datatable__topbar-actions{display:flex;gap:1rem}.mc-datatable__topbar-edition,.mc-datatable__topbar-actions{flex-wrap:wrap}.mc-datatable__topbar-edition{flex-shrink:0}.mc-datatable__topbar-actions{align-items:center;justify-content:flex-end;margin-left:auto}.mc-datatable__filters{align-items:center;border-top:1px solid #b0bbc0;display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-end;padding-top:1rem;padding-bottom:1rem}.mc-datatable__footer{align-items:center;background-color:#fff;display:flex;padding:.75rem 1rem;gap:1rem}@media screen and (max-width: 679px){.mc-datatable__footer{flex-direction:column}}.mc-datatable__select{display:flex;align-items:center;gap:.5rem}.mc-datatable__select-label{font-size:.875rem;line-height:1.2857142857;color:#333;flex-shrink:0}.mc-datatable__count{font-size:.75rem;line-height:1.3333333333;color:#666}.mc-datatable__pagination{margin-left:auto}.mc-datatable__subtable{border-collapse:collapse;border-spacing:0;caption-side:bottom;width:100%;background-color:#e7e7f0}.mc-datatable__subtable th,.mc-datatable__subtable td{border-bottom-color:#a4a3c7}.mc-datatable__subtable thead th,.mc-datatable__subtable thead td{font-size:.75rem;line-height:1.3333333333;color:#1a1a4b}.mc-datatable__subtable tbody th,.mc-datatable__subtable tbody td{color:#1a1a4b}.fix-header-row{position:sticky;top:0;box-shadow:0 1px 5px #22202033}.header{align-items:center;display:flex;height:100%;font-family:inherit;justify-content:space-between;width:100%}.is-sorted-asc:before{background-color:var(--color-datatable-sort-arrow-active, #333333)}.is-sorted-desc:after{background-color:var(--color-datatable-sort-arrow-active, #333333)}.mc-datatable-height{height:100%}.mc-datatable__sort-arrow{cursor:pointer}.mc-datatable__fix-first-column{position:sticky;background-color:#fff;left:0}.skeleton-box{display:inline-block;position:relative;overflow:hidden;background-color:#ccc}.skeleton-box:after{position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.2) 20%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0));animation:shimmer 2s infinite;content:\"\"}@keyframes shimmer{to{transform:translate(100%)}}.checkbox-loading{width:25px;height:25px}.cells-loading{width:250px;height:25px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[moz-button]", inputs: ["iconPosition", "onlyIcon", "theme", "variation", "widthBehavior", "size"] }, { kind: "component", type: i4.CheckboxComponent, selector: "moz-checkbox", inputs: ["disabled", "indeterminate", "invalid", "checked"] }, { kind: "component", type: i5.IconComponent, selector: "moz-icon", inputs: ["iconName"] }, { kind: "component", type: i6.MozDatatableFooterComponent, selector: "moz-datatable-footer", inputs: ["footerSettings", "isLoading"], outputs: ["rowPerPageChangeEmitter", "pageChangeEmitter"] }, { kind: "component", type: i7.MozDatatableSelectionComponent, selector: "moz-datatable-selection", inputs: ["selectionSettings", "paginationEnabled", "rowData"], outputs: ["updateSelectionAllEmitter"] }, { kind: "directive", type: i8.MozDatatableSortDirective, selector: "[mozDatatableSort]", inputs: ["mozDatatableSort"], outputs: ["sortEmitter"] }, { kind: "pipe", type: i1.UpperCasePipe, name: "uppercase" }], encapsulation: i0.ViewEncapsulation.None });
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MozDatatableComponent, decorators: [{
120
+ type: Component,
121
+ args: [{ selector: 'moz-datatable', encapsulation: ViewEncapsulation.None, template: "<div class=\"mc-datatable mc-datatable-height\">\n <div class=\"mc-datatable__header\">\n <ng-content select=\"moz-datatable-caption\"></ng-content>\n <div>\n <moz-datatable-selection\n [selectionSettings]=\"selectionSettings\"\n [paginationEnabled]=\"datatableSettings?.activatePagination\"\n [rowData]=\"datatableSettings?.rowData\"\n (updateSelectionAllEmitter)=\"selectionAllRowEvent($event)\"\n ></moz-datatable-selection>\n </div>\n </div>\n <div class=\"mc-datatable__container mc-datatable-height\">\n <div class=\"mc-datatable__main mc-datatable-height\">\n <table class=\"mc-datatable__table\">\n <thead [ngClass]=\"{ 'fix-header-row': datatableSettings?.fixHeaderRow }\">\n <tr>\n <th\n class=\"mc-datatable__cell-checkbox moz-datatable__th mc-datatable__fix-first-column\"\n *ngIf=\"\n datatableSettings?.activateSelection && selectionComponent && selectionSettings\n \"\n #thSelection\n >\n <moz-checkbox\n (change)=\"\n selectionComponent.onUdpateSelectionAllPageRows($event); selectionRowEvent($event)\n \"\n [indeterminate]=\"selectionComponent.isIndeterminate\"\n [checked]=\"selectionSettings.allSelected && !selectionComponent.isIndeterminate\"\n [disabled]=\"datatableSettings?.isLoading || false\"\n >\n </moz-checkbox>\n </th>\n <th\n *ngIf=\"hasSubRow() && !datatableSettings?.isLoading\"\n class=\"mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n #thSubRow\n ></th>\n <ng-container *ngFor=\"let columnDef of datatableSettings?.columnDefs\">\n <th\n class=\"moz-datatable__th\"\n *ngIf=\"!columnDef.hide\"\n [ngClass]=\"{\n 'mc-datatable__fix-first-column':\n datatableSettings?.fixFirstColumn &&\n getUnhiddenColumns()[0].field === columnDef.field\n }\"\n [style.left.px]=\"getLeftValueFixFirstColumn()\"\n >\n <div\n [mozDatatableSort]=\"columnDef\"\n [ngClass]=\"{ header: columnDef.sort }\"\n (sortEmitter)=\"sortEvent($event)\"\n >\n <ng-container\n *ngIf=\"getCustomHeader(columnDef.field) as customHeader; else defaultHeaderCell\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customHeader;\n context: {\n $implicit: {\n content: columnDef\n }\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultHeaderCell>\n {{ columnDef.headerName | uppercase }}\n </ng-template>\n </div>\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngIf=\"(datatableSettings?.rowData?.length || 0) > 0; else emptyBody\">\n <ng-container *ngFor=\"let row of datatableSettings?.rowData; index as i\">\n <tr class=\"mc-datatable__row-parent\" (click)=\"rowClickEvent($event, row)\">\n <td\n class=\"mc-datatable__fix-first-column\"\n *ngIf=\"datatableSettings?.activateSelection && selectionComponent\"\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingCheckbox\">\n <div class=\"skeleton-box mu-mb-100 checkbox-loading\"></div>\n </ng-container>\n <ng-template #notLoadingCheckbox>\n <moz-checkbox\n (change)=\"\n selectionComponent.onUdpateSelectionRow(row); selectionRowEvent($event)\n \"\n [(ngModel)]=\"row.selected\"\n [checked]=\"row.selected || false\"\n [disabled]=\"row.disableSelection || false\"\n >\n </moz-checkbox>\n </ng-template>\n </td>\n <ng-container *ngIf=\"hasSubRow() && !datatableSettings?.isLoading\">\n <td\n *ngIf=\"row['subRow']; else noSubRow\"\n class=\"mc-datatable__cell-button mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n >\n <button\n class=\"mc-datatable__expand mc-datatable__btn\"\n (click)=\"toggleRowExpansion(i); $event.stopPropagation()\"\n >\n <span class=\"mc-datatable__btn-icon\">\n <ng-container *ngIf=\"!expandedRows[i]; else subrowClosed\">\n <moz-icon [iconName]=\"'Navigation_Control_Circle--More_24px'\"></moz-icon>\n </ng-container>\n <ng-template #subrowClosed>\n <moz-icon [iconName]=\"'Navigation_Control_Circle--Less_24px'\"></moz-icon>\n </ng-template>\n </span>\n </button>\n </td>\n <ng-template #noSubRow\n ><td\n class=\"mc-datatable__cell-button mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n ></td\n ></ng-template>\n </ng-container>\n <ng-container *ngFor=\"let columnDef of datatableSettings?.columnDefs\">\n <td\n *ngIf=\"!columnDef.hide\"\n [ngClass]=\"{\n 'mc-datatable__fix-first-column':\n datatableSettings?.fixFirstColumn &&\n getUnhiddenColumns()[0].field === columnDef.field\n }\"\n [style.left.px]=\"getLeftValueFixFirstColumn()\"\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingCells\">\n <div class=\"skeleton-box mu-mb-100 cells-loading\"></div>\n </ng-container>\n <ng-template #notLoadingCells>\n <ng-container\n *ngIf=\"\n getCustomContent(columnDef.field) as customContent;\n else defaultContentCell\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customContent;\n context: {\n $implicit: {\n row: row,\n index: i,\n columnDefs: datatableSettings?.columnDefs,\n content: row[columnDef.field]\n }\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultContentCell>\n {{ row[columnDef.field] }}\n </ng-template>\n </ng-template>\n </td>\n </ng-container>\n </tr>\n <ng-container>\n <tr *ngIf=\"expandedRows[i]\">\n <td [attr.colspan]=\"getColspanForExpansionRow()\">\n <ng-container\n *ngIf=\"getCustomExpansionRowContent() as expansionRowContentComponent\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n expansionRowContentComponent;\n context: {\n $implicit: {\n subRowContent: row['subRow'],\n index: i,\n }\n }\n \"\n ></ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-template #emptyBody>\n <tr class=\"mc-datatable__empty\">\n <td colspan=\"5\" class=\"mc-datatable__empty-cell\">\n <div class=\"mc-datatable__empty-content\">\n <div>\n <div>\n <p>\n <strong>\n {{\n datatableSettings?.labels?.emptyBodyTitle || 'There is no result.'\n }}</strong\n ><br />\n {{\n datatableSettings?.labels?.emptyBodyDescription ||\n 'Please try changing your filters.'\n }}\n </p>\n </div>\n <div *ngIf=\"datatableSettings?.activateEmptyBodyButton\">\n <button\n moz-button\n [theme]=\"'neutral'\"\n [size]=\"'s'\"\n [variation]=\"'bordered'\"\n (click)=\"emptyButtonClickEvent()\"\n >\n <moz-icon\n iconName=\"{{\n datatableSettings?.icons?.emptyBodyButtonIcon ||\n 'Navigation_Display_Filter_24px'\n }}\"\n ></moz-icon>\n {{ datatableSettings?.labels?.emptyBodyButtonTitle || 'Change filters' }}\n </button>\n </div>\n </div>\n </div>\n </td>\n </tr></ng-template\n >\n </tbody>\n </table>\n </div>\n <moz-datatable-footer\n *ngIf=\"datatableSettings?.activatePagination\"\n [footerSettings]=\"footerSettings\"\n [isLoading]=\"datatableSettings?.isLoading\"\n (rowPerPageChangeEmitter)=\"rowPerPageChangeEvent($event)\"\n (pageChangeEmitter)=\"pageChangeEvent($event)\"\n ></moz-datatable-footer>\n </div>\n</div>\n", styles: [".mc-datatable{font-family:Roboto,sans-serif;box-sizing:border-box}.mc-datatable *,.mc-datatable :after,.mc-datatable :before{box-sizing:inherit}.mc-datatable__container{border-radius:4px;box-shadow:0 1px 5px #19191933;background-color:#e7e7f0;overflow:hidden}.mc-datatable__main{scrollbar-color:#666666 #e6e6e6;scrollbar-width:thin;overflow:auto}.mc-datatable__main::-webkit-scrollbar{background-color:#e6e6e6;height:.5rem;width:.5rem}.mc-datatable__main::-webkit-scrollbar-track{background:#e6e6e6}.mc-datatable__main::-webkit-scrollbar-thumb{background:#666666}.mc-datatable__table tr,.mc-datatable thead th,.mc-datatable thead td{height:2.9375rem}.mc-datatable__table{border-collapse:collapse;border-spacing:0;caption-side:bottom;width:100%}.mc-datatable__table>thead,.mc-datatable__table>tbody{background-color:#fff}.mc-datatable__table th,.mc-datatable__table td{border-bottom:1px solid #b3b3b3;text-align:left;vertical-align:middle;padding-right:1rem;padding-left:1rem}.mc-datatable thead th,.mc-datatable thead td{font-weight:700;font-size:.75rem;line-height:1.3333333333;color:#393879;text-transform:uppercase}.mc-datatable__head{align-items:center;display:flex;justify-content:space-between}.mc-datatable tbody tr:hover:not(.mc-datatable__empty){background-color:#eaedef}.mc-datatable tbody tr.selected{background-color:#d9f0f3}.mc-datatable tbody th,.mc-datatable tbody td{font-size:.875rem;line-height:1.2857142857;color:#191919}.mc-datatable__row-parent:not(.mc-datatable__row-parent--expanded)+.mc-datatable__row-expandable{height:0}.mc-datatable__row-parent:not(.mc-datatable__row-parent--expanded)+.mc-datatable__row-expandable .mc-datatable__row-inner{overflow:hidden;max-height:0}.mc-datatable__row-parent.mc-datatable__row-parent--expanded+.mc-datatable__row-expandable .mc-datatable__row-inner{max-height:100%}.mc-datatable__row-expandable>td{padding:0;border-bottom:0}.mc-datatable__row-expandable--offset-1 table th:first-child,.mc-datatable__row-expandable--offset-1 table td:first-child{padding-left:4.25rem}.mc-datatable__row-expandable--offset-2 table th:first-child,.mc-datatable__row-expandable--offset-2 table td:first-child{padding-left:7.75rem}.mc-datatable__cell-checkbox{width:3.25rem}.mc-datatable__cell-button{width:3.5rem}.mc-datatable__cell-field{min-width:9.375rem}td.mc-datatable__cell-number{text-align:right}.mc-datatable__empty,.mc-datatable__empty:hover{background-color:#e7e7f0}.mc-datatable__empty-cell{color:#4b4a8c}.mc-datatable__empty-content{font-size:1rem;line-height:1.375;align-items:center;color:#4b4a8c;display:flex;gap:1.5rem;min-height:19.375rem;justify-content:center;text-align:center}.mc-datatable__empty-content strong{font-size:1.125rem;line-height:1.3333333333}.mc-datatable--s .mc-datatable__table tr,.mc-datatable--s .mc-datatable thead th,.mc-datatable--s .mc-datatable thead td{height:2.4375rem}.mc-datatable--l .mc-datatable__table tr,.mc-datatable--l .mc-datatable thead th,.mc-datatable--l .mc-datatable thead td{height:3.4375rem}.mc-datatable--sticky .mc-datatable__table>thead,.mc-datatable--sticky-header .mc-datatable__table>thead{box-shadow:0 4px 20px #19191933;top:0;z-index:2}.mc-datatable--sticky .mc-datatable__table>tbody tr:last-child th,.mc-datatable--sticky .mc-datatable__table>tbody tr:last-child td,.mc-datatable--sticky-header .mc-datatable__table>tbody tr:last-child th,.mc-datatable--sticky-header .mc-datatable__table>tbody tr:last-child td{border-bottom:transparent}.mc-datatable--sticky .mc-datatable__footer,.mc-datatable--sticky-header .mc-datatable__footer{border-top:1px solid #b3b3b3;position:relative;z-index:2}.mc-datatable--sticky .mc-datatable__main{padding-top:2.9375rem;transform:translateZ(0)}.mc-datatable--sticky .mc-datatable__table{scrollbar-color:#666666 #e6e6e6;scrollbar-width:thin;display:block;overflow-y:auto}.mc-datatable--sticky .mc-datatable__table::-webkit-scrollbar{background-color:#e6e6e6;height:.5rem;width:.5rem}.mc-datatable--sticky .mc-datatable__table::-webkit-scrollbar-track{background:#e6e6e6}.mc-datatable--sticky .mc-datatable__table::-webkit-scrollbar-thumb{background:#666666}.mc-datatable--sticky .mc-datatable__table>thead{position:fixed;width:100%}.mc-datatable--sticky .mc-datatable__table>thead,.mc-datatable--sticky .mc-datatable__table>tbody,.mc-datatable--sticky .mc-datatable__table>thead tr,.mc-datatable--sticky .mc-datatable__table>tbody tr,.mc-datatable--sticky .mc-datatable__table>thead th,.mc-datatable--sticky .mc-datatable__table>thead td,.mc-datatable--sticky .mc-datatable__table>tbody th,.mc-datatable--sticky .mc-datatable__table>tbody td{display:flex}.mc-datatable--sticky .mc-datatable__table>thead,.mc-datatable--sticky .mc-datatable__table>tbody,.mc-datatable--sticky .mc-datatable__table>thead tr,.mc-datatable--sticky .mc-datatable__table>tbody tr{width:100%}.mc-datatable--sticky .mc-datatable__table>tbody{flex-direction:column}.mc-datatable--sticky .mc-datatable__table>thead th,.mc-datatable--sticky .mc-datatable__table>thead td,.mc-datatable--sticky .mc-datatable__table>tbody th,.mc-datatable--sticky .mc-datatable__table>tbody td{align-items:center}.mc-datatable--sticky .mc-datatable__table>thead th:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button),.mc-datatable--sticky .mc-datatable__table>thead td:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button),.mc-datatable--sticky .mc-datatable__table>tbody th:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button),.mc-datatable--sticky .mc-datatable__table>tbody td:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button){flex:1}.mc-datatable--sticky .mc-datatable__cell-checkbox,.mc-datatable--sticky .mc-datatable__cell-button,.mc-datatable--sticky .mc-datatable__cell-field,.mc-datatable--sticky .mc-datatable__cell-number{flex-shrink:0}.mc-datatable--sticky .mc-datatable__cell-number{justify-content:flex-end}.mc-datatable--sticky-header .mc-datatable__main{overflow-y:auto}.mc-datatable--sticky-header .mc-datatable__table>thead{position:sticky}.mc-datatable--overflow-visible .mc-datatable__container,.mc-datatable--overflow-visible .mc-datatable__main{overflow:visible}.mc-datatable__btn{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;align-items:center;background-color:transparent;display:flex}.mc-datatable__btn-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-datatable__btn-icon,.mc-datatable__btn svg{width:1.5rem;height:1.5rem}.mc-datatable__sort{font-weight:700;font-size:.75rem;line-height:1.3333333333;color:#393879;text-transform:uppercase;align-items:center;display:flex;height:100%;font-family:inherit;justify-content:space-between;width:100%}.mc-datatable__sort-arrow{align-items:center;display:flex;flex-direction:column;height:1.5rem;justify-content:space-around;margin-left:.5rem;width:1.5rem}.mc-datatable__sort-arrow:after,.mc-datatable__sort-arrow:before{background-color:#cdd4d8;content:\"\";flex-shrink:0;height:.5rem;width:.75rem}.mc-datatable__sort-arrow:before{clip-path:polygon(50% 0%,0% 100%,100% 100%)}.asc .mc-datatable__sort-arrow:before{background-color:#605f9d}.desc .mc-datatable__sort-arrow:before{display:none}.mc-datatable__sort-arrow:after{clip-path:polygon(0 0,100% 0,50% 100%)}.asc .mc-datatable__sort-arrow:after{display:none}.desc .mc-datatable__sort-arrow:after{background-color:#605f9d}.mc-datatable__options{width:1.5rem;height:1.5rem}.mc-datatable__expand .mc-datatable__btn-icon{fill:#007f8c}.mc-datatable .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-datatable__topbar{justify-content:space-between;padding-top:1rem;padding-bottom:1rem}.mc-datatable__topbar,.mc-datatable__topbar-edition,.mc-datatable__topbar-actions{display:flex;gap:1rem}.mc-datatable__topbar-edition,.mc-datatable__topbar-actions{flex-wrap:wrap}.mc-datatable__topbar-edition{flex-shrink:0}.mc-datatable__topbar-actions{align-items:center;justify-content:flex-end;margin-left:auto}.mc-datatable__filters{align-items:center;border-top:1px solid #b0bbc0;display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-end;padding-top:1rem;padding-bottom:1rem}.mc-datatable__footer{align-items:center;background-color:#fff;display:flex;padding:.75rem 1rem;gap:1rem}@media screen and (max-width: 679px){.mc-datatable__footer{flex-direction:column}}.mc-datatable__select{display:flex;align-items:center;gap:.5rem}.mc-datatable__select-label{font-size:.875rem;line-height:1.2857142857;color:#333;flex-shrink:0}.mc-datatable__count{font-size:.75rem;line-height:1.3333333333;color:#666}.mc-datatable__pagination{margin-left:auto}.mc-datatable__subtable{border-collapse:collapse;border-spacing:0;caption-side:bottom;width:100%;background-color:#e7e7f0}.mc-datatable__subtable th,.mc-datatable__subtable td{border-bottom-color:#a4a3c7}.mc-datatable__subtable thead th,.mc-datatable__subtable thead td{font-size:.75rem;line-height:1.3333333333;color:#1a1a4b}.mc-datatable__subtable tbody th,.mc-datatable__subtable tbody td{color:#1a1a4b}.fix-header-row{position:sticky;top:0;box-shadow:0 1px 5px #22202033}.header{align-items:center;display:flex;height:100%;font-family:inherit;justify-content:space-between;width:100%}.is-sorted-asc:before{background-color:var(--color-datatable-sort-arrow-active, #333333)}.is-sorted-desc:after{background-color:var(--color-datatable-sort-arrow-active, #333333)}.mc-datatable-height{height:100%}.mc-datatable__sort-arrow{cursor:pointer}.mc-datatable__fix-first-column{position:sticky;background-color:#fff;left:0}.skeleton-box{display:inline-block;position:relative;overflow:hidden;background-color:#ccc}.skeleton-box:after{position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.2) 20%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0));animation:shimmer 2s infinite;content:\"\"}@keyframes shimmer{to{transform:translate(100%)}}.checkbox-loading{width:25px;height:25px}.cells-loading{width:250px;height:25px}\n"] }]
122
+ }], propDecorators: { footerSettings: [{
123
+ type: Input
124
+ }], selectionSettings: [{
125
+ type: Input
126
+ }], datatableSettings: [{
127
+ type: Input
128
+ }], rowClick: [{
129
+ type: Output
130
+ }], sortColumn: [{
131
+ type: Output
132
+ }], rowSelected: [{
133
+ type: Output
134
+ }], rowAllSelected: [{
135
+ type: Output
136
+ }], emptyBodyButtonClicked: [{
137
+ type: Output
138
+ }], selectionComponent: [{
139
+ type: ViewChild,
140
+ args: [MozDatatableSelectionComponent]
141
+ }], pageChange: [{
142
+ type: Output
143
+ }], rowPerPageChange: [{
144
+ type: Output
145
+ }], thSelectionRef: [{
146
+ type: ViewChild,
147
+ args: ['thSelection', { static: false }]
148
+ }], thSubRowRef: [{
149
+ type: ViewChild,
150
+ args: ['thSubRow', { static: false }]
151
+ }], headerCellComponents: [{
152
+ type: ContentChildren,
153
+ args: [MozDatatableHeaderCellComponent]
154
+ }], contentCellComponents: [{
155
+ type: ContentChildren,
156
+ args: [MozDatatableContentCellComponent]
157
+ }], expansionContentComponent: [{
158
+ type: ContentChild,
159
+ args: [MozDatatableRowExpansionContentComponent]
160
+ }] } });
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW96LWRhdGF0YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9kYXRhdGFibGUvbW96LWRhdGF0YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9kYXRhdGFibGUvbW96LWRhdGF0YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxlQUFlLEVBSWYsWUFBWSxFQUNaLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxFQUNULGlCQUFpQixHQUVsQixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUc3RyxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQzs7Ozs7Ozs7OztBQVMxSCxNQUFNLE9BQU8scUJBQXFCO0lBTmxDO1FBV0Usc0JBQXNCO1FBQ1osYUFBUSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDdkMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDekMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUNwRCxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO1FBQ3ZELDJCQUFzQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFLL0QseUJBQXlCO1FBQ2YsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDeEMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQWNqRCx5QkFBb0IsR0FBa0MsSUFB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QUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6RixDQUFDOztrSEExSVUscUJBQXFCO3NHQUFyQixxQkFBcUIsdWRBNEJsQix3Q0FBd0MsMEVBTnJDLCtCQUErQix3REFHL0IsZ0NBQWdDLGlGQWJ0Qyw4QkFBOEIsME9DMUMzQywrc1ZBb1BBOzJGRHROYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsZUFBZSxpQkFHVixpQkFBaUIsQ0FBQyxJQUFJOzhCQUdyQixjQUFjO3NCQUE3QixLQUFLO2dCQUNVLGlCQUFpQjtzQkFBaEMsS0FBSztnQkFDVSxpQkFBaUI7c0JBQWhDLEtBQUs7Z0JBR0ksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBR0Esa0JBQWtCO3NCQUR4QixTQUFTO3VCQUFDLDhCQUE4QjtnQkFJL0IsVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBRXNDLGNBQWM7c0JBQTFELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDRCxXQUFXO3NCQUFwRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBR2pDLG9CQUFvQjtzQkFEMUIsZUFBZTt1QkFBQywrQkFBK0I7Z0JBSXpDLHFCQUFxQjtzQkFEM0IsZUFBZTt1QkFBQyxnQ0FBZ0M7Z0JBSTFDLHlCQUF5QjtzQkFEL0IsWUFBWTt1QkFBQyx3Q0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdCxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIEVsZW1lbnRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm93RGF0YSB9IGZyb20gJy4vbW9kZWwvcm93LWRhdGEnO1xuaW1wb3J0IHsgU2VsZWN0aW9uU2V0dGluZ3MgfSBmcm9tICcuL21vZGVsL3NlbGVjdGlvbi1zZXR0aW5ncyc7XG5pbXBvcnQgeyBNb3pEYXRhdGFibGVTZWxlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0aW9uL21vei1kYXRhdGFibGUtc2VsZWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb3pEYXRhdGFibGVIZWFkZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2hlYWRlci9tb3otZGF0YXRhYmxlLWhlYWRlci1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb3pEYXRhdGFibGVDb250ZW50Q2VsbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb250ZW50L21vei1kYXRhdGFibGUtY29udGVudC1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRhdGFibGVTZXR0aW5ncyB9IGZyb20gJy4vbW9kZWwvZGF0YXRhYmxlLXNldHRpbmdzJztcbmltcG9ydCB7IEZvb3RlclNldHRpbmdzIH0gZnJvbSAnLi9tb2RlbC9mb290ZXItc2V0dGluZ3MnO1xuaW1wb3J0IHsgTW96RGF0YXRhYmxlUm93RXhwYW5zaW9uQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yb3cvbW96LWRhdGF0YWJsZS1yb3ctZXhwYW5zaW9uLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IENvbHVtbkRlZiB9IGZyb20gJy4vbW9kZWwvY29sdW1uLWRlZic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vei1kYXRhdGFibGUnLFxuICBzdHlsZVVybHM6IFsnLi9tb3otZGF0YXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9tb3otZGF0YXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTW96RGF0YXRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBmb290ZXJTZXR0aW5ncz86IEZvb3RlclNldHRpbmdzO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0aW9uU2V0dGluZ3M/OiBTZWxlY3Rpb25TZXR0aW5ncztcbiAgQElucHV0KCkgcHVibGljIGRhdGF0YWJsZVNldHRpbmdzPzogRGF0YXRhYmxlU2V0dGluZ3M7XG5cbiAgLy8gRlJPTSBCT0RZIERBVEFUQUJMRVxuICBAT3V0cHV0KCkgcm93Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFJvd0RhdGE+KCk7XG4gIEBPdXRwdXQoKSBzb3J0Q29sdW1uID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xuICBAT3V0cHV0KCkgcm93U2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdGlvblNldHRpbmdzPigpO1xuICBAT3V0cHV0KCkgcm93QWxsU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdGlvblNldHRpbmdzPigpO1xuICBAT3V0cHV0KCkgZW1wdHlCb2R5QnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAVmlld0NoaWxkKE1vekRhdGF0YWJsZVNlbGVjdGlvbkNvbXBvbmVudClcbiAgcHVibGljIHNlbGVjdGlvbkNvbXBvbmVudD86IE1vekRhdGF0YWJsZVNlbGVjdGlvbkNvbXBvbmVudDtcblxuICAvLyBGUk9NIFBBR0lOQVRJT04gRk9PVEVSXG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIEBPdXRwdXQoKSByb3dQZXJQYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQFZpZXdDaGlsZCgndGhTZWxlY3Rpb24nLCB7IHN0YXRpYzogZmFsc2UgfSkgdGhTZWxlY3Rpb25SZWY/OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCd0aFN1YlJvdycsIHsgc3RhdGljOiBmYWxzZSB9KSB0aFN1YlJvd1JlZj86IEVsZW1lbnRSZWY7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihNb3pEYXRhdGFibGVIZWFkZXJDZWxsQ29tcG9uZW50KVxuICBwdWJsaWMgaGVhZGVyQ2VsbENvbXBvbmVudHM/OiBRdWVyeUxpc3Q8TW96RGF0YXRhYmxlSGVhZGVyQ2VsbENvbXBvbmVudD47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihNb3pEYXRhdGFibGVDb250ZW50Q2VsbENvbXBvbmVudClcbiAgcHVibGljIGNvbnRlbnRDZWxsQ29tcG9uZW50cz86IFF1ZXJ5TGlzdDxNb3pEYXRhdGFibGVDb250ZW50Q2VsbENvbXBvbmVudD47XG5cbiAgQENvbnRlbnRDaGlsZChNb3pEYXRhdGFibGVSb3dFeHBhbnNpb25Db250ZW50Q29tcG9uZW50KVxuICBwdWJsaWMgZXhwYW5zaW9uQ29udGVudENvbXBvbmVudD86IE1vekRhdGF0YWJsZVJvd0V4cGFuc2lvbkNvbnRlbnRDb21wb25lbnQ7XG5cbiAgcHVibGljIGN1c3RvbUhlYWRlckNlbGxzTWFwOiBNYXA8c3RyaW5nLCBUZW1wbGF0ZVJlZjxhbnk+PiA9IG5ldyBNYXA8c3RyaW5nLCBUZW1wbGF0ZVJlZjxhbnk+PigpO1xuICBwdWJsaWMgY3VzdG9tQ29udGVudENlbGxzTWFwOiBNYXA8c3RyaW5nLCBUZW1wbGF0ZVJlZjxhbnk+PiA9IG5ldyBNYXA8c3RyaW5nLCBUZW1wbGF0ZVJlZjxhbnk+PigpO1xuICBwdWJsaWMgZXhwYW5kZWRSb3dzOiBib29sZWFuW10gPSBbXTtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5idWlsZEN1c3RvbUhlYWRlck1hcCgpO1xuICAgIHRoaXMuYnVpbGRDdXN0b21Db250ZW50TWFwKCk7XG4gIH1cblxuICBwdWJsaWMgYnVpbGRDdXN0b21IZWFkZXJNYXAoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaGVhZGVyQ2VsbENvbXBvbmVudHMpIHtcbiAgICAgIHRoaXMuaGVhZGVyQ2VsbENvbXBvbmVudHMuZm9yRWFjaCgoaGVhZGVyKSA9PiB7XG4gICAgICAgIGlmIChoZWFkZXIuZmllbGQgJiYgaGVhZGVyLnRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgdGhpcy5jdXN0b21IZWFkZXJDZWxsc01hcC5zZXQoaGVhZGVyLmZpZWxkLCBoZWFkZXIudGVtcGxhdGVSZWYpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYnVpbGRDdXN0b21Db250ZW50TWFwKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbnRlbnRDZWxsQ29tcG9uZW50cykge1xuICAgICAgdGhpcy5jb250ZW50Q2VsbENvbXBvbmVudHMuZm9yRWFjaCgoY2VsbCkgPT4ge1xuICAgICAgICBpZiAoY2VsbC5maWVsZCAmJiBjZWxsLnRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgdGhpcy5jdXN0b21Db250ZW50Q2VsbHNNYXAuc2V0KGNlbGwuZmllbGQsIGNlbGwudGVtcGxhdGVSZWYpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3VzdG9tRXhwYW5zaW9uUm93Q29udGVudCgpOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5leHBhbnNpb25Db250ZW50Q29tcG9uZW50Py50ZW1wbGF0ZVJlZjtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVSb3dFeHBhbnNpb24oaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuZXhwYW5kZWRSb3dzW2luZGV4XSA9ICF0aGlzLmV4cGFuZGVkUm93c1tpbmRleF07XG4gIH1cblxuICBwdWJsaWMgaGFzU3ViUm93KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5kYXRhdGFibGVTZXR0aW5ncz8ucm93RGF0YS5maWx0ZXIoKHJvdykgPT4gcm93WydzdWJSb3cnXSkubGVuZ3RoIHx8IDApID4gMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDdXN0b21IZWFkZXIoY29sdW1uSWQ6IHN0cmluZyk6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmN1c3RvbUhlYWRlckNlbGxzTWFwLmdldChjb2x1bW5JZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3VzdG9tQ29udGVudChjb2x1bW5JZDogc3RyaW5nKTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuY3VzdG9tQ29udGVudENlbGxzTWFwLmdldChjb2x1bW5JZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29sc3BhbkZvckV4cGFuc2lvblJvdygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmRhdGF0YWJsZVNldHRpbmdzPy5hY3RpdmF0ZVNlbGVjdGlvblxuICAgICAgPyAodGhpcy5kYXRhdGFibGVTZXR0aW5ncz8uY29sdW1uRGVmcz8ubGVuZ3RoIHx8IDApICsgMlxuICAgICAgOiAodGhpcy5kYXRhdGFibGVTZXR0aW5ncz8uY29sdW1uRGVmcz8ubGVuZ3RoIHx8IDApICsgMTtcbiAgfVxuXG4gIHB1YmxpYyBlbXB0eUJ1dHRvbkNsaWNrRXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5lbXB0eUJvZHlCdXR0b25DbGlja2VkLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgcm93Q2xpY2tFdmVudChldmVudDogTW91c2VFdmVudCwgcm93Q2xpY2s6IFJvd0RhdGEpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucm93Q2xpY2suZW1pdChyb3dDbGljayk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0aW9uQWxsUm93RXZlbnQoJGV2ZW50OiBTZWxlY3Rpb25TZXR0aW5ncykge1xuICAgIHRoaXMucm93QWxsU2VsZWN0ZWQuZW1pdCgkZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdGlvblJvd0V2ZW50KCRldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLnJvd1NlbGVjdGVkLmVtaXQodGhpcy5zZWxlY3Rpb25TZXR0aW5ncyk7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgcHVibGljIHJvd1BlclBhZ2VDaGFuZ2VFdmVudCgkZXZlbnQ6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucm93UGVyUGFnZUNoYW5nZS5lbWl0KCRldmVudCk7XG4gIH1cblxuICBwdWJsaWMgcGFnZUNoYW5nZUV2ZW50KCRldmVudDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQoJGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0RXZlbnQoJGV2ZW50OiB1bmtub3duKSB7XG4gICAgdGhpcy5zb3J0Q29sdW1uLmVtaXQoJGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTdHlsZUxlZnRGb3JDb2x1bW5GaXhlZCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmRhdGF0YWJsZVNldHRpbmdzPy5hY3RpdmF0ZVNlbGVjdGlvbiAmJiB0aGlzLnRoU2VsZWN0aW9uUmVmXG4gICAgICA/IHRoaXMudGhTZWxlY3Rpb25SZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aFxuICAgICAgOiAwO1xuICB9XG5cbiAgcHVibGljIGdldExlZnRWYWx1ZUZpeEZpcnN0Q29sdW1uKCk6IG51bWJlciB7XG4gICAgbGV0IHZhbHVlID0gMDtcbiAgICBpZiAodGhpcy5kYXRhdGFibGVTZXR0aW5ncz8uYWN0aXZhdGVTZWxlY3Rpb24gJiYgdGhpcy50aFNlbGVjdGlvblJlZikge1xuICAgICAgdmFsdWUgKz0gdGhpcy50aFNlbGVjdGlvblJlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgIH1cbiAgICBpZiAodGhpcy5oYXNTdWJSb3coKSAmJiB0aGlzLnRoU3ViUm93UmVmKSB7XG4gICAgICB2YWx1ZSArPSB0aGlzLnRoU3ViUm93UmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVbmhpZGRlbkNvbHVtbnMoKTogQ29sdW1uRGVmW10ge1xuICAgIHJldHVybiB0aGlzLmRhdGF0YWJsZVNldHRpbmdzPy5jb2x1bW5EZWZzLmZpbHRlcigoaGVhZFRpdGxlKSA9PiAhaGVhZFRpdGxlLmhpZGUpIHx8IFtdO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWMtZGF0YXRhYmxlIG1jLWRhdGF0YWJsZS1oZWlnaHRcIj5cbiAgPGRpdiBjbGFzcz1cIm1jLWRhdGF0YWJsZV9faGVhZGVyXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibW96LWRhdGF0YWJsZS1jYXB0aW9uXCI+PC9uZy1jb250ZW50PlxuICAgIDxkaXY+XG4gICAgICA8bW96LWRhdGF0YWJsZS1zZWxlY3Rpb25cbiAgICAgICAgW3NlbGVjdGlvblNldHRpbmdzXT1cInNlbGVjdGlvblNldHRpbmdzXCJcbiAgICAgICAgW3BhZ2luYXRpb25FbmFibGVkXT1cImRhdGF0YWJsZVNldHRpbmdzPy5hY3RpdmF0ZVBhZ2luYXRpb25cIlxuICAgICAgICBbcm93RGF0YV09XCJkYXRhdGFibGVTZXR0aW5ncz8ucm93RGF0YVwiXG4gICAgICAgICh1cGRhdGVTZWxlY3Rpb25BbGxFbWl0dGVyKT1cInNlbGVjdGlvbkFsbFJvd0V2ZW50KCRldmVudClcIlxuICAgICAgPjwvbW96LWRhdGF0YWJsZS1zZWxlY3Rpb24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibWMtZGF0YXRhYmxlX19jb250YWluZXIgbWMtZGF0YXRhYmxlLWhlaWdodFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtYy1kYXRhdGFibGVfX21haW4gbWMtZGF0YXRhYmxlLWhlaWdodFwiPlxuICAgICAgPHRhYmxlIGNsYXNzPVwibWMtZGF0YXRhYmxlX190YWJsZVwiPlxuICAgICAgICA8dGhlYWQgW25nQ2xhc3NdPVwieyAnZml4LWhlYWRlci1yb3cnOiBkYXRhdGFibGVTZXR0aW5ncz8uZml4SGVhZGVyUm93IH1cIj5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGhcbiAgICAgICAgICAgICAgY2xhc3M9XCJtYy1kYXRhdGFibGVfX2NlbGwtY2hlY2tib3ggbW96LWRhdGF0YWJsZV9fdGggbWMtZGF0YXRhYmxlX19maXgtZmlyc3QtY29sdW1uXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICBkYXRhdGFibGVTZXR0aW5ncz8uYWN0aXZhdGVTZWxlY3Rpb24gJiYgc2VsZWN0aW9uQ29tcG9uZW50ICYmIHNlbGVjdGlvblNldHRpbmdzXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICN0aFNlbGVjdGlvblxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bW96LWNoZWNrYm94XG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbkNvbXBvbmVudC5vblVkcGF0ZVNlbGVjdGlvbkFsbFBhZ2VSb3dzKCRldmVudCk7IHNlbGVjdGlvblJvd0V2ZW50KCRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cInNlbGVjdGlvbkNvbXBvbmVudC5pc0luZGV0ZXJtaW5hdGVcIlxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGlvblNldHRpbmdzLmFsbFNlbGVjdGVkICYmICFzZWxlY3Rpb25Db21wb25lbnQuaXNJbmRldGVybWluYXRlXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGF0YXRhYmxlU2V0dGluZ3M/LmlzTG9hZGluZyB8fCBmYWxzZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9tb3otY2hlY2tib3g+XG4gICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgPHRoXG4gICAgICAgICAgICAgICpuZ0lmPVwiaGFzU3ViUm93KCkgJiYgIWRhdGF0YWJsZVNldHRpbmdzPy5pc0xvYWRpbmdcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm1jLWRhdGF0YWJsZV9fZml4LWZpcnN0LWNvbHVtblwiXG4gICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImdldFN0eWxlTGVmdEZvckNvbHVtbkZpeGVkKClcIlxuICAgICAgICAgICAgICAjdGhTdWJSb3dcbiAgICAgICAgICAgID48L3RoPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uRGVmIG9mIGRhdGF0YWJsZVNldHRpbmdzPy5jb2x1bW5EZWZzXCI+XG4gICAgICAgICAgICAgIDx0aFxuICAgICAgICAgICAgICAgIGNsYXNzPVwibW96LWRhdGF0YWJsZV9fdGhcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIWNvbHVtbkRlZi5oaWRlXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAnbWMtZGF0YXRhYmxlX19maXgtZmlyc3QtY29sdW1uJzpcbiAgICAgICAgICAgICAgICAgICAgZGF0YXRhYmxlU2V0dGluZ3M/LmZpeEZpcnN0Q29sdW1uICYmXG4gICAgICAgICAgICAgICAgICAgIGdldFVuaGlkZGVuQ29sdW1ucygpWzBdLmZpZWxkID09PSBjb2x1bW5EZWYuZmllbGRcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICBbc3R5bGUubGVmdC5weF09XCJnZXRMZWZ0VmFsdWVGaXhGaXJzdENvbHVtbigpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIFttb3pEYXRhdGFibGVTb3J0XT1cImNvbHVtbkRlZlwiXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7IGhlYWRlcjogY29sdW1uRGVmLnNvcnQgfVwiXG4gICAgICAgICAgICAgICAgICAoc29ydEVtaXR0ZXIpPVwic29ydEV2ZW50KCRldmVudClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJnZXRDdXN0b21IZWFkZXIoY29sdW1uRGVmLmZpZWxkKSBhcyBjdXN0b21IZWFkZXI7IGVsc2UgZGVmYXVsdEhlYWRlckNlbGxcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbUhlYWRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogY29sdW1uRGVmXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEhlYWRlckNlbGw+XG4gICAgICAgICAgICAgICAgICAgIHt7IGNvbHVtbkRlZi5oZWFkZXJOYW1lIHwgdXBwZXJjYXNlIH19XG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC90aGVhZD5cbiAgICAgICAgPHRib2R5PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoZGF0YXRhYmxlU2V0dGluZ3M/LnJvd0RhdGE/Lmxlbmd0aCB8fCAwKSA+IDA7IGVsc2UgZW1wdHlCb2R5XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByb3cgb2YgZGF0YXRhYmxlU2V0dGluZ3M/LnJvd0RhdGE7IGluZGV4IGFzIGlcIj5cbiAgICAgICAgICAgICAgPHRyIGNsYXNzPVwibWMtZGF0YXRhYmxlX19yb3ctcGFyZW50XCIgKGNsaWNrKT1cInJvd0NsaWNrRXZlbnQoJGV2ZW50LCByb3cpXCI+XG4gICAgICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm1jLWRhdGF0YWJsZV9fZml4LWZpcnN0LWNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImRhdGF0YWJsZVNldHRpbmdzPy5hY3RpdmF0ZVNlbGVjdGlvbiAmJiBzZWxlY3Rpb25Db21wb25lbnRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhdGFibGVTZXR0aW5ncz8uaXNMb2FkaW5nOyBlbHNlIG5vdExvYWRpbmdDaGVja2JveFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2tlbGV0b24tYm94IG11LW1iLTEwMCBjaGVja2JveC1sb2FkaW5nXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm90TG9hZGluZ0NoZWNrYm94PlxuICAgICAgICAgICAgICAgICAgICA8bW96LWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbkNvbXBvbmVudC5vblVkcGF0ZVNlbGVjdGlvblJvdyhyb3cpOyBzZWxlY3Rpb25Sb3dFdmVudCgkZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInJvdy5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwicm93LnNlbGVjdGVkIHx8IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicm93LmRpc2FibGVTZWxlY3Rpb24gfHwgZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbW96LWNoZWNrYm94PlxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNTdWJSb3coKSAmJiAhZGF0YXRhYmxlU2V0dGluZ3M/LmlzTG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicm93WydzdWJSb3cnXTsgZWxzZSBub1N1YlJvd1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWMtZGF0YXRhYmxlX19jZWxsLWJ1dHRvbiBtYy1kYXRhdGFibGVfX2ZpeC1maXJzdC1jb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUubGVmdC5weF09XCJnZXRTdHlsZUxlZnRGb3JDb2x1bW5GaXhlZCgpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWMtZGF0YXRhYmxlX19leHBhbmQgbWMtZGF0YXRhYmxlX19idG5cIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVSb3dFeHBhbnNpb24oaSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1jLWRhdGF0YWJsZV9fYnRuLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZXhwYW5kZWRSb3dzW2ldOyBlbHNlIHN1YnJvd0Nsb3NlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bW96LWljb24gW2ljb25OYW1lXT1cIidOYXZpZ2F0aW9uX0NvbnRyb2xfQ2lyY2xlLS1Nb3JlXzI0cHgnXCI+PC9tb3otaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzdWJyb3dDbG9zZWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtb3otaWNvbiBbaWNvbk5hbWVdPVwiJ05hdmlnYXRpb25fQ29udHJvbF9DaXJjbGUtLUxlc3NfMjRweCdcIj48L21vei1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9TdWJSb3dcbiAgICAgICAgICAgICAgICAgICAgPjx0ZFxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWMtZGF0YXRhYmxlX19jZWxsLWJ1dHRvbiBtYy1kYXRhdGFibGVfX2ZpeC1maXJzdC1jb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImdldFN0eWxlTGVmdEZvckNvbHVtbkZpeGVkKClcIlxuICAgICAgICAgICAgICAgICAgICA+PC90ZFxuICAgICAgICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uRGVmIG9mIGRhdGF0YWJsZVNldHRpbmdzPy5jb2x1bW5EZWZzXCI+XG4gICAgICAgICAgICAgICAgICA8dGRcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhY29sdW1uRGVmLmhpZGVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgJ21jLWRhdGF0YWJsZV9fZml4LWZpcnN0LWNvbHVtbic6XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhdGFibGVTZXR0aW5ncz8uZml4Rmlyc3RDb2x1bW4gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldFVuaGlkZGVuQ29sdW1ucygpWzBdLmZpZWxkID09PSBjb2x1bW5EZWYuZmllbGRcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImdldExlZnRWYWx1ZUZpeEZpcnN0Q29sdW1uKClcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YXRhYmxlU2V0dGluZ3M/LmlzTG9hZGluZzsgZWxzZSBub3RMb2FkaW5nQ2VsbHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2tlbGV0b24tYm94IG11LW1iLTEwMCBjZWxscy1sb2FkaW5nXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vdExvYWRpbmdDZWxscz5cbiAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRDdXN0b21Db250ZW50KGNvbHVtbkRlZi5maWVsZCkgYXMgY3VzdG9tQ29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBkZWZhdWx0Q29udGVudENlbGxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbUNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdzogcm93LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogaSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uRGVmczogZGF0YXRhYmxlU2V0dGluZ3M/LmNvbHVtbkRlZnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHJvd1tjb2x1bW5EZWYuZmllbGRdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdENvbnRlbnRDZWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgcm93W2NvbHVtbkRlZi5maWVsZF0gfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8dHIgKm5nSWY9XCJleHBhbmRlZFJvd3NbaV1cIj5cbiAgICAgICAgICAgICAgICAgIDx0ZCBbYXR0ci5jb2xzcGFuXT1cImdldENvbHNwYW5Gb3JFeHBhbnNpb25Sb3coKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJnZXRDdXN0b21FeHBhbnNpb25Sb3dDb250ZW50KCkgYXMgZXhwYW5zaW9uUm93Q29udGVudENvbXBvbmVudFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5zaW9uUm93Q29udGVudENvbXBvbmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViUm93Q29udGVudDogcm93WydzdWJSb3cnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogaSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2VtcHR5Qm9keT5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cIm1jLWRhdGF0YWJsZV9fZW1wdHlcIj5cbiAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCI1XCIgY2xhc3M9XCJtYy1kYXRhdGFibGVfX2VtcHR5LWNlbGxcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWMtZGF0YXRhYmxlX19lbXB0eS1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhdGFibGVTZXR0aW5ncz8ubGFiZWxzPy5lbXB0eUJvZHlUaXRsZSB8fCAnVGhlcmUgaXMgbm8gcmVzdWx0LidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3N0cm9uZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPjxiciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YXRhYmxlU2V0dGluZ3M/LmxhYmVscz8uZW1wdHlCb2R5RGVzY3JpcHRpb24gfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGxlYXNlIHRyeSBjaGFuZ2luZyB5b3VyIGZpbHRlcnMuJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZGF0YXRhYmxlU2V0dGluZ3M/LmFjdGl2YXRlRW1wdHlCb2R5QnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbW96LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgW3RoZW1lXT1cIiduZXV0cmFsJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCIncydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhcmlhdGlvbl09XCInYm9yZGVyZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJlbXB0eUJ1dHRvbkNsaWNrRXZlbnQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1vei1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGljb25OYW1lPVwie3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhdGFibGVTZXR0aW5ncz8uaWNvbnM/LmVtcHR5Qm9keUJ1dHRvbkljb24gfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYXZpZ2F0aW9uX0Rpc3BsYXlfRmlsdGVyXzI0cHgnXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L21vei1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZGF0YXRhYmxlU2V0dGluZ3M/LmxhYmVscz8uZW1wdHlCb2R5QnV0dG9uVGl0bGUgfHwgJ0NoYW5nZSBmaWx0ZXJzJyB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj48L25nLXRlbXBsYXRlXG4gICAgICAgICAgPlxuICAgICAgICA8L3Rib2R5PlxuICAgICAgPC90YWJsZT5cbiAgICA8L2Rpdj5cbiAgICA8bW96LWRhdGF0YWJsZS1mb290ZXJcbiAgICAgICpuZ0lmPVwiZGF0YXRhYmxlU2V0dGluZ3M/LmFjdGl2YXRlUGFnaW5hdGlvblwiXG4gICAgICBbZm9vdGVyU2V0dGluZ3NdPVwiZm9vdGVyU2V0dGluZ3NcIlxuICAgICAgW2lzTG9hZGluZ109XCJkYXRhdGFibGVTZXR0aW5ncz8uaXNMb2FkaW5nXCJcbiAgICAgIChyb3dQZXJQYWdlQ2hhbmdlRW1pdHRlcik9XCJyb3dQZXJQYWdlQ2hhbmdlRXZlbnQoJGV2ZW50KVwiXG4gICAgICAocGFnZUNoYW5nZUVtaXR0ZXIpPVwicGFnZUNoYW5nZUV2ZW50KCRldmVudClcIlxuICAgID48L21vei1kYXRhdGFibGUtZm9vdGVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,87 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { CheckboxModule } from '../checkbox/checkbox.module';
4
+ import { FormsModule } from '@angular/forms';
5
+ import { MozDatatableComponent } from './moz-datatable.component';
6
+ import { MozDatatableContentCellComponent } from './components/content/moz-datatable-content-cell.component';
7
+ import { MozDatatableHeaderCellComponent } from './components/header/moz-datatable-header-cell.component';
8
+ import { MozDatatableFooterComponent } from './components/footer/moz-datatable-footer.component';
9
+ import { MozDatatableCaptionComponent } from './components/caption/moz-datatable-caption.component';
10
+ import { MozDatatableSelectionComponent } from './components/selection/moz-datatable-selection.component';
11
+ import { PaginationModule } from '../pagination/pagination.module';
12
+ import { SelectModule } from '../select/select.module';
13
+ import { ButtonModule } from '../button/button.module';
14
+ import { MozDatatableRowExpansionContentComponent } from './components/row/moz-datatable-row-expansion-content.component';
15
+ import { MozDatatableSortDirective } from './directives/moz-datatable-sort.directive';
16
+ import { IconModule } from '../icon/icon.module';
17
+ import { ToggleModule } from '../toggle/toggle.module';
18
+ import * as i0 from "@angular/core";
19
+ export class MozDatatableModule {
20
+ }
21
+ MozDatatableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MozDatatableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
22
+ MozDatatableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: MozDatatableModule, declarations: [MozDatatableComponent,
23
+ MozDatatableContentCellComponent,
24
+ MozDatatableHeaderCellComponent,
25
+ MozDatatableFooterComponent,
26
+ MozDatatableCaptionComponent,
27
+ MozDatatableRowExpansionContentComponent,
28
+ MozDatatableSelectionComponent,
29
+ MozDatatableSortDirective], imports: [CommonModule,
30
+ PaginationModule,
31
+ SelectModule,
32
+ FormsModule,
33
+ ButtonModule,
34
+ CheckboxModule,
35
+ IconModule,
36
+ ToggleModule], exports: [MozDatatableComponent,
37
+ MozDatatableContentCellComponent,
38
+ MozDatatableHeaderCellComponent,
39
+ MozDatatableFooterComponent,
40
+ MozDatatableCaptionComponent,
41
+ MozDatatableRowExpansionContentComponent,
42
+ MozDatatableSelectionComponent,
43
+ MozDatatableSortDirective] });
44
+ MozDatatableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MozDatatableModule, imports: [CommonModule,
45
+ PaginationModule,
46
+ SelectModule,
47
+ FormsModule,
48
+ ButtonModule,
49
+ CheckboxModule,
50
+ IconModule,
51
+ ToggleModule] });
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MozDatatableModule, decorators: [{
53
+ type: NgModule,
54
+ args: [{
55
+ declarations: [
56
+ MozDatatableComponent,
57
+ MozDatatableContentCellComponent,
58
+ MozDatatableHeaderCellComponent,
59
+ MozDatatableFooterComponent,
60
+ MozDatatableCaptionComponent,
61
+ MozDatatableRowExpansionContentComponent,
62
+ MozDatatableSelectionComponent,
63
+ MozDatatableSortDirective,
64
+ ],
65
+ imports: [
66
+ CommonModule,
67
+ PaginationModule,
68
+ SelectModule,
69
+ FormsModule,
70
+ ButtonModule,
71
+ CheckboxModule,
72
+ IconModule,
73
+ ToggleModule,
74
+ ],
75
+ exports: [
76
+ MozDatatableComponent,
77
+ MozDatatableContentCellComponent,
78
+ MozDatatableHeaderCellComponent,
79
+ MozDatatableFooterComponent,
80
+ MozDatatableCaptionComponent,
81
+ MozDatatableRowExpansionContentComponent,
82
+ MozDatatableSelectionComponent,
83
+ MozDatatableSortDirective,
84
+ ],
85
+ }]
86
+ }] });
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW96LWRhdGF0YWJsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9kYXRhdGFibGUvbW96LWRhdGF0YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNwRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzFILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBa0N2RCxNQUFNLE9BQU8sa0JBQWtCOzsrR0FBbEIsa0JBQWtCO2dIQUFsQixrQkFBa0IsaUJBOUIzQixxQkFBcUI7UUFDckIsZ0NBQWdDO1FBQ2hDLCtCQUErQjtRQUMvQiwyQkFBMkI7UUFDM0IsNEJBQTRCO1FBQzVCLHdDQUF3QztRQUN4Qyw4QkFBOEI7UUFDOUIseUJBQXlCLGFBR3pCLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZO1FBQ1osY0FBYztRQUNkLFVBQVU7UUFDVixZQUFZLGFBR1oscUJBQXFCO1FBQ3JCLGdDQUFnQztRQUNoQywrQkFBK0I7UUFDL0IsMkJBQTJCO1FBQzNCLDRCQUE0QjtRQUM1Qix3Q0FBd0M7UUFDeEMsOEJBQThCO1FBQzlCLHlCQUF5QjtnSEFHaEIsa0JBQWtCLFlBcEIzQixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLFlBQVk7UUFDWixXQUFXO1FBQ1gsWUFBWTtRQUNaLGNBQWM7UUFDZCxVQUFVO1FBQ1YsWUFBWTsyRkFhSCxrQkFBa0I7a0JBaEM5QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixxQkFBcUI7d0JBQ3JCLGdDQUFnQzt3QkFDaEMsK0JBQStCO3dCQUMvQiwyQkFBMkI7d0JBQzNCLDRCQUE0Qjt3QkFDNUIsd0NBQXdDO3dCQUN4Qyw4QkFBOEI7d0JBQzlCLHlCQUF5QjtxQkFDMUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixjQUFjO3dCQUNkLFVBQVU7d0JBQ1YsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AscUJBQXFCO3dCQUNyQixnQ0FBZ0M7d0JBQ2hDLCtCQUErQjt3QkFDL0IsMkJBQTJCO3dCQUMzQiw0QkFBNEI7d0JBQzVCLHdDQUF3Qzt3QkFDeEMsOEJBQThCO3dCQUM5Qix5QkFBeUI7cUJBQzFCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGVja2JveE1vZHVsZSB9IGZyb20gJy4uL2NoZWNrYm94L2NoZWNrYm94Lm1vZHVsZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1vekRhdGF0YWJsZUNvbXBvbmVudCB9IGZyb20gJy4vbW96LWRhdGF0YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW96RGF0YXRhYmxlQ29udGVudENlbGxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29udGVudC9tb3otZGF0YXRhYmxlLWNvbnRlbnQtY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW96RGF0YXRhYmxlSGVhZGVyQ2VsbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9oZWFkZXIvbW96LWRhdGF0YWJsZS1oZWFkZXItY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW96RGF0YXRhYmxlRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvb3Rlci9tb3otZGF0YXRhYmxlLWZvb3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW96RGF0YXRhYmxlQ2FwdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYXB0aW9uL21vei1kYXRhdGFibGUtY2FwdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW96RGF0YXRhYmxlU2VsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdGlvbi9tb3otZGF0YXRhYmxlLXNlbGVjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbk1vZHVsZSB9IGZyb20gJy4uL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgU2VsZWN0TW9kdWxlIH0gZnJvbSAnLi4vc2VsZWN0L3NlbGVjdC5tb2R1bGUnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHsgTW96RGF0YXRhYmxlUm93RXhwYW5zaW9uQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yb3cvbW96LWRhdGF0YWJsZS1yb3ctZXhwYW5zaW9uLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IE1vekRhdGF0YWJsZVNvcnREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvbW96LWRhdGF0YWJsZS1zb3J0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnLi4vaWNvbi9pY29uLm1vZHVsZSc7XG5pbXBvcnQgeyBUb2dnbGVNb2R1bGUgfSBmcm9tICcuLi90b2dnbGUvdG9nZ2xlLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIE1vekRhdGF0YWJsZUNvbXBvbmVudCxcbiAgICBNb3pEYXRhdGFibGVDb250ZW50Q2VsbENvbXBvbmVudCxcbiAgICBNb3pEYXRhdGFibGVIZWFkZXJDZWxsQ29tcG9uZW50LFxuICAgIE1vekRhdGF0YWJsZUZvb3RlckNvbXBvbmVudCxcbiAgICBNb3pEYXRhdGFibGVDYXB0aW9uQ29tcG9uZW50LFxuICAgIE1vekRhdGF0YWJsZVJvd0V4cGFuc2lvbkNvbnRlbnRDb21wb25lbnQsXG4gICAgTW96RGF0YXRhYmxlU2VsZWN0aW9uQ29tcG9uZW50LFxuICAgIE1vekRhdGF0YWJsZVNvcnREaXJlY3RpdmUsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUGFnaW5hdGlvbk1vZHVsZSxcbiAgICBTZWxlY3RNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIENoZWNrYm94TW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgVG9nZ2xlTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTW96RGF0YXRhYmxlQ29tcG9uZW50LFxuICAgIE1vekRhdGF0YWJsZUNvbnRlbnRDZWxsQ29tcG9uZW50LFxuICAgIE1vekRhdGF0YWJsZUhlYWRlckNlbGxDb21wb25lbnQsXG4gICAgTW96RGF0YXRhYmxlRm9vdGVyQ29tcG9uZW50LFxuICAgIE1vekRhdGF0YWJsZUNhcHRpb25Db21wb25lbnQsXG4gICAgTW96RGF0YXRhYmxlUm93RXhwYW5zaW9uQ29udGVudENvbXBvbmVudCxcbiAgICBNb3pEYXRhdGFibGVTZWxlY3Rpb25Db21wb25lbnQsXG4gICAgTW96RGF0YXRhYmxlU29ydERpcmVjdGl2ZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTW96RGF0YXRhYmxlTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,14 @@
1
+ export * from './moz-datatable.component';
2
+ export * from './components/header/moz-datatable-header-cell.component';
3
+ export * from './components/footer/moz-datatable-footer.component';
4
+ export * from './components/content/moz-datatable-content-cell.component';
5
+ export * from './components/caption/moz-datatable-caption.component';
6
+ export * from './components/row/moz-datatable-row-expansion-content.component';
7
+ export * from './components/selection/moz-datatable-selection.component';
8
+ export * from './directives/moz-datatable-sort.directive';
9
+ export * from './moz-datatable.module';
10
+ export * from './model/datatable-settings';
11
+ export * from './model/column-def';
12
+ export * from './model/row-data';
13
+ export * from './model/footer-settings';
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2RhdGF0YWJsZS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vei1kYXRhdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9oZWFkZXIvbW96LWRhdGF0YWJsZS1oZWFkZXItY2VsbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2Zvb3Rlci9tb3otZGF0YXRhYmxlLWZvb3Rlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NvbnRlbnQvbW96LWRhdGF0YWJsZS1jb250ZW50LWNlbGwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jYXB0aW9uL21vei1kYXRhdGFibGUtY2FwdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Jvdy9tb3otZGF0YXRhYmxlLXJvdy1leHBhbnNpb24tY29udGVudC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdGlvbi9tb3otZGF0YXRhYmxlLXNlbGVjdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL21vei1kYXRhdGFibGUtc29ydC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9tb3otZGF0YXRhYmxlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsL2RhdGF0YWJsZS1zZXR0aW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsL2NvbHVtbi1kZWYnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9yb3ctZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsL2Zvb3Rlci1zZXR0aW5ncyc7XG4iXX0=
@@ -0,0 +1,80 @@
1
+ import { ChangeDetectionStrategy, Component, Inject, ViewEncapsulation } from '@angular/core';
2
+ import { LAYER_DATA, LAYER_REF } from '../../../layer/tokens';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/forms";
6
+ import * as i3 from "../../../button/button.component";
7
+ import * as i4 from "../../../checkbox/checkbox.component";
8
+ import * as i5 from "../../../icon/icon.component";
9
+ import * as i6 from "../../../toggle/toggle.component";
10
+ export class MozDatatableManagementContentComponent {
11
+ constructor(data, layerRef) {
12
+ this.data = data;
13
+ this.layerRef = layerRef;
14
+ this.mouseYCoordinate = null;
15
+ this.distanceTopGrabbedVsPointer = null;
16
+ this.draggingColumn = null;
17
+ this.draggingColumnField = null;
18
+ this.draggingColumnIndex = null;
19
+ this.hoveredColumnIndex = null;
20
+ this.columnDefs = [];
21
+ this.datatableSettings = data;
22
+ this.firstColumnFixed = this.datatableSettings.fixFirstColumn;
23
+ this.columnDefs = data.columnDefs.map((x) => ({ ...x }));
24
+ }
25
+ close(data) {
26
+ this.layerRef.close(data);
27
+ }
28
+ dragStartEvent($event, columnDef, index) {
29
+ this.mouseYCoordinate = $event.clientY;
30
+ this.draggingColumn = columnDef;
31
+ this.draggingColumnIndex = index;
32
+ this.draggingColumnField = columnDef.field;
33
+ }
34
+ dragEvent($event) {
35
+ this.mouseYCoordinate = $event.clientY;
36
+ }
37
+ dragOverEvent(index) {
38
+ this.hoveredColumnIndex = index;
39
+ this.updateColumnDefsList();
40
+ }
41
+ dragEndEvent() {
42
+ this.draggingColumnField = null;
43
+ this.hoveredColumnIndex = null;
44
+ }
45
+ hideColumnChangeEvent(item) {
46
+ item.hide = item.hide ? false : true;
47
+ }
48
+ updateColumnDefsList() {
49
+ if (this.draggingColumnIndex != null &&
50
+ this.hoveredColumnIndex != null &&
51
+ this.draggingColumnIndex != this.hoveredColumnIndex) {
52
+ // Allows to swap the position of 2 elements when there is a drag over
53
+ [this.columnDefs[this.draggingColumnIndex], this.columnDefs[this.hoveredColumnIndex]] = [
54
+ this.columnDefs[this.hoveredColumnIndex],
55
+ this.columnDefs[this.draggingColumnIndex],
56
+ ];
57
+ this.draggingColumnIndex = this.hoveredColumnIndex;
58
+ }
59
+ }
60
+ applyEvent() {
61
+ this.close({ columnDefs: this.columnDefs, firstColumnFixed: this.firstColumnFixed });
62
+ }
63
+ resetEvent() {
64
+ this.columnDefs = this.datatableSettings.columnDefs.map((x) => Object.assign({}, x));
65
+ this.firstColumnFixed = this.datatableSettings.fixFirstColumn;
66
+ }
67
+ }
68
+ MozDatatableManagementContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MozDatatableManagementContentComponent, deps: [{ token: LAYER_DATA }, { token: LAYER_REF }], target: i0.ɵɵFactoryTarget.Component });
69
+ MozDatatableManagementContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: MozDatatableManagementContentComponent, selector: "moz-datatable-management-content", host: { properties: { "class.manage-settings": "true" } }, ngImport: i0, template: "<div class=\"settings__body\">\n <span class=\"settings__title\">{{\n datatableSettings.labels?.settings?.columnsLockTitle || 'Columns lock'\n }}</span>\n <div class=\"settings__toggle-column-lock\">\n <moz-toggle [size]=\"'s'\" [(ngModel)]=\"firstColumnFixed\">{{\n datatableSettings.labels?.settings?.fixFirstColumnTitle || 'Fix the first column'\n }}</moz-toggle>\n </div>\n <span class=\"settings__title\">{{\n datatableSettings.labels?.settings?.columnsDisplayTitle || 'Columns display'\n }}</span>\n <div class=\"settings__columns-container\">\n <div\n *ngIf=\"mouseYCoordinate\"\n class=\"settings__columns-container-item settings__columns-container-item-ghost\"\n [style.top.px]=\"mouseYCoordinate + (distanceTopGrabbedVsPointer || 0)\"\n >\n <div class=\"settings__column-icon-value\">\n <moz-icon iconName=\"Navigation_Display_MovingBlock_24px\"></moz-icon>\n <moz-checkbox [checked]=\"!draggingColumn?.hide\"> </moz-checkbox>\n <span class=\"settings__column-value\">{{ draggingColumn?.headerName }}</span>\n </div>\n </div>\n\n <div\n *ngFor=\"let columnDef of columnDefs; let index = index\"\n class=\"settings__columns-container-item\"\n [class.settings__columns-container-item-invisible]=\"draggingColumnField === columnDef.field\"\n [draggable]=\"true\"\n (dragstart)=\"dragStartEvent($event, columnDef, index)\"\n (drag)=\"dragEvent($event)\"\n (dragover)=\"dragOverEvent(index)\"\n (dragend)=\"dragEndEvent()\"\n >\n <div class=\"settings__column-icon-value\">\n <moz-icon iconName=\"Navigation_Display_MovingBlock_24px\"></moz-icon>\n <moz-checkbox [checked]=\"!columnDef.hide\" (change)=\"hideColumnChangeEvent(columnDef)\">\n </moz-checkbox>\n <span class=\"settings__column-value\">{{ columnDef.headerName }}</span>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"settings__footer\">\n <button aria-label=\"apply settings\" moz-button [size]=\"'m'\" (click)=\"applyEvent()\">\n {{ datatableSettings.labels?.settings?.applyButtonTitle || 'Apply' }}\n </button>\n <button\n aria-label=\"reset settings\"\n moz-button\n [size]=\"'m'\"\n [variation]=\"'bordered'\"\n (click)=\"resetEvent()\"\n >\n {{ datatableSettings.labels?.settings?.resetButtonTitle || 'Reset' }}\n </button>\n</div>\n", styles: [".manage-settings{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:1rem 0}.settings__footer{display:flex;justify-content:space-evenly;align-items:center}.settings__body{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.settings__title{font-weight:700}.settings__reset-button{margin-left:25px}.settings__column-icon-value{display:flex;text-align:center;align-items:center}.settings__checkbox-hide-column{margin-left:25px}.settings__column-value{margin-left:8px}.settings__columns-container{margin-top:25px}.settings__columns-container-item{width:300px;background:white;margin-bottom:18px;cursor:grab}.settings__columns-container-item-ghost{margin-bottom:10px;pointer-events:none;z-index:99;position:absolute;top:0;left:10}.settings__columns-container-item-invisible{opacity:0}.settings__toggle-column-lock{margin-top:17px;margin-bottom:17px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[moz-button]", inputs: ["iconPosition", "onlyIcon", "theme", "variation", "widthBehavior", "size"] }, { kind: "component", type: i4.CheckboxComponent, selector: "moz-checkbox", inputs: ["disabled", "indeterminate", "invalid", "checked"] }, { kind: "component", type: i5.IconComponent, selector: "moz-icon", inputs: ["iconName"] }, { kind: "component", type: i6.ToggleComponent, selector: "moz-toggle", inputs: ["disabled", "size", "checked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MozDatatableManagementContentComponent, decorators: [{
71
+ type: Component,
72
+ args: [{ selector: 'moz-datatable-management-content', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { '[class.manage-settings]': 'true' }, template: "<div class=\"settings__body\">\n <span class=\"settings__title\">{{\n datatableSettings.labels?.settings?.columnsLockTitle || 'Columns lock'\n }}</span>\n <div class=\"settings__toggle-column-lock\">\n <moz-toggle [size]=\"'s'\" [(ngModel)]=\"firstColumnFixed\">{{\n datatableSettings.labels?.settings?.fixFirstColumnTitle || 'Fix the first column'\n }}</moz-toggle>\n </div>\n <span class=\"settings__title\">{{\n datatableSettings.labels?.settings?.columnsDisplayTitle || 'Columns display'\n }}</span>\n <div class=\"settings__columns-container\">\n <div\n *ngIf=\"mouseYCoordinate\"\n class=\"settings__columns-container-item settings__columns-container-item-ghost\"\n [style.top.px]=\"mouseYCoordinate + (distanceTopGrabbedVsPointer || 0)\"\n >\n <div class=\"settings__column-icon-value\">\n <moz-icon iconName=\"Navigation_Display_MovingBlock_24px\"></moz-icon>\n <moz-checkbox [checked]=\"!draggingColumn?.hide\"> </moz-checkbox>\n <span class=\"settings__column-value\">{{ draggingColumn?.headerName }}</span>\n </div>\n </div>\n\n <div\n *ngFor=\"let columnDef of columnDefs; let index = index\"\n class=\"settings__columns-container-item\"\n [class.settings__columns-container-item-invisible]=\"draggingColumnField === columnDef.field\"\n [draggable]=\"true\"\n (dragstart)=\"dragStartEvent($event, columnDef, index)\"\n (drag)=\"dragEvent($event)\"\n (dragover)=\"dragOverEvent(index)\"\n (dragend)=\"dragEndEvent()\"\n >\n <div class=\"settings__column-icon-value\">\n <moz-icon iconName=\"Navigation_Display_MovingBlock_24px\"></moz-icon>\n <moz-checkbox [checked]=\"!columnDef.hide\" (change)=\"hideColumnChangeEvent(columnDef)\">\n </moz-checkbox>\n <span class=\"settings__column-value\">{{ columnDef.headerName }}</span>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"settings__footer\">\n <button aria-label=\"apply settings\" moz-button [size]=\"'m'\" (click)=\"applyEvent()\">\n {{ datatableSettings.labels?.settings?.applyButtonTitle || 'Apply' }}\n </button>\n <button\n aria-label=\"reset settings\"\n moz-button\n [size]=\"'m'\"\n [variation]=\"'bordered'\"\n (click)=\"resetEvent()\"\n >\n {{ datatableSettings.labels?.settings?.resetButtonTitle || 'Reset' }}\n </button>\n</div>\n", styles: [".manage-settings{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:1rem 0}.settings__footer{display:flex;justify-content:space-evenly;align-items:center}.settings__body{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.settings__title{font-weight:700}.settings__reset-button{margin-left:25px}.settings__column-icon-value{display:flex;text-align:center;align-items:center}.settings__checkbox-hide-column{margin-left:25px}.settings__column-value{margin-left:8px}.settings__columns-container{margin-top:25px}.settings__columns-container-item{width:300px;background:white;margin-bottom:18px;cursor:grab}.settings__columns-container-item-ghost{margin-bottom:10px;pointer-events:none;z-index:99;position:absolute;top:0;left:10}.settings__columns-container-item-invisible{opacity:0}.settings__toggle-column-lock{margin-top:17px;margin-bottom:17px}\n"] }]
73
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
74
+ type: Inject,
75
+ args: [LAYER_DATA]
76
+ }] }, { type: undefined, decorators: [{
77
+ type: Inject,
78
+ args: [LAYER_REF]
79
+ }] }]; } });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW96LWRhdGF0YWJsZS1tYW5hZ2VtZW50LWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZGF0YXRhYmxlLW1hbmFnZW1lbnQvY29tcG9uZW50cy9tb3otZGF0YXRhYmxlLW1hbmFnZW1lbnQtY29udGVudC9tb3otZGF0YXRhYmxlLW1hbmFnZW1lbnQtY29udGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9kYXRhdGFibGUtbWFuYWdlbWVudC9jb21wb25lbnRzL21vei1kYXRhdGFibGUtbWFuYWdlbWVudC1jb250ZW50L21vei1kYXRhdGFibGUtbWFuYWdlbWVudC1jb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7O0FBYTlELE1BQU0sT0FBTyxzQ0FBc0M7SUFXakQsWUFDc0MsSUFBdUIsRUFDeEIsUUFBa0I7UUFEakIsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDeEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQVpoRCxxQkFBZ0IsR0FBa0IsSUFBSSxDQUFDO1FBQ3ZDLGdDQUEyQixHQUFrQixJQUFJLENBQUM7UUFDbEQsbUJBQWMsR0FBcUIsSUFBSSxDQUFDO1FBQ3hDLHdCQUFtQixHQUFrQixJQUFJLENBQUM7UUFDMUMsd0JBQW1CLEdBQWtCLElBQUksQ0FBQztRQUMxQyx1QkFBa0IsR0FBa0IsSUFBSSxDQUFDO1FBQ3pDLGVBQVUsR0FBZ0IsRUFBRSxDQUFDO1FBUWxDLElBQUksQ0FBQyxp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QUczQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxFQUFFOzswQkFjeEMsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTEFZRVJfREFUQSwgTEFZRVJfUkVGIH0gZnJvbSAnLi4vLi4vLi4vbGF5ZXIvdG9rZW5zJztcbmltcG9ydCB7IExheWVyUmVmIH0gZnJvbSAnLi4vLi4vLi4vbGF5ZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDb2x1bW5EZWYgfSBmcm9tICcuLi8uLi8uLi9kYXRhdGFibGUvbW9kZWwvY29sdW1uLWRlZic7XG5pbXBvcnQgeyBEYXRhdGFibGVTZXR0aW5ncyB9IGZyb20gJy4uLy4uLy4uL2RhdGF0YWJsZS9tb2RlbC9kYXRhdGFibGUtc2V0dGluZ3MnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb3otZGF0YXRhYmxlLW1hbmFnZW1lbnQtY29udGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb3otZGF0YXRhYmxlLW1hbmFnZW1lbnQtY29udGVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vei1kYXRhdGFibGUtbWFuYWdlbWVudC1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7ICdbY2xhc3MubWFuYWdlLXNldHRpbmdzXSc6ICd0cnVlJyB9LFxufSlcbmV4cG9ydCBjbGFzcyBNb3pEYXRhdGFibGVNYW5hZ2VtZW50Q29udGVudENvbXBvbmVudCB7XG4gIHB1YmxpYyBtb3VzZVlDb29yZGluYXRlOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgcHVibGljIGRpc3RhbmNlVG9wR3JhYmJlZFZzUG9pbnRlcjogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIHB1YmxpYyBkcmFnZ2luZ0NvbHVtbjogQ29sdW1uRGVmIHwgbnVsbCA9IG51bGw7XG4gIHB1YmxpYyBkcmFnZ2luZ0NvbHVtbkZpZWxkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHVibGljIGRyYWdnaW5nQ29sdW1uSW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgaG92ZXJlZENvbHVtbkluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgcHVibGljIGNvbHVtbkRlZnM6IENvbHVtbkRlZltdID0gW107XG4gIHB1YmxpYyBkYXRhdGFibGVTZXR0aW5nczogRGF0YXRhYmxlU2V0dGluZ3M7XG4gIHB1YmxpYyBmaXJzdENvbHVtbkZpeGVkPzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KExBWUVSX0RBVEEpIHB1YmxpYyByZWFkb25seSBkYXRhOiBEYXRhdGFibGVTZXR0aW5ncyxcbiAgICBASW5qZWN0KExBWUVSX1JFRikgcHVibGljIHJlYWRvbmx5IGxheWVyUmVmOiBMYXllclJlZlxuICApIHtcbiAgICB0aGlzLmRhdGF0YWJsZVNldHRpbmdzID0gZGF0YTtcbiAgICB0aGlzLmZpcnN0Q29sdW1uRml4ZWQgPSB0aGlzLmRhdGF0YWJsZVNldHRpbmdzLmZpeEZpcnN0Q29sdW1uO1xuICAgIHRoaXMuY29sdW1uRGVmcyA9IGRhdGEuY29sdW1uRGVmcy5tYXAoKHgpID0+ICh7IC4uLnggfSkpO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKGRhdGE/OiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy5sYXllclJlZi5jbG9zZShkYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBkcmFnU3RhcnRFdmVudCgkZXZlbnQ6IE1vdXNlRXZlbnQsIGNvbHVtbkRlZjogQ29sdW1uRGVmLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5tb3VzZVlDb29yZGluYXRlID0gJGV2ZW50LmNsaWVudFk7XG4gICAgdGhpcy5kcmFnZ2luZ0NvbHVtbiA9IGNvbHVtbkRlZjtcbiAgICB0aGlzLmRyYWdnaW5nQ29sdW1uSW5kZXggPSBpbmRleDtcbiAgICB0aGlzLmRyYWdnaW5nQ29sdW1uRmllbGQgPSBjb2x1bW5EZWYuZmllbGQ7XG4gIH1cblxuICBwdWJsaWMgZHJhZ0V2ZW50KCRldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMubW91c2VZQ29vcmRpbmF0ZSA9ICRldmVudC5jbGllbnRZO1xuICB9XG5cbiAgcHVibGljIGRyYWdPdmVyRXZlbnQoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuaG92ZXJlZENvbHVtbkluZGV4ID0gaW5kZXg7XG4gICAgdGhpcy51cGRhdGVDb2x1bW5EZWZzTGlzdCgpO1xuICB9XG5cbiAgcHVibGljIGRyYWdFbmRFdmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmRyYWdnaW5nQ29sdW1uRmllbGQgPSBudWxsO1xuICAgIHRoaXMuaG92ZXJlZENvbHVtbkluZGV4ID0gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBoaWRlQ29sdW1uQ2hhbmdlRXZlbnQoaXRlbTogQ29sdW1uRGVmKTogdm9pZCB7XG4gICAgaXRlbS5oaWRlID0gaXRlbS5oaWRlID8gZmFsc2UgOiB0cnVlO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUNvbHVtbkRlZnNMaXN0KCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuZHJhZ2dpbmdDb2x1bW5JbmRleCAhPSBudWxsICYmXG4gICAgICB0aGlzLmhvdmVyZWRDb2x1bW5JbmRleCAhPSBudWxsICYmXG4gICAgICB0aGlzLmRyYWdnaW5nQ29sdW1uSW5kZXggIT0gdGhpcy5ob3ZlcmVkQ29sdW1uSW5kZXhcbiAgICApIHtcbiAgICAgIC8vIEFsbG93cyB0byBzd2FwIHRoZSBwb3NpdGlvbiBvZiAyIGVsZW1lbnRzIHdoZW4gdGhlcmUgaXMgYSBkcmFnIG92ZXJcbiAgICAgIFt0aGlzLmNvbHVtbkRlZnNbdGhpcy5kcmFnZ2luZ0NvbHVtbkluZGV4XSwgdGhpcy5jb2x1bW5EZWZzW3RoaXMuaG92ZXJlZENvbHVtbkluZGV4XV0gPSBbXG4gICAgICAgIHRoaXMuY29sdW1uRGVmc1t0aGlzLmhvdmVyZWRDb2x1bW5JbmRleF0sXG4gICAgICAgIHRoaXMuY29sdW1uRGVmc1t0aGlzLmRyYWdnaW5nQ29sdW1uSW5kZXhdLFxuICAgICAgXTtcbiAgICAgIHRoaXMuZHJhZ2dpbmdDb2x1bW5JbmRleCA9IHRoaXMuaG92ZXJlZENvbHVtbkluZGV4O1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhcHBseUV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2UoeyBjb2x1bW5EZWZzOiB0aGlzLmNvbHVtbkRlZnMsIGZpcnN0Q29sdW1uRml4ZWQ6IHRoaXMuZmlyc3RDb2x1bW5GaXhlZCB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldEV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuY29sdW1uRGVmcyA9IHRoaXMuZGF0YXRhYmxlU2V0dGluZ3MuY29sdW1uRGVmcy5tYXAoKHgpID0+IE9iamVjdC5hc3NpZ24oe30sIHgpKTtcbiAgICB0aGlzLmZpcnN0Q29sdW1uRml4ZWQgPSB0aGlzLmRhdGF0YWJsZVNldHRpbmdzLmZpeEZpcnN0Q29sdW1uO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2V0dGluZ3NfX2JvZHlcIj5cbiAgPHNwYW4gY2xhc3M9XCJzZXR0aW5nc19fdGl0bGVcIj57e1xuICAgIGRhdGF0YWJsZVNldHRpbmdzLmxhYmVscz8uc2V0dGluZ3M/LmNvbHVtbnNMb2NrVGl0bGUgfHwgJ0NvbHVtbnMgbG9jaydcbiAgfX08L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJzZXR0aW5nc19fdG9nZ2xlLWNvbHVtbi1sb2NrXCI+XG4gICAgPG1vei10b2dnbGUgW3NpemVdPVwiJ3MnXCIgWyhuZ01vZGVsKV09XCJmaXJzdENvbHVtbkZpeGVkXCI+e3tcbiAgICAgIGRhdGF0YWJsZVNldHRpbmdzLmxhYmVscz8uc2V0dGluZ3M/LmZpeEZpcnN0Q29sdW1uVGl0bGUgfHwgJ0ZpeCB0aGUgZmlyc3QgY29sdW1uJ1xuICAgIH19PC9tb3otdG9nZ2xlPlxuICA8L2Rpdj5cbiAgPHNwYW4gY2xhc3M9XCJzZXR0aW5nc19fdGl0bGVcIj57e1xuICAgIGRhdGF0YWJsZVNldHRpbmdzLmxhYmVscz8uc2V0dGluZ3M/LmNvbHVtbnNEaXNwbGF5VGl0bGUgfHwgJ0NvbHVtbnMgZGlzcGxheSdcbiAgfX08L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJzZXR0aW5nc19fY29sdW1ucy1jb250YWluZXJcIj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIm1vdXNlWUNvb3JkaW5hdGVcIlxuICAgICAgY2xhc3M9XCJzZXR0aW5nc19fY29sdW1ucy1jb250YWluZXItaXRlbSBzZXR0aW5nc19fY29sdW1ucy1jb250YWluZXItaXRlbS1naG9zdFwiXG4gICAgICBbc3R5bGUudG9wLnB4XT1cIm1vdXNlWUNvb3JkaW5hdGUgKyAoZGlzdGFuY2VUb3BHcmFiYmVkVnNQb2ludGVyIHx8IDApXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZ3NfX2NvbHVtbi1pY29uLXZhbHVlXCI+XG4gICAgICAgIDxtb3otaWNvbiBpY29uTmFtZT1cIk5hdmlnYXRpb25fRGlzcGxheV9Nb3ZpbmdCbG9ja18yNHB4XCI+PC9tb3otaWNvbj5cbiAgICAgICAgPG1vei1jaGVja2JveCBbY2hlY2tlZF09XCIhZHJhZ2dpbmdDb2x1bW4/LmhpZGVcIj4gPC9tb3otY2hlY2tib3g+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2V0dGluZ3NfX2NvbHVtbi12YWx1ZVwiPnt7IGRyYWdnaW5nQ29sdW1uPy5oZWFkZXJOYW1lIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICAqbmdGb3I9XCJsZXQgY29sdW1uRGVmIG9mIGNvbHVtbkRlZnM7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgIGNsYXNzPVwic2V0dGluZ3NfX2NvbHVtbnMtY29udGFpbmVyLWl0ZW1cIlxuICAgICAgW2NsYXNzLnNldHRpbmdzX19jb2x1bW5zLWNvbnRhaW5lci1pdGVtLWludmlzaWJsZV09XCJkcmFnZ2luZ0NvbHVtbkZpZWxkID09PSBjb2x1bW5EZWYuZmllbGRcIlxuICAgICAgW2RyYWdnYWJsZV09XCJ0cnVlXCJcbiAgICAgIChkcmFnc3RhcnQpPVwiZHJhZ1N0YXJ0RXZlbnQoJGV2ZW50LCBjb2x1bW5EZWYsIGluZGV4KVwiXG4gICAgICAoZHJhZyk9XCJkcmFnRXZlbnQoJGV2ZW50KVwiXG4gICAgICAoZHJhZ292ZXIpPVwiZHJhZ092ZXJFdmVudChpbmRleClcIlxuICAgICAgKGRyYWdlbmQpPVwiZHJhZ0VuZEV2ZW50KClcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZXR0aW5nc19fY29sdW1uLWljb24tdmFsdWVcIj5cbiAgICAgICAgPG1vei1pY29uIGljb25OYW1lPVwiTmF2aWdhdGlvbl9EaXNwbGF5X01vdmluZ0Jsb2NrXzI0cHhcIj48L21vei1pY29uPlxuICAgICAgICA8bW96LWNoZWNrYm94IFtjaGVja2VkXT1cIiFjb2x1bW5EZWYuaGlkZVwiIChjaGFuZ2UpPVwiaGlkZUNvbHVtbkNoYW5nZUV2ZW50KGNvbHVtbkRlZilcIj5cbiAgICAgICAgPC9tb3otY2hlY2tib3g+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2V0dGluZ3NfX2NvbHVtbi12YWx1ZVwiPnt7IGNvbHVtbkRlZi5oZWFkZXJOYW1lIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJzZXR0aW5nc19fZm9vdGVyXCI+XG4gIDxidXR0b24gYXJpYS1sYWJlbD1cImFwcGx5IHNldHRpbmdzXCIgbW96LWJ1dHRvbiBbc2l6ZV09XCInbSdcIiAoY2xpY2spPVwiYXBwbHlFdmVudCgpXCI+XG4gICAge3sgZGF0YXRhYmxlU2V0dGluZ3MubGFiZWxzPy5zZXR0aW5ncz8uYXBwbHlCdXR0b25UaXRsZSB8fCAnQXBwbHknIH19XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uXG4gICAgYXJpYS1sYWJlbD1cInJlc2V0IHNldHRpbmdzXCJcbiAgICBtb3otYnV0dG9uXG4gICAgW3NpemVdPVwiJ20nXCJcbiAgICBbdmFyaWF0aW9uXT1cIidib3JkZXJlZCdcIlxuICAgIChjbGljayk9XCJyZXNldEV2ZW50KClcIlxuICA+XG4gICAge3sgZGF0YXRhYmxlU2V0dGluZ3MubGFiZWxzPy5zZXR0aW5ncz8ucmVzZXRCdXR0b25UaXRsZSB8fCAnUmVzZXQnIH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=