@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
@@ -27,13 +27,14 @@ export class AutocompleteComponent {
27
27
  this.maxShowingSelectedTags = 5;
28
28
  this.layerTagsTitle = 'Autocomplete tags';
29
29
  this.layerTagsIcon = 'Navigation_Display_Setting_24px';
30
- this.noResultsFoundLabel = 'No results found';
31
- this.searchUpdated = new EventEmitter();
30
+ this.errorContentText = 'No results found';
31
+ this.withSearchFilter = true;
32
32
  this.openState = false;
33
+ this.searchUpdated = new EventEmitter();
33
34
  this.destroyed = new Subject();
34
35
  this.search = '';
35
36
  this.initialListboxItems = [];
36
- this.onChange = () => { };
37
+ this.onAutocompleteChange = () => { };
37
38
  this.onTouch = () => { };
38
39
  this.noResults = false;
39
40
  }
@@ -46,10 +47,10 @@ export class AutocompleteComponent {
46
47
  }
47
48
  this.noResults = false;
48
49
  this.selectedItems = value;
49
- this.onChange(value);
50
+ this.onAutocompleteChange(value);
50
51
  }
51
52
  registerOnChange(fn) {
52
- this.onChange = fn;
53
+ this.onAutocompleteChange = fn;
53
54
  }
54
55
  registerOnTouched(fn) {
55
56
  this.onTouch = fn;
@@ -87,18 +88,20 @@ export class AutocompleteComponent {
87
88
  }
88
89
  }
89
90
  openListbox() {
90
- this.openState = true;
91
- setTimeout(() => {
92
- const mozListbox = this.listboxElementRef.nativeElement;
93
- const inputElement = this.eRef.nativeElement.firstChild;
94
- const inputRect = inputElement.getBoundingClientRect();
95
- mozListbox.style.position = 'absolute';
96
- mozListbox.style.top = inputRect.bottom + window.scrollY + 'px';
97
- mozListbox.style.left = inputRect.left + window.scrollX + 'px';
98
- mozListbox.style.width = inputRect.width + 'px';
99
- this.originalListboxParent = mozListbox.parentElement;
100
- document.body.appendChild(mozListbox);
101
- }, 10);
91
+ if (this.listboxItems.length > 0) {
92
+ this.openState = true;
93
+ setTimeout(() => {
94
+ const mozListbox = this.listboxElementRef.nativeElement;
95
+ const inputElement = this.eRef.nativeElement.firstChild;
96
+ const inputRect = inputElement.getBoundingClientRect();
97
+ mozListbox.style.position = 'absolute';
98
+ mozListbox.style.top = inputRect.bottom + window.scrollY + 'px';
99
+ mozListbox.style.left = inputRect.left + window.scrollX + 'px';
100
+ mozListbox.style.width = inputRect.width + 'px';
101
+ this.originalListboxParent = mozListbox.parentElement;
102
+ document.body.appendChild(mozListbox);
103
+ }, 10);
104
+ }
102
105
  }
103
106
  closeListbox() {
104
107
  this.openState = false;
@@ -169,37 +172,39 @@ export class AutocompleteComponent {
169
172
  this.cd.detectChanges();
170
173
  }
171
174
  searchEvent() {
172
- this.noResults = false;
173
- this.invalid = false;
174
- if (this.search.length > 0) {
175
- this.listboxItems = [
176
- ...this.initialListboxItems.filter((listboxItem) => listboxItem.label.includes(this.search)),
177
- ];
178
- if (this.listboxItems.length === 0) {
179
- this.openState = false;
180
- this.noResults = true;
181
- this.invalid = true;
175
+ if (this.withSearchFilter) {
176
+ this.noResults = false;
177
+ this.invalid = false;
178
+ if (this.search.length > 0) {
179
+ this.listboxItems = [
180
+ ...this.initialListboxItems.filter((listboxItem) => listboxItem.label.includes(this.search)),
181
+ ];
182
+ if (this.listboxItems.length === 0) {
183
+ this.openState = false;
184
+ this.noResults = true;
185
+ this.invalid = true;
186
+ }
187
+ else {
188
+ this.openState = true;
189
+ }
182
190
  }
183
191
  else {
192
+ this.listboxItems = this.initialListboxItems;
184
193
  this.openState = true;
185
194
  }
186
195
  }
187
- else {
188
- this.listboxItems = this.initialListboxItems;
189
- this.openState = true;
190
- }
191
196
  this.searchUpdated.emit(this.search);
192
197
  this.cd.detectChanges();
193
198
  }
194
199
  }
195
200
  AutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AutocompleteComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
196
- AutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: AutocompleteComponent, selector: "moz-autocomplete", inputs: { listboxItems: "listboxItems", multiple: "multiple", placeholder: "placeholder", disabled: "disabled", loading: "loading", clearfield: "clearfield", valid: "valid", invalid: "invalid", size: "size", showSelectedTags: "showSelectedTags", maxShowingSelectedTags: "maxShowingSelectedTags", layerTagsTitle: "layerTagsTitle", layerTagsIcon: "layerTagsIcon", noResultsFoundLabel: "noResultsFoundLabel" }, outputs: { searchUpdated: "searchUpdated" }, host: { listeners: { "document:click": "clickout($event)" } }, providers: [
201
+ AutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: AutocompleteComponent, selector: "moz-autocomplete", inputs: { listboxItems: "listboxItems", multiple: "multiple", placeholder: "placeholder", disabled: "disabled", loading: "loading", clearfield: "clearfield", valid: "valid", invalid: "invalid", size: "size", showSelectedTags: "showSelectedTags", maxShowingSelectedTags: "maxShowingSelectedTags", layerTagsTitle: "layerTagsTitle", layerTagsIcon: "layerTagsIcon", errorContentText: "errorContentText", withSearchFilter: "withSearchFilter", openState: "openState" }, outputs: { searchUpdated: "searchUpdated" }, host: { listeners: { "document:click": "clickout($event)" } }, providers: [
197
202
  {
198
203
  provide: NG_VALUE_ACCESSOR,
199
204
  useExisting: forwardRef(() => AutocompleteComponent),
200
205
  multi: true,
201
206
  },
202
- ], viewQueries: [{ propertyName: "taglistComponent", first: true, predicate: ["taglist"], descendants: true }, { propertyName: "listboxElementRef", first: true, predicate: ["listbox"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n id=\"js-autocomplete\"\n class=\"mc-autocomplete mc-autocomplete--clearable\"\n [ngClass]=\"{ 'mc-autocomplete--multi': multiple }\"\n [ngStyle]=\"{\n '--autocomplete-tag-width':\n !showSelectedTags && multiple && getSelectedListboxItems().length > 0 ? '3.5rem' : '',\n '--autocomplete-width': '100%'\n }\"\n>\n <div class=\"mc-autocomplete__main\">\n <moz-tag\n *ngIf=\"!showSelectedTags && multiple && getSelectedListboxItems().length > 0\"\n type=\"removable\"\n class=\"mc-autocomplete__tag mc-tag-removable mc-tag-removable--s\"\n [size]=\"'s'\"\n (clickOnRemove)=\"clearFieldEvent()\"\n >\n {{ getSelectedListboxItems().length }}</moz-tag\n >\n\n <div class=\"mc-left-icon-input\" [ngClass]=\"{ 'is-valid': valid, 'is-invalid': invalid }\" F>\n <moz-icon\n class=\"mc-left-icon-input__icon\"\n [iconName]=\"'Navigation_Display_Search_24px'\"\n ></moz-icon>\n <input\n moz-input\n [type]=\"'text'\"\n [invalid]=\"invalid\"\n class=\"mc-left-icon-input__input mc-text-input mc-autocomplete__trigger\"\n [valid]=\"valid\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [size]=\"size\"\n [(ngModel)]=\"search\"\n (ngModelChange)=\"searchEvent()\"\n (click)=\"openListbox()\"\n />\n </div>\n\n <div class=\"mc-autocomplete__tools\">\n <div class=\"mc-autocomplete__loader mc-loader mc-loader--s\" *ngIf=\"loading\">\n <span class=\"mc-loader__spinner\">\n <moz-loader class=\"mc-loader__icon\" [size]=\"size\"></moz-loader>\n </span>\n </div>\n <button\n class=\"mc-autocomplete__clear\"\n type=\"button\"\n *ngIf=\"canClearField()\"\n (click)=\"clearFieldEvent()\"\n >\n <moz-icon\n class=\"mc-autocomplete__clear-icon\"\n [iconName]=\"'Navigation_Control_Tag--Cross_24px'\"\n ></moz-icon\n ><span class=\"mc-autocomplete__clear-text\">Clear</span>\n </button>\n </div>\n </div>\n <moz-listbox\n *ngIf=\"openState\"\n #listbox\n [listboxItems]=\"listboxItems\"\n [isOpen]=\"openState\"\n [multiple]=\"multiple\"\n [selectedItems]=\"selectedItems\"\n (itemsSelected)=\"itemsSelectedListboxEvent($event)\"\n ></moz-listbox>\n</div>\n<div class=\"mc-autocomplete__taglist\">\n <moz-taglist\n #taglist\n *ngIf=\"showSelectedTags && multiple\"\n (removeTag)=\"removeTagEvent($event)\"\n [tagItems]=\"getTagItemsFromSelectedItems()\"\n [max]=\"maxShowingSelectedTags\"\n [layerTagsTitle]=\"layerTagsTitle\"\n [layerTagsIcon]=\"layerTagsIcon\"\n ></moz-taglist>\n</div>\n", styles: [".mc-left-icon-input{position:relative}.mc-left-icon-input__icon{position:absolute;z-index:1;top:50%;transform:translateY(-50%);fill:#666;pointer-events:none}.mc-left-icon-input .mc-left-icon-input__icon{left:.75rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input .mc-left-icon-input__input{padding-left:2.9375rem}.mc-left-icon-input--s .mc-left-icon-input__icon{left:.5rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input--s .mc-left-icon-input__input{padding-left:2.4375rem}.mc-text-input{font-family:LeroyMerlin,sans-serif;font-weight:400;box-sizing:border-box;outline:none;-webkit-appearance:none;appearance:none;padding:0;margin:0;box-shadow:none;border:none;font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem;transition:box-shadow .2s ease;display:block;width:100%;position:relative;border:1px solid #666666;color:#191919;background-color:#fff;border-radius:4px}.mc-text-input[type=number]::-webkit-inner-spin-button,.mc-text-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.mc-text-input[type=number]{-moz-appearance:textfield}.mc-text-input[type=search]::-webkit-search-decoration:hover,.mc-text-input[type=search]::-webkit-search-cancel-button:hover{cursor:pointer}.mc-text-input::placeholder{font-size:1rem;line-height:1.375}.mc-text-input::placeholder{margin:0;color:#666;opacity:1}.mc-text-input.is-valid,.mc-text-input.is-invalid{background-repeat:no-repeat;background-size:1.5rem 1.5rem;background-position:right .4375rem center;padding-right:2.5rem}.mc-text-input.is-valid{border-color:#46a610;background-image:url(data:image/svg+xml,)}.mc-text-input.is-valid:hover,.mc-text-input.is-valid.is-hover{border-color:#035010}.mc-text-input.is-invalid{border-color:#c61112;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.5rem' width='1.5rem' viewBox='0 0 24 24' fill='%23c61112'%3E%3Cpath d='M12 2a10 10 0 1010 10A10 10 0 0012 2zm0 18a8 8 0 118-8 8 8 0 01-8 8z'/%3E%3Cpath d='M12 7a1 1 0 00-1 1v4.38a1 1 0 002 0V8a1 1 0 00-1-1z'/%3E%3Ccircle cx='12' cy='16' r='1'/%3E%3C/svg%3E\")}.mc-text-input.is-invalid:hover,.mc-text-input.is-invalid.is-hover{border-color:#530000}.mc-text-input:hover{border-color:#191919}.mc-text-input:focus{box-shadow:0 0 0 .125rem #fff,0 0 0 .25rem #0b96cc}.mc-text-input:disabled{background:#e6e6e6;border-color:#e6e6e6;color:#666;cursor:not-allowed}.mc-text-input--s{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s::placeholder{font-size:.875rem;line-height:1.2857142857}@media screen and (min-width: 680px){.mc-text-input--s\\@from-m{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-m::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1024px){.mc-text-input--s\\@from-l{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-l::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1280px){.mc-text-input--s\\@from-xl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xl::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1920px){.mc-text-input--s\\@from-xxl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xxl::placeholder{font-size:.875rem;line-height:1.2857142857}}.mc-text-input--m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m::placeholder{font-size:1rem;line-height:1.375}@media screen and (min-width: 680px){.mc-text-input--m\\@from-m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-m::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1024px){.mc-text-input--m\\@from-l{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-l::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1280px){.mc-text-input--m\\@from-xl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xl::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1920px){.mc-text-input--m\\@from-xxl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xxl::placeholder{font-size:1rem;line-height:1.375}}.mc-listbox{list-style:none;margin-left:0;padding-left:0;background-color:#fff;border:1px solid #666666;border-radius:3px;position:absolute;overflow-y:auto;margin-top:.25rem;margin-bottom:0;max-height:13.8125rem;min-width:auto;opacity:0;visibility:hidden;max-width:var(--listbox-width, auto);width:100%}.mc-listbox.is-open{opacity:1;visibility:visible;z-index:10}.mc-listbox::-webkit-scrollbar{background-color:#e6e6e6;width:.25rem}.mc-listbox::-webkit-scrollbar-thumb{background:#666666}.mc-listbox__item,.mc-listbox__tile{align-items:center;display:flex;gap:.5rem;min-height:3rem;padding-left:.75rem;padding-right:.75rem;position:relative;justify-content:space-between}.mc-listbox__item:not(:last-child),.mc-listbox__tile:not(:last-child){border-bottom:1px solid #b3b3b3}.mc-listbox__item:hover,.mc-listbox__tile:hover{background-color:#e6e6e6;box-shadow:inset 9px 0 0 -7px #191919}.mc-listbox__flag,.mc-listbox__icon{width:2rem;height:2rem}.mc-listbox__flag{font-size:1.4375rem;line-height:1.3913043478;text-align:center}.mc-listbox__empty{font-size:.875rem;line-height:1.2857142857;color:#c61112;display:inline-block;margin-top:.25rem}.mc-listbox__label{cursor:pointer;margin-right:auto}.mc-listbox__label:after{content:\"\";position:absolute;inset:0;z-index:2}.mc-listbox__input{order:1}.mc-listbox .is-checked,.mc-listbox .is-selected{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.5rem}.mc-listbox .is-focus{background-color:#e6e6e6;box-shadow:inset 9px 0 0 -7px #191919}.mc-listbox .is-disabled{cursor:not-allowed;box-shadow:none;background-color:#ccc;color:#666;pointer-events:none}.mc-listbox:not(.mc-listbox--multi) .mc-listbox__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-listbox:not(.mc-listbox--multi) .mc-listbox__input:checked+.mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center;content:\"\";height:1.5rem;position:absolute;right:.75rem;top:0;transform:translateY(50%);width:1.5rem}.mc-listbox--left{right:0}.mc-autocomplete{align-self:start;position:relative;min-width:18rem;max-width:var(--autocomplete-width, auto);width:100%}.mc-autocomplete__main{position:relative}.mc-autocomplete__tag,.mc-autocomplete__tools{position:absolute;top:50%;transform:translateY(-50%);z-index:2}.mc-autocomplete__tag{left:2.75rem}.mc-autocomplete__trigger{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-autocomplete__tools{align-items:center;background-color:#fff;display:flex;gap:.5rem;justify-content:flex-end;right:.75rem}.is-valid+.mc-autocomplete__tools,.is-invalid+.mc-autocomplete__tools{right:2.5rem}.mc-autocomplete__clear{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;box-shadow:0 0 0 0 transparent;transition:box-shadow .15s ease;background:none;border-radius:50%}.mc-autocomplete__clear:focus{box-shadow:0 0 0 2px #0b96cc}.mc-autocomplete__clear,.mc-autocomplete__clear-icon{height:1.5rem;width:1.5rem}.mc-autocomplete__clear-icon{fill:#666}.mc-autocomplete__clear-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-autocomplete__error{font-size:.875rem;line-height:1.2857142857;color:#c61112;display:inline-block;margin-top:.25rem}.mc-autocomplete--multi .mc-autocomplete__trigger{padding-left:calc(2.9375rem + var(--autocomplete-tag-width, 0px))}.mc-autocomplete__taglist{margin-top:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.TagComponent, selector: "moz-tag, a[moz-tag]", inputs: ["type", "size", "select"], outputs: ["selectChange", "clickOnRemove"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.TaglistComponent, selector: "moz-taglist", inputs: ["tagItems", "tagSize", "showAllTitle", "showAll", "layerTagsTitle", "layerTagsIcon", "max"], outputs: ["removeTag"] }, { kind: "component", type: i5.ListboxComponent, selector: "moz-listbox", inputs: ["listboxItems", "multiple", "isOpen", "selectedItems", "customMaxWidth"], outputs: ["itemsSelected"] }, { kind: "component", type: i6.IconComponent, selector: "moz-icon", inputs: ["iconName"] }, { kind: "component", type: i7.LoaderComponent, selector: "moz-loader", inputs: ["size", "theme"] }, { kind: "component", type: i8.TextInputComponent, selector: "input[moz-input]", inputs: ["size", "invalid", "valid"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
207
+ ], viewQueries: [{ propertyName: "taglistComponent", first: true, predicate: ["taglist"], descendants: true }, { propertyName: "listboxElementRef", first: true, predicate: ["listbox"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n id=\"js-autocomplete\"\n class=\"mc-autocomplete mc-autocomplete--clearable\"\n [ngClass]=\"{ 'mc-autocomplete--multi': multiple }\"\n [ngStyle]=\"{\n '--autocomplete-tag-width':\n !showSelectedTags && multiple && getSelectedListboxItems().length > 0 ? '3.5rem' : '',\n '--autocomplete-width': '100%'\n }\"\n>\n <div class=\"mc-autocomplete__main\">\n <moz-tag\n *ngIf=\"!showSelectedTags && multiple && getSelectedListboxItems().length > 0\"\n type=\"removable\"\n class=\"mc-autocomplete__tag mc-tag-removable mc-tag-removable--s\"\n [size]=\"'s'\"\n (clickOnRemove)=\"clearFieldEvent()\"\n >\n {{ getSelectedListboxItems().length }}</moz-tag\n >\n\n <div class=\"mc-left-icon-input\" [ngClass]=\"{ 'is-valid': valid, 'is-invalid': invalid }\" F>\n <moz-icon\n class=\"mc-left-icon-input__icon\"\n [iconName]=\"'Navigation_Display_Search_24px'\"\n ></moz-icon>\n <input\n moz-input\n [type]=\"'text'\"\n [invalid]=\"invalid\"\n class=\"mc-left-icon-input__input mc-text-input mc-autocomplete__trigger\"\n [valid]=\"valid\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [size]=\"size\"\n [(ngModel)]=\"search\"\n (ngModelChange)=\"searchEvent()\"\n (click)=\"openListbox()\"\n />\n </div>\n\n <div class=\"mc-autocomplete__tools\">\n <div class=\"mc-autocomplete__loader mc-loader mc-loader--s\" *ngIf=\"loading\">\n <span class=\"mc-loader__spinner\">\n <moz-loader class=\"mc-loader__icon\" size=\"s\"></moz-loader>\n </span>\n </div>\n <button\n class=\"mc-autocomplete__clear\"\n type=\"button\"\n *ngIf=\"canClearField()\"\n (click)=\"clearFieldEvent()\"\n >\n <moz-icon\n class=\"mc-autocomplete__clear-icon\"\n [iconName]=\"'Navigation_Control_Tag--Cross_24px'\"\n ></moz-icon\n ><span class=\"mc-autocomplete__clear-text\">Clear</span>\n </button>\n </div>\n </div>\n <moz-listbox\n *ngIf=\"openState\"\n #listbox\n [listboxItems]=\"listboxItems\"\n [isOpen]=\"openState\"\n [multiple]=\"multiple\"\n [selectedItems]=\"selectedItems\"\n (itemsSelected)=\"itemsSelectedListboxEvent($event)\"\n ></moz-listbox>\n</div>\n<div class=\"mc-autocomplete__error\" *ngIf=\"invalid\">{{ errorContentText }}</div>\n<div class=\"mc-autocomplete__taglist\">\n <moz-taglist\n #taglist\n *ngIf=\"showSelectedTags && multiple\"\n (removeTag)=\"removeTagEvent($event)\"\n [tagItems]=\"getTagItemsFromSelectedItems()\"\n [max]=\"maxShowingSelectedTags\"\n [layerTagsTitle]=\"layerTagsTitle\"\n [layerTagsIcon]=\"layerTagsIcon\"\n ></moz-taglist>\n</div>\n", styles: [".mc-left-icon-input{position:relative}.mc-left-icon-input__icon{position:absolute;z-index:1;top:50%;transform:translateY(-50%);fill:#666;pointer-events:none}.mc-left-icon-input .mc-left-icon-input__icon{left:.75rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input .mc-left-icon-input__input{padding-left:2.9375rem}.mc-left-icon-input--s .mc-left-icon-input__icon{left:.5rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input--s .mc-left-icon-input__input{padding-left:2.4375rem}.mc-text-input{font-family:LeroyMerlin,sans-serif;font-weight:400;box-sizing:border-box;outline:none;-webkit-appearance:none;appearance:none;padding:0;margin:0;box-shadow:none;border:none;font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem;transition:box-shadow .2s ease;display:block;width:100%;position:relative;border:1px solid #666666;color:#191919;background-color:#fff;border-radius:4px}.mc-text-input[type=number]::-webkit-inner-spin-button,.mc-text-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.mc-text-input[type=number]{-moz-appearance:textfield}.mc-text-input[type=search]::-webkit-search-decoration:hover,.mc-text-input[type=search]::-webkit-search-cancel-button:hover{cursor:pointer}.mc-text-input::placeholder{font-size:1rem;line-height:1.375}.mc-text-input::placeholder{margin:0;color:#666;opacity:1}.mc-text-input.is-valid,.mc-text-input.is-invalid{background-repeat:no-repeat;background-size:1.5rem 1.5rem;background-position:right .4375rem center;padding-right:2.5rem}.mc-text-input.is-valid{border-color:#46a610;background-image:url(data:image/svg+xml,)}.mc-text-input.is-valid:hover,.mc-text-input.is-valid.is-hover{border-color:#035010}.mc-text-input.is-invalid{border-color:#c61112;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.5rem' width='1.5rem' viewBox='0 0 24 24' fill='%23c61112'%3E%3Cpath d='M12 2a10 10 0 1010 10A10 10 0 0012 2zm0 18a8 8 0 118-8 8 8 0 01-8 8z'/%3E%3Cpath d='M12 7a1 1 0 00-1 1v4.38a1 1 0 002 0V8a1 1 0 00-1-1z'/%3E%3Ccircle cx='12' cy='16' r='1'/%3E%3C/svg%3E\")}.mc-text-input.is-invalid:hover,.mc-text-input.is-invalid.is-hover{border-color:#530000}.mc-text-input:hover{border-color:#191919}.mc-text-input:focus{box-shadow:0 0 0 .125rem #fff,0 0 0 .25rem #0b96cc}.mc-text-input:disabled{background:#e6e6e6;border-color:#e6e6e6;color:#666;cursor:not-allowed}.mc-text-input--s{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s::placeholder{font-size:.875rem;line-height:1.2857142857}@media screen and (min-width: 680px){.mc-text-input--s\\@from-m{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-m::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1024px){.mc-text-input--s\\@from-l{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-l::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1280px){.mc-text-input--s\\@from-xl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xl::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1920px){.mc-text-input--s\\@from-xxl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xxl::placeholder{font-size:.875rem;line-height:1.2857142857}}.mc-text-input--m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m::placeholder{font-size:1rem;line-height:1.375}@media screen and (min-width: 680px){.mc-text-input--m\\@from-m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-m::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1024px){.mc-text-input--m\\@from-l{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-l::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1280px){.mc-text-input--m\\@from-xl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xl::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1920px){.mc-text-input--m\\@from-xxl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xxl::placeholder{font-size:1rem;line-height:1.375}}.mc-listbox{list-style:none;margin-left:0;padding-left:0;background-color:#fff;border:1px solid #666666;border-radius:3px;position:absolute;overflow-y:auto;margin-top:.25rem;margin-bottom:0;max-height:13.8125rem;min-width:auto;opacity:0;visibility:hidden;max-width:var(--listbox-width, auto);width:100%}.mc-listbox.is-open{opacity:1;visibility:visible;z-index:10}.mc-listbox::-webkit-scrollbar{background-color:#e6e6e6;width:.25rem}.mc-listbox::-webkit-scrollbar-thumb{background:#666666}.mc-listbox__item,.mc-listbox__tile{align-items:center;display:flex;gap:.5rem;min-height:3rem;padding-left:.75rem;padding-right:.75rem;position:relative;justify-content:space-between}.mc-listbox__item:not(:last-child),.mc-listbox__tile:not(:last-child){border-bottom:1px solid #b3b3b3}.mc-listbox__item:hover,.mc-listbox__tile:hover{background-color:#e6e6e6;box-shadow:inset 9px 0 0 -7px #191919}.mc-listbox__flag,.mc-listbox__icon{width:2rem;height:2rem}.mc-listbox__flag{font-size:1.4375rem;line-height:1.3913043478;text-align:center}.mc-listbox__empty{font-size:.875rem;line-height:1.2857142857;color:#c61112;display:inline-block;margin-top:.25rem}.mc-listbox__label{cursor:pointer;margin-right:auto}.mc-listbox__label:after{content:\"\";position:absolute;inset:0;z-index:2}.mc-listbox__input{order:1}.mc-listbox .is-checked,.mc-listbox .is-selected{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.5rem}.mc-listbox .is-focus{background-color:#e6e6e6;box-shadow:inset 9px 0 0 -7px #191919}.mc-listbox .is-disabled{cursor:not-allowed;box-shadow:none;background-color:#ccc;color:#666;pointer-events:none}.mc-listbox:not(.mc-listbox--multi) .mc-listbox__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-listbox:not(.mc-listbox--multi) .mc-listbox__input:checked+.mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center;content:\"\";height:1.5rem;position:absolute;right:.75rem;top:0;transform:translateY(50%);width:1.5rem}.mc-listbox--left{right:0}.mc-loader{color:#188803;align-items:center;display:inline-flex;flex-direction:column}.mc-loader .mc-loader__spinner{height:2rem;width:2rem}.mc-loader .mc-loader__path{stroke-width:4}.mc-loader .mc-loader__path{stroke:currentColor}.mc-loader__spinner:not(:only-child){margin-bottom:1rem}.mc-loader__icon{animation:rotate-loader 2s linear infinite;transform-origin:center}.mc-loader__path{fill:none;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:animate-dash-loader 2s ease-in-out infinite}.mc-loader__text{font-size:1rem;line-height:1.375;color:currentColor}.mc-loader--s .mc-loader__spinner{height:1.5rem;width:1.5rem}.mc-loader--s .mc-loader__path{stroke-width:4}.mc-loader--l .mc-loader__spinner{height:4rem;width:4rem}.mc-loader--l .mc-loader__path{stroke-width:8}.mc-loader--dark{color:#191919}.mc-loader--dark .mc-loader__path{stroke:currentColor}.mc-loader--light{color:#fff}.mc-loader--light .mc-loader__path{stroke:currentColor}@keyframes rotate-loader{0%{transform:rotate(0)}to{transform:rotate(270deg)}}@keyframes animate-dash-loader{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.mc-autocomplete{align-self:start;position:relative;min-width:18rem;max-width:var(--autocomplete-width, auto);width:100%}.mc-autocomplete__main{position:relative}.mc-autocomplete__tag,.mc-autocomplete__tools{position:absolute;top:50%;transform:translateY(-50%);z-index:2}.mc-autocomplete__tag{left:2.75rem}.mc-autocomplete__trigger{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-autocomplete__tools{align-items:center;background-color:#fff;display:flex;gap:.5rem;justify-content:flex-end;right:.75rem}.is-valid+.mc-autocomplete__tools,.is-invalid+.mc-autocomplete__tools{right:2.5rem}.mc-autocomplete__clear{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;box-shadow:0 0 0 0 transparent;transition:box-shadow .15s ease;background:none;border-radius:50%}.mc-autocomplete__clear:focus{box-shadow:0 0 0 2px #0b96cc}.mc-autocomplete__clear,.mc-autocomplete__clear-icon{height:1.5rem;width:1.5rem}.mc-autocomplete__clear-icon{fill:#666}.mc-autocomplete__clear-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-autocomplete__error{font-size:.875rem;line-height:1.2857142857;color:#c61112;display:inline-block;margin-top:.25rem}.mc-autocomplete--multi .mc-autocomplete__trigger{padding-left:calc(2.9375rem + var(--autocomplete-tag-width, 0px))}.mc-autocomplete__taglist{margin-top:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.TagComponent, selector: "moz-tag, a[moz-tag]", inputs: ["type", "size", "select"], outputs: ["selectChange", "clickOnRemove"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.TaglistComponent, selector: "moz-taglist", inputs: ["tagItems", "tagSize", "showAllTitle", "showAll", "layerTagsTitle", "layerTagsIcon", "max"], outputs: ["removeTag"] }, { kind: "component", type: i5.ListboxComponent, selector: "moz-listbox", inputs: ["listboxItems", "multiple", "isOpen", "selectedItems", "customMaxWidth"], outputs: ["itemsSelected"] }, { kind: "component", type: i6.IconComponent, selector: "moz-icon", inputs: ["iconName"] }, { kind: "component", type: i7.LoaderComponent, selector: "moz-loader", inputs: ["size", "theme", "isOverlay", "text", "hideOverlay"] }, { kind: "component", type: i8.TextInputComponent, selector: "input[moz-input]", inputs: ["size", "invalid", "valid"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
203
208
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AutocompleteComponent, decorators: [{
204
209
  type: Component,
205
210
  args: [{ selector: 'moz-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
@@ -208,7 +213,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
208
213
  useExisting: forwardRef(() => AutocompleteComponent),
209
214
  multi: true,
210
215
  },
211
- ], template: "<div\n id=\"js-autocomplete\"\n class=\"mc-autocomplete mc-autocomplete--clearable\"\n [ngClass]=\"{ 'mc-autocomplete--multi': multiple }\"\n [ngStyle]=\"{\n '--autocomplete-tag-width':\n !showSelectedTags && multiple && getSelectedListboxItems().length > 0 ? '3.5rem' : '',\n '--autocomplete-width': '100%'\n }\"\n>\n <div class=\"mc-autocomplete__main\">\n <moz-tag\n *ngIf=\"!showSelectedTags && multiple && getSelectedListboxItems().length > 0\"\n type=\"removable\"\n class=\"mc-autocomplete__tag mc-tag-removable mc-tag-removable--s\"\n [size]=\"'s'\"\n (clickOnRemove)=\"clearFieldEvent()\"\n >\n {{ getSelectedListboxItems().length }}</moz-tag\n >\n\n <div class=\"mc-left-icon-input\" [ngClass]=\"{ 'is-valid': valid, 'is-invalid': invalid }\" F>\n <moz-icon\n class=\"mc-left-icon-input__icon\"\n [iconName]=\"'Navigation_Display_Search_24px'\"\n ></moz-icon>\n <input\n moz-input\n [type]=\"'text'\"\n [invalid]=\"invalid\"\n class=\"mc-left-icon-input__input mc-text-input mc-autocomplete__trigger\"\n [valid]=\"valid\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [size]=\"size\"\n [(ngModel)]=\"search\"\n (ngModelChange)=\"searchEvent()\"\n (click)=\"openListbox()\"\n />\n </div>\n\n <div class=\"mc-autocomplete__tools\">\n <div class=\"mc-autocomplete__loader mc-loader mc-loader--s\" *ngIf=\"loading\">\n <span class=\"mc-loader__spinner\">\n <moz-loader class=\"mc-loader__icon\" [size]=\"size\"></moz-loader>\n </span>\n </div>\n <button\n class=\"mc-autocomplete__clear\"\n type=\"button\"\n *ngIf=\"canClearField()\"\n (click)=\"clearFieldEvent()\"\n >\n <moz-icon\n class=\"mc-autocomplete__clear-icon\"\n [iconName]=\"'Navigation_Control_Tag--Cross_24px'\"\n ></moz-icon\n ><span class=\"mc-autocomplete__clear-text\">Clear</span>\n </button>\n </div>\n </div>\n <moz-listbox\n *ngIf=\"openState\"\n #listbox\n [listboxItems]=\"listboxItems\"\n [isOpen]=\"openState\"\n [multiple]=\"multiple\"\n [selectedItems]=\"selectedItems\"\n (itemsSelected)=\"itemsSelectedListboxEvent($event)\"\n ></moz-listbox>\n</div>\n<div class=\"mc-autocomplete__taglist\">\n <moz-taglist\n #taglist\n *ngIf=\"showSelectedTags && multiple\"\n (removeTag)=\"removeTagEvent($event)\"\n [tagItems]=\"getTagItemsFromSelectedItems()\"\n [max]=\"maxShowingSelectedTags\"\n [layerTagsTitle]=\"layerTagsTitle\"\n [layerTagsIcon]=\"layerTagsIcon\"\n ></moz-taglist>\n</div>\n", styles: [".mc-left-icon-input{position:relative}.mc-left-icon-input__icon{position:absolute;z-index:1;top:50%;transform:translateY(-50%);fill:#666;pointer-events:none}.mc-left-icon-input .mc-left-icon-input__icon{left:.75rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input .mc-left-icon-input__input{padding-left:2.9375rem}.mc-left-icon-input--s .mc-left-icon-input__icon{left:.5rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input--s .mc-left-icon-input__input{padding-left:2.4375rem}.mc-text-input{font-family:LeroyMerlin,sans-serif;font-weight:400;box-sizing:border-box;outline:none;-webkit-appearance:none;appearance:none;padding:0;margin:0;box-shadow:none;border:none;font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem;transition:box-shadow .2s ease;display:block;width:100%;position:relative;border:1px solid #666666;color:#191919;background-color:#fff;border-radius:4px}.mc-text-input[type=number]::-webkit-inner-spin-button,.mc-text-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.mc-text-input[type=number]{-moz-appearance:textfield}.mc-text-input[type=search]::-webkit-search-decoration:hover,.mc-text-input[type=search]::-webkit-search-cancel-button:hover{cursor:pointer}.mc-text-input::placeholder{font-size:1rem;line-height:1.375}.mc-text-input::placeholder{margin:0;color:#666;opacity:1}.mc-text-input.is-valid,.mc-text-input.is-invalid{background-repeat:no-repeat;background-size:1.5rem 1.5rem;background-position:right .4375rem center;padding-right:2.5rem}.mc-text-input.is-valid{border-color:#46a610;background-image:url(data:image/svg+xml,)}.mc-text-input.is-valid:hover,.mc-text-input.is-valid.is-hover{border-color:#035010}.mc-text-input.is-invalid{border-color:#c61112;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.5rem' width='1.5rem' viewBox='0 0 24 24' fill='%23c61112'%3E%3Cpath d='M12 2a10 10 0 1010 10A10 10 0 0012 2zm0 18a8 8 0 118-8 8 8 0 01-8 8z'/%3E%3Cpath d='M12 7a1 1 0 00-1 1v4.38a1 1 0 002 0V8a1 1 0 00-1-1z'/%3E%3Ccircle cx='12' cy='16' r='1'/%3E%3C/svg%3E\")}.mc-text-input.is-invalid:hover,.mc-text-input.is-invalid.is-hover{border-color:#530000}.mc-text-input:hover{border-color:#191919}.mc-text-input:focus{box-shadow:0 0 0 .125rem #fff,0 0 0 .25rem #0b96cc}.mc-text-input:disabled{background:#e6e6e6;border-color:#e6e6e6;color:#666;cursor:not-allowed}.mc-text-input--s{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s::placeholder{font-size:.875rem;line-height:1.2857142857}@media screen and (min-width: 680px){.mc-text-input--s\\@from-m{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-m::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1024px){.mc-text-input--s\\@from-l{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-l::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1280px){.mc-text-input--s\\@from-xl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xl::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1920px){.mc-text-input--s\\@from-xxl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xxl::placeholder{font-size:.875rem;line-height:1.2857142857}}.mc-text-input--m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m::placeholder{font-size:1rem;line-height:1.375}@media screen and (min-width: 680px){.mc-text-input--m\\@from-m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-m::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1024px){.mc-text-input--m\\@from-l{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-l::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1280px){.mc-text-input--m\\@from-xl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xl::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1920px){.mc-text-input--m\\@from-xxl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xxl::placeholder{font-size:1rem;line-height:1.375}}.mc-listbox{list-style:none;margin-left:0;padding-left:0;background-color:#fff;border:1px solid #666666;border-radius:3px;position:absolute;overflow-y:auto;margin-top:.25rem;margin-bottom:0;max-height:13.8125rem;min-width:auto;opacity:0;visibility:hidden;max-width:var(--listbox-width, auto);width:100%}.mc-listbox.is-open{opacity:1;visibility:visible;z-index:10}.mc-listbox::-webkit-scrollbar{background-color:#e6e6e6;width:.25rem}.mc-listbox::-webkit-scrollbar-thumb{background:#666666}.mc-listbox__item,.mc-listbox__tile{align-items:center;display:flex;gap:.5rem;min-height:3rem;padding-left:.75rem;padding-right:.75rem;position:relative;justify-content:space-between}.mc-listbox__item:not(:last-child),.mc-listbox__tile:not(:last-child){border-bottom:1px solid #b3b3b3}.mc-listbox__item:hover,.mc-listbox__tile:hover{background-color:#e6e6e6;box-shadow:inset 9px 0 0 -7px #191919}.mc-listbox__flag,.mc-listbox__icon{width:2rem;height:2rem}.mc-listbox__flag{font-size:1.4375rem;line-height:1.3913043478;text-align:center}.mc-listbox__empty{font-size:.875rem;line-height:1.2857142857;color:#c61112;display:inline-block;margin-top:.25rem}.mc-listbox__label{cursor:pointer;margin-right:auto}.mc-listbox__label:after{content:\"\";position:absolute;inset:0;z-index:2}.mc-listbox__input{order:1}.mc-listbox .is-checked,.mc-listbox .is-selected{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.5rem}.mc-listbox .is-focus{background-color:#e6e6e6;box-shadow:inset 9px 0 0 -7px #191919}.mc-listbox .is-disabled{cursor:not-allowed;box-shadow:none;background-color:#ccc;color:#666;pointer-events:none}.mc-listbox:not(.mc-listbox--multi) .mc-listbox__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-listbox:not(.mc-listbox--multi) .mc-listbox__input:checked+.mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center;content:\"\";height:1.5rem;position:absolute;right:.75rem;top:0;transform:translateY(50%);width:1.5rem}.mc-listbox--left{right:0}.mc-autocomplete{align-self:start;position:relative;min-width:18rem;max-width:var(--autocomplete-width, auto);width:100%}.mc-autocomplete__main{position:relative}.mc-autocomplete__tag,.mc-autocomplete__tools{position:absolute;top:50%;transform:translateY(-50%);z-index:2}.mc-autocomplete__tag{left:2.75rem}.mc-autocomplete__trigger{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-autocomplete__tools{align-items:center;background-color:#fff;display:flex;gap:.5rem;justify-content:flex-end;right:.75rem}.is-valid+.mc-autocomplete__tools,.is-invalid+.mc-autocomplete__tools{right:2.5rem}.mc-autocomplete__clear{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;box-shadow:0 0 0 0 transparent;transition:box-shadow .15s ease;background:none;border-radius:50%}.mc-autocomplete__clear:focus{box-shadow:0 0 0 2px #0b96cc}.mc-autocomplete__clear,.mc-autocomplete__clear-icon{height:1.5rem;width:1.5rem}.mc-autocomplete__clear-icon{fill:#666}.mc-autocomplete__clear-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-autocomplete__error{font-size:.875rem;line-height:1.2857142857;color:#c61112;display:inline-block;margin-top:.25rem}.mc-autocomplete--multi .mc-autocomplete__trigger{padding-left:calc(2.9375rem + var(--autocomplete-tag-width, 0px))}.mc-autocomplete__taglist{margin-top:1rem}\n"] }]
216
+ ], template: "<div\n id=\"js-autocomplete\"\n class=\"mc-autocomplete mc-autocomplete--clearable\"\n [ngClass]=\"{ 'mc-autocomplete--multi': multiple }\"\n [ngStyle]=\"{\n '--autocomplete-tag-width':\n !showSelectedTags && multiple && getSelectedListboxItems().length > 0 ? '3.5rem' : '',\n '--autocomplete-width': '100%'\n }\"\n>\n <div class=\"mc-autocomplete__main\">\n <moz-tag\n *ngIf=\"!showSelectedTags && multiple && getSelectedListboxItems().length > 0\"\n type=\"removable\"\n class=\"mc-autocomplete__tag mc-tag-removable mc-tag-removable--s\"\n [size]=\"'s'\"\n (clickOnRemove)=\"clearFieldEvent()\"\n >\n {{ getSelectedListboxItems().length }}</moz-tag\n >\n\n <div class=\"mc-left-icon-input\" [ngClass]=\"{ 'is-valid': valid, 'is-invalid': invalid }\" F>\n <moz-icon\n class=\"mc-left-icon-input__icon\"\n [iconName]=\"'Navigation_Display_Search_24px'\"\n ></moz-icon>\n <input\n moz-input\n [type]=\"'text'\"\n [invalid]=\"invalid\"\n class=\"mc-left-icon-input__input mc-text-input mc-autocomplete__trigger\"\n [valid]=\"valid\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [size]=\"size\"\n [(ngModel)]=\"search\"\n (ngModelChange)=\"searchEvent()\"\n (click)=\"openListbox()\"\n />\n </div>\n\n <div class=\"mc-autocomplete__tools\">\n <div class=\"mc-autocomplete__loader mc-loader mc-loader--s\" *ngIf=\"loading\">\n <span class=\"mc-loader__spinner\">\n <moz-loader class=\"mc-loader__icon\" size=\"s\"></moz-loader>\n </span>\n </div>\n <button\n class=\"mc-autocomplete__clear\"\n type=\"button\"\n *ngIf=\"canClearField()\"\n (click)=\"clearFieldEvent()\"\n >\n <moz-icon\n class=\"mc-autocomplete__clear-icon\"\n [iconName]=\"'Navigation_Control_Tag--Cross_24px'\"\n ></moz-icon\n ><span class=\"mc-autocomplete__clear-text\">Clear</span>\n </button>\n </div>\n </div>\n <moz-listbox\n *ngIf=\"openState\"\n #listbox\n [listboxItems]=\"listboxItems\"\n [isOpen]=\"openState\"\n [multiple]=\"multiple\"\n [selectedItems]=\"selectedItems\"\n (itemsSelected)=\"itemsSelectedListboxEvent($event)\"\n ></moz-listbox>\n</div>\n<div class=\"mc-autocomplete__error\" *ngIf=\"invalid\">{{ errorContentText }}</div>\n<div class=\"mc-autocomplete__taglist\">\n <moz-taglist\n #taglist\n *ngIf=\"showSelectedTags && multiple\"\n (removeTag)=\"removeTagEvent($event)\"\n [tagItems]=\"getTagItemsFromSelectedItems()\"\n [max]=\"maxShowingSelectedTags\"\n [layerTagsTitle]=\"layerTagsTitle\"\n [layerTagsIcon]=\"layerTagsIcon\"\n ></moz-taglist>\n</div>\n", styles: [".mc-left-icon-input{position:relative}.mc-left-icon-input__icon{position:absolute;z-index:1;top:50%;transform:translateY(-50%);fill:#666;pointer-events:none}.mc-left-icon-input .mc-left-icon-input__icon{left:.75rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input .mc-left-icon-input__input{padding-left:2.9375rem}.mc-left-icon-input--s .mc-left-icon-input__icon{left:.5rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input--s .mc-left-icon-input__input{padding-left:2.4375rem}.mc-text-input{font-family:LeroyMerlin,sans-serif;font-weight:400;box-sizing:border-box;outline:none;-webkit-appearance:none;appearance:none;padding:0;margin:0;box-shadow:none;border:none;font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem;transition:box-shadow .2s ease;display:block;width:100%;position:relative;border:1px solid #666666;color:#191919;background-color:#fff;border-radius:4px}.mc-text-input[type=number]::-webkit-inner-spin-button,.mc-text-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.mc-text-input[type=number]{-moz-appearance:textfield}.mc-text-input[type=search]::-webkit-search-decoration:hover,.mc-text-input[type=search]::-webkit-search-cancel-button:hover{cursor:pointer}.mc-text-input::placeholder{font-size:1rem;line-height:1.375}.mc-text-input::placeholder{margin:0;color:#666;opacity:1}.mc-text-input.is-valid,.mc-text-input.is-invalid{background-repeat:no-repeat;background-size:1.5rem 1.5rem;background-position:right .4375rem center;padding-right:2.5rem}.mc-text-input.is-valid{border-color:#46a610;background-image:url(data:image/svg+xml,)}.mc-text-input.is-valid:hover,.mc-text-input.is-valid.is-hover{border-color:#035010}.mc-text-input.is-invalid{border-color:#c61112;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.5rem' width='1.5rem' viewBox='0 0 24 24' fill='%23c61112'%3E%3Cpath d='M12 2a10 10 0 1010 10A10 10 0 0012 2zm0 18a8 8 0 118-8 8 8 0 01-8 8z'/%3E%3Cpath d='M12 7a1 1 0 00-1 1v4.38a1 1 0 002 0V8a1 1 0 00-1-1z'/%3E%3Ccircle cx='12' cy='16' r='1'/%3E%3C/svg%3E\")}.mc-text-input.is-invalid:hover,.mc-text-input.is-invalid.is-hover{border-color:#530000}.mc-text-input:hover{border-color:#191919}.mc-text-input:focus{box-shadow:0 0 0 .125rem #fff,0 0 0 .25rem #0b96cc}.mc-text-input:disabled{background:#e6e6e6;border-color:#e6e6e6;color:#666;cursor:not-allowed}.mc-text-input--s{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s::placeholder{font-size:.875rem;line-height:1.2857142857}@media screen and (min-width: 680px){.mc-text-input--s\\@from-m{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-m::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1024px){.mc-text-input--s\\@from-l{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-l::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1280px){.mc-text-input--s\\@from-xl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xl::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1920px){.mc-text-input--s\\@from-xxl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xxl::placeholder{font-size:.875rem;line-height:1.2857142857}}.mc-text-input--m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m::placeholder{font-size:1rem;line-height:1.375}@media screen and (min-width: 680px){.mc-text-input--m\\@from-m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-m::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1024px){.mc-text-input--m\\@from-l{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-l::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1280px){.mc-text-input--m\\@from-xl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xl::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1920px){.mc-text-input--m\\@from-xxl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xxl::placeholder{font-size:1rem;line-height:1.375}}.mc-listbox{list-style:none;margin-left:0;padding-left:0;background-color:#fff;border:1px solid #666666;border-radius:3px;position:absolute;overflow-y:auto;margin-top:.25rem;margin-bottom:0;max-height:13.8125rem;min-width:auto;opacity:0;visibility:hidden;max-width:var(--listbox-width, auto);width:100%}.mc-listbox.is-open{opacity:1;visibility:visible;z-index:10}.mc-listbox::-webkit-scrollbar{background-color:#e6e6e6;width:.25rem}.mc-listbox::-webkit-scrollbar-thumb{background:#666666}.mc-listbox__item,.mc-listbox__tile{align-items:center;display:flex;gap:.5rem;min-height:3rem;padding-left:.75rem;padding-right:.75rem;position:relative;justify-content:space-between}.mc-listbox__item:not(:last-child),.mc-listbox__tile:not(:last-child){border-bottom:1px solid #b3b3b3}.mc-listbox__item:hover,.mc-listbox__tile:hover{background-color:#e6e6e6;box-shadow:inset 9px 0 0 -7px #191919}.mc-listbox__flag,.mc-listbox__icon{width:2rem;height:2rem}.mc-listbox__flag{font-size:1.4375rem;line-height:1.3913043478;text-align:center}.mc-listbox__empty{font-size:.875rem;line-height:1.2857142857;color:#c61112;display:inline-block;margin-top:.25rem}.mc-listbox__label{cursor:pointer;margin-right:auto}.mc-listbox__label:after{content:\"\";position:absolute;inset:0;z-index:2}.mc-listbox__input{order:1}.mc-listbox .is-checked,.mc-listbox .is-selected{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.5rem}.mc-listbox .is-focus{background-color:#e6e6e6;box-shadow:inset 9px 0 0 -7px #191919}.mc-listbox .is-disabled{cursor:not-allowed;box-shadow:none;background-color:#ccc;color:#666;pointer-events:none}.mc-listbox:not(.mc-listbox--multi) .mc-listbox__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-listbox:not(.mc-listbox--multi) .mc-listbox__input:checked+.mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center;content:\"\";height:1.5rem;position:absolute;right:.75rem;top:0;transform:translateY(50%);width:1.5rem}.mc-listbox--left{right:0}.mc-loader{color:#188803;align-items:center;display:inline-flex;flex-direction:column}.mc-loader .mc-loader__spinner{height:2rem;width:2rem}.mc-loader .mc-loader__path{stroke-width:4}.mc-loader .mc-loader__path{stroke:currentColor}.mc-loader__spinner:not(:only-child){margin-bottom:1rem}.mc-loader__icon{animation:rotate-loader 2s linear infinite;transform-origin:center}.mc-loader__path{fill:none;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:animate-dash-loader 2s ease-in-out infinite}.mc-loader__text{font-size:1rem;line-height:1.375;color:currentColor}.mc-loader--s .mc-loader__spinner{height:1.5rem;width:1.5rem}.mc-loader--s .mc-loader__path{stroke-width:4}.mc-loader--l .mc-loader__spinner{height:4rem;width:4rem}.mc-loader--l .mc-loader__path{stroke-width:8}.mc-loader--dark{color:#191919}.mc-loader--dark .mc-loader__path{stroke:currentColor}.mc-loader--light{color:#fff}.mc-loader--light .mc-loader__path{stroke:currentColor}@keyframes rotate-loader{0%{transform:rotate(0)}to{transform:rotate(270deg)}}@keyframes animate-dash-loader{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.mc-autocomplete{align-self:start;position:relative;min-width:18rem;max-width:var(--autocomplete-width, auto);width:100%}.mc-autocomplete__main{position:relative}.mc-autocomplete__tag,.mc-autocomplete__tools{position:absolute;top:50%;transform:translateY(-50%);z-index:2}.mc-autocomplete__tag{left:2.75rem}.mc-autocomplete__trigger{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-autocomplete__tools{align-items:center;background-color:#fff;display:flex;gap:.5rem;justify-content:flex-end;right:.75rem}.is-valid+.mc-autocomplete__tools,.is-invalid+.mc-autocomplete__tools{right:2.5rem}.mc-autocomplete__clear{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;box-shadow:0 0 0 0 transparent;transition:box-shadow .15s ease;background:none;border-radius:50%}.mc-autocomplete__clear:focus{box-shadow:0 0 0 2px #0b96cc}.mc-autocomplete__clear,.mc-autocomplete__clear-icon{height:1.5rem;width:1.5rem}.mc-autocomplete__clear-icon{fill:#666}.mc-autocomplete__clear-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-autocomplete__error{font-size:.875rem;line-height:1.2857142857;color:#c61112;display:inline-block;margin-top:.25rem}.mc-autocomplete--multi .mc-autocomplete__trigger{padding-left:calc(2.9375rem + var(--autocomplete-tag-width, 0px))}.mc-autocomplete__taglist{margin-top:1rem}\n"] }]
212
217
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { listboxItems: [{
213
218
  type: Input
214
219
  }], multiple: [{
@@ -235,7 +240,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
235
240
  type: Input
236
241
  }], layerTagsIcon: [{
237
242
  type: Input
238
- }], noResultsFoundLabel: [{
243
+ }], errorContentText: [{
244
+ type: Input
245
+ }], withSearchFilter: [{
246
+ type: Input
247
+ }], openState: [{
239
248
  type: Input
240
249
  }], searchUpdated: [{
241
250
  type: Output
@@ -249,4 +258,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
249
258
  type: HostListener,
250
259
  args: ['document:click', ['$event']]
251
260
  }] } });
252
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7OztBQWlCckQsTUFBTSxPQUFPLHFCQUFxQjtJQStCaEMsWUFBb0IsSUFBZ0IsRUFBVSxFQUFxQjtRQUEvQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUE1Qm5ELGlCQUFZLEdBQWtCLEVBQUUsQ0FBQztRQUNqQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGdCQUFXLEdBQVcsYUFBYSxDQUFDO1FBQ3BDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLFVBQUssR0FBWSxLQUFLLENBQUM7UUFDdkIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixTQUFJLEdBQWtCLEdBQUcsQ0FBQztRQUMxQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsMkJBQXNCLEdBQVcsQ0FBQyxDQUFD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RUFBRSxVQUFVLEVBQUU7Z0JBNkQxQyxRQUFRO3NCQURQLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTGlzdGJveEl0ZW0gfSBmcm9tICcuLi9saXN0Ym94L21vZGVsL2xpc3Rib3gtaXRlbSc7XG5pbXBvcnQgeyBUYWdsaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vdGFnbGlzdC90YWdsaXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdWJqZWN0LCBmcm9tRXZlbnQsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGFnSXRlbSB9IGZyb20gJy4uL3RhZy90YWctdHlwZSc7XG5pbXBvcnQgeyBUZXh0SW5wdXRTaXplIH0gZnJvbSAnLi4vdGV4dC1pbnB1dC90ZXh0LWlucHV0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW96LWF1dG9jb21wbGV0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdXRvY29tcGxldGUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXV0b2NvbXBsZXRlQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3Nvclxue1xuICBASW5wdXQoKSBwdWJsaWMgbGlzdGJveEl0ZW1zOiBMaXN0Ym94SXRlbVtdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBtdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICdQbGFjZWhvbGRlcic7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgY2xlYXJmaWVsZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgdmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGludmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHNpemU6IFRleHRJbnB1dFNpemUgPSAncyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93U2VsZWN0ZWRUYWdzOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBtYXhTaG93aW5nU2VsZWN0ZWRUYWdzOiBudW1iZXIgPSA1O1xuICBASW5wdXQoKSBwdWJsaWMgbGF5ZXJUYWdzVGl0bGU6IHN0cmluZyA9ICdBdXRvY29tcGxldGUgdGFncyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBsYXllclRhZ3NJY29uOiBzdHJpbmcgPSAnTmF2aWdhdGlvbl9EaXNwbGF5X1NldHRpbmdfMjRweCc7XG4gIEBJbnB1dCgpIHB1YmxpYyBub1Jlc3VsdHNGb3VuZExhYmVsOiBzdHJpbmcgPSAnTm8gcmVzdWx0cyBmb3VuZCc7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBzZWFyY2hVcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBWaWV3Q2hpbGQoJ3RhZ2xpc3QnLCB7IHN0YXRpYzogZmFsc2UgfSkgdGFnbGlzdENvbXBvbmVudCE6IFRhZ2xpc3RDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ2xpc3Rib3gnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgbGlzdGJveEVsZW1lbnRSZWYhOiBFbGVtZW50UmVmO1xuXG4gIHB1YmxpYyBvcGVuU3RhdGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHNlbGVjdGVkSXRlbXM6IExpc3Rib3hJdGVtW10gfCBMaXN0Ym94SXRlbSB8IHVuZGVmaW5lZDtcbiAgcHVibGljIG9yaWdpbmFsTGlzdGJveFBhcmVudD86IEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgcHVibGljIGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0KCk7XG4gIHB1YmxpYyBzZWFyY2g6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgaW5pdGlhbExpc3Rib3hJdGVtczogTGlzdGJveEl0ZW1bXSA9IFtdO1xuICBwdWJsaWMgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBwdWJsaWMgb25Ub3VjaDogYW55ID0gKCkgPT4ge307XG4gIHB1YmxpYyBub1Jlc3VsdHM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlUmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxMaXN0Ym94SXRlbXMgPSB0aGlzLmxpc3Rib3hJdGVtcy5tYXAoKHgpID0+ICh7IC4uLnggfSkpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogTGlzdGJveEl0ZW1bXSB8IExpc3Rib3hJdGVtIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlICYmIHZhbHVlKSB7XG4gICAgICB0aGlzLnNlYXJjaCA9ICh2YWx1ZSBhcyBMaXN0Ym94SXRlbSkubGFiZWwgfHwgJyc7XG4gICAgfVxuICAgIHRoaXMubm9SZXN1bHRzID0gZmFsc2U7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpc3Rib3hFbGVtZW50UmVmKSB7XG4gICAgICBjb25zdCBtb3pMaXN0Ym94ID0gdGhpcy5saXN0Ym94RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgaWYgKG1vekxpc3Rib3ggJiYgbW96TGlzdGJveC5wYXJlbnROb2RlKSB7XG4gICAgICAgIG1vekxpc3Rib3gucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChtb3pMaXN0Ym94KTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5kZXN0cm95ZWQubmV4dChudWxsKTtcbiAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlTGlzdGJveCgpO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICAgIGZyb21FdmVudCh3aW5kb3csICdzY3JvbGwnKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlTGlzdGJveCgpO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxuICBjbGlja291dChldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBsaXN0Ym94SHRtbEVsZW1lbnRDb250YWluc0NsaWNrVGFyZ2V0ID1cbiAgICAgIHRoaXMubGlzdGJveEVsZW1lbnRSZWYgJiYgdGhpcy5saXN0Ym94RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCk7XG4gICAgY29uc3QgYXV0b2NvbXBsZXRlSW5wdXRDb250YWluc0NsaWNrVGFyZ2V0ID0gdGhpcy5lUmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KTtcbiAgICBpZiAoXG4gICAgICAoIWxpc3Rib3hIdG1sRWxlbWVudENvbnRhaW5zQ2xpY2tUYXJnZXQgJiYgIWF1dG9jb21wbGV0ZUlucHV0Q29udGFpbnNDbGlja1RhcmdldCkgfHxcbiAgICAgIHRoaXMuZGlzYWJsZWRcbiAgICApIHtcbiAgICAgIHRoaXMuY2xvc2VMaXN0Ym94KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9wZW5MaXN0Ym94KCk6IHZvaWQge1xuICAgIHRoaXMub3BlblN0YXRlID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IG1vekxpc3Rib3ggPSB0aGlzLmxpc3Rib3hFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSB0aGlzLmVSZWYubmF0aXZlRWxlbWVudC5maXJzdENoaWxkO1xuICAgICAgY29uc3QgaW5wdXRSZWN0ID0gaW5wdXRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgbW96TGlzdGJveC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICBtb3pMaXN0Ym94LnN0eWxlLnRvcCA9IGlucHV0UmVjdC5ib3R0b20gKyB3aW5kb3cuc2Nyb2xsWSArICdweCc7XG4gICAgICBtb3pMaXN0Ym94LnN0eWxlLmxlZnQgPSBpbnB1dFJlY3QubGVmdCArIHdpbmRvdy5zY3JvbGxYICsgJ3B4JztcbiAgICAgIG1vekxpc3Rib3guc3R5bGUud2lkdGggPSBpbnB1dFJlY3Qud2lkdGggKyAncHgnO1xuICAgICAgdGhpcy5vcmlnaW5hbExpc3Rib3hQYXJlbnQgPSBtb3pMaXN0Ym94LnBhcmVudEVsZW1lbnQ7XG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG1vekxpc3Rib3gpO1xuICAgIH0sIDEwKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZUxpc3Rib3goKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuU3RhdGUgPSBmYWxzZTtcbiAgICBpZiAodGhpcy5vcmlnaW5hbExpc3Rib3hQYXJlbnQgJiYgdGhpcy5saXN0Ym94RWxlbWVudFJlZikge1xuICAgICAgdGhpcy5vcmlnaW5hbExpc3Rib3hQYXJlbnQuYXBwZW5kQ2hpbGQodGhpcy5saXN0Ym94RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICAgIHRoaXMub3JpZ2luYWxMaXN0Ym94UGFyZW50ID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5saXN0Ym94SXRlbXMgPSB0aGlzLmluaXRpYWxMaXN0Ym94SXRlbXM7XG4gIH1cblxuICBwdWJsaWMgaXRlbXNTZWxlY3RlZExpc3Rib3hFdmVudChsaXN0Ym94SXRlbVNlbGVjdGVkOiBMaXN0Ym94SXRlbVtdIHwgTGlzdGJveEl0ZW0pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHRoaXMuc2VhcmNoID0gKGxpc3Rib3hJdGVtU2VsZWN0ZWQgYXMgTGlzdGJveEl0ZW0pLmxhYmVsO1xuICAgICAgdGhpcy5jbG9zZUxpc3Rib3goKTtcbiAgICB9XG4gICAgdGhpcy5pbnZhbGlkID0gZmFsc2U7XG4gICAgdGhpcy53cml0ZVZhbHVlKGxpc3Rib3hJdGVtU2VsZWN0ZWQpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyRmllbGRFdmVudCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMub3BlblN0YXRlID0gZmFsc2U7XG4gICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgdGhpcy5zZWFyY2ggPSAnJztcbiAgICAgIH1cbiAgICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRNdWx0aVNlbGVjdGVkTGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgcmV0dXJuICh0aGlzLnNlbGVjdGVkSXRlbXMgYXMgTGlzdGJveEl0ZW1bXSlcbiAgICAgICAgLm1hcCgoc2VsZWN0ZWRJdGVtKSA9PiBzZWxlY3RlZEl0ZW0ubGFiZWwpXG4gICAgICAgIC5qb2luKCcsICcpO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VsZWN0ZWRMaXN0Ym94SXRlbXMoKTogTGlzdGJveEl0ZW1bXSB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zIGFzIExpc3Rib3hJdGVtW107XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTZWxlY3RlZExpc3Rib3hJdGVtKCk6IExpc3Rib3hJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMubXVsdGlwbGUgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zIGFzIExpc3Rib3hJdGVtO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGNhbkNsZWFyRmllbGQoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHJldHVybiAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmNsZWFyZmllbGQgJiYgdGhpcy5nZXRTZWxlY3RlZExpc3Rib3hJdGVtcygpLmxlbmd0aCA+IDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmNsZWFyZmllbGQgJiYgdGhpcy5nZXRTZWxlY3RlZExpc3Rib3hJdGVtKCkgIT0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0VGFnSXRlbXNGcm9tU2VsZWN0ZWRJdGVtcygpOiBUYWdJdGVtW10ge1xuICAgIGlmICghdGhpcy5zZWxlY3RlZEl0ZW1zKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIHJldHVybiAodGhpcy5zZWxlY3RlZEl0ZW1zIGFzIExpc3Rib3hJdGVtW10pLm1hcChcbiAgICAgIChzZWxlY3RlZEl0ZW0pID0+ICh7IGlkOiBzZWxlY3RlZEl0ZW0udmFsdWUsIGxhYmVsOiBzZWxlY3RlZEl0ZW0ubGFiZWwgfSBhcyBUYWdJdGVtKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlVGFnRXZlbnQoJGV2ZW50OiBUYWdJdGVtKTogdm9pZCB7XG4gICAgdGhpcy53cml0ZVZhbHVlKFxuICAgICAgKHRoaXMuc2VsZWN0ZWRJdGVtcyBhcyBMaXN0Ym94SXRlbVtdKS5maWx0ZXIoXG4gICAgICAgIChzZWxlY3RlZEl0ZW0pID0+IHNlbGVjdGVkSXRlbS52YWx1ZSAhPT0gJGV2ZW50LmlkXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLnRhZ2xpc3RDb21wb25lbnQudXBkYXRlVGFnbGlzdExheWVyQ29uZmlnKHRoaXMuZ2V0VGFnSXRlbXNGcm9tU2VsZWN0ZWRJdGVtcygpKTtcbiAgICBpZiAodGhpcy5nZXRUYWdJdGVtc0Zyb21TZWxlY3RlZEl0ZW1zKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLnRhZ2xpc3RDb21wb25lbnQuY2xvc2VUYWdsaXN0TGF5ZXIoKTtcbiAgICB9XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoRXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5ub1Jlc3VsdHMgPSBmYWxzZTtcbiAgICB0aGlzLmludmFsaWQgPSBmYWxzZTtcbiAgICBpZiAodGhpcy5zZWFyY2gubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5saXN0Ym94SXRlbXMgPSBbXG4gICAgICAgIC4uLnRoaXMuaW5pdGlhbExpc3Rib3hJdGVtcy5maWx0ZXIoKGxpc3Rib3hJdGVtKSA9PlxuICAgICAgICAgIGxpc3Rib3hJdGVtLmxhYmVsLmluY2x1ZGVzKHRoaXMuc2VhcmNoKVxuICAgICAgICApLFxuICAgICAgXTtcbiAgICAgIGlmICh0aGlzLmxpc3Rib3hJdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5vcGVuU3RhdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5ub1Jlc3VsdHMgPSB0cnVlO1xuICAgICAgICB0aGlzLmludmFsaWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5vcGVuU3RhdGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxpc3Rib3hJdGVtcyA9IHRoaXMuaW5pdGlhbExpc3Rib3hJdGVtcztcbiAgICAgIHRoaXMub3BlblN0YXRlID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5zZWFyY2hVcGRhdGVkLmVtaXQodGhpcy5zZWFyY2gpO1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGlkPVwianMtYXV0b2NvbXBsZXRlXCJcbiAgY2xhc3M9XCJtYy1hdXRvY29tcGxldGUgbWMtYXV0b2NvbXBsZXRlLS1jbGVhcmFibGVcIlxuICBbbmdDbGFzc109XCJ7ICdtYy1hdXRvY29tcGxldGUtLW11bHRpJzogbXVsdGlwbGUgfVwiXG4gIFtuZ1N0eWxlXT1cIntcbiAgICAnLS1hdXRvY29tcGxldGUtdGFnLXdpZHRoJzpcbiAgICAgICFzaG93U2VsZWN0ZWRUYWdzICYmIG11bHRpcGxlICYmIGdldFNlbGVjdGVkTGlzdGJveEl0ZW1zKCkubGVuZ3RoID4gMCA/ICczLjVyZW0nIDogJycsXG4gICAgJy0tYXV0b2NvbXBsZXRlLXdpZHRoJzogJzEwMCUnXG4gIH1cIlxuPlxuICA8ZGl2IGNsYXNzPVwibWMtYXV0b2NvbXBsZXRlX19tYWluXCI+XG4gICAgPG1vei10YWdcbiAgICAgICpuZ0lmPVwiIXNob3dTZWxlY3RlZFRhZ3MgJiYgbXVsdGlwbGUgJiYgZ2V0U2VsZWN0ZWRMaXN0Ym94SXRlbXMoKS5sZW5ndGggPiAwXCJcbiAgICAgIHR5cGU9XCJyZW1vdmFibGVcIlxuICAgICAgY2xhc3M9XCJtYy1hdXRvY29tcGxldGVfX3RhZyBtYy10YWctcmVtb3ZhYmxlIG1jLXRhZy1yZW1vdmFibGUtLXNcIlxuICAgICAgW3NpemVdPVwiJ3MnXCJcbiAgICAgIChjbGlja09uUmVtb3ZlKT1cImNsZWFyRmllbGRFdmVudCgpXCJcbiAgICA+XG4gICAgICB7eyBnZXRTZWxlY3RlZExpc3Rib3hJdGVtcygpLmxlbmd0aCB9fTwvbW96LXRhZ1xuICAgID5cblxuICAgIDxkaXYgY2xhc3M9XCJtYy1sZWZ0LWljb24taW5wdXRcIiBbbmdDbGFzc109XCJ7ICdpcy12YWxpZCc6IHZhbGlkLCAnaXMtaW52YWxpZCc6IGludmFsaWQgfVwiIEY+XG4gICAgICA8bW96LWljb25cbiAgICAgICAgY2xhc3M9XCJtYy1sZWZ0LWljb24taW5wdXRfX2ljb25cIlxuICAgICAgICBbaWNvbk5hbWVdPVwiJ05hdmlnYXRpb25fRGlzcGxheV9TZWFyY2hfMjRweCdcIlxuICAgICAgPjwvbW96LWljb24+XG4gICAgICA8aW5wdXRcbiAgICAgICAgbW96LWlucHV0XG4gICAgICAgIFt0eXBlXT1cIid0ZXh0J1wiXG4gICAgICAgIFtpbnZhbGlkXT1cImludmFsaWRcIlxuICAgICAgICBjbGFzcz1cIm1jLWxlZnQtaWNvbi1pbnB1dF9faW5wdXQgbWMtdGV4dC1pbnB1dCBtYy1hdXRvY29tcGxldGVfX3RyaWdnZXJcIlxuICAgICAgICBbdmFsaWRdPVwidmFsaWRcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbc2l6ZV09XCJzaXplXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWFyY2hFdmVudCgpXCJcbiAgICAgICAgKGNsaWNrKT1cIm9wZW5MaXN0Ym94KClcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtYy1hdXRvY29tcGxldGVfX3Rvb2xzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWMtYXV0b2NvbXBsZXRlX19sb2FkZXIgbWMtbG9hZGVyIG1jLWxvYWRlci0tc1wiICpuZ0lmPVwibG9hZGluZ1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1jLWxvYWRlcl9fc3Bpbm5lclwiPlxuICAgICAgICAgIDxtb3otbG9hZGVyIGNsYXNzPVwibWMtbG9hZGVyX19pY29uXCIgW3NpemVdPVwic2l6ZVwiPjwvbW96LWxvYWRlcj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwibWMtYXV0b2NvbXBsZXRlX19jbGVhclwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAqbmdJZj1cImNhbkNsZWFyRmllbGQoKVwiXG4gICAgICAgIChjbGljayk9XCJjbGVhckZpZWxkRXZlbnQoKVwiXG4gICAgICA+XG4gICAgICAgIDxtb3otaWNvblxuICAgICAgICAgIGNsYXNzPVwibWMtYXV0b2NvbXBsZXRlX19jbGVhci1pY29uXCJcbiAgICAgICAgICBbaWNvbk5hbWVdPVwiJ05hdmlnYXRpb25fQ29udHJvbF9UYWctLUNyb3NzXzI0cHgnXCJcbiAgICAgICAgPjwvbW96LWljb25cbiAgICAgICAgPjxzcGFuIGNsYXNzPVwibWMtYXV0b2NvbXBsZXRlX19jbGVhci10ZXh0XCI+Q2xlYXI8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxtb3otbGlzdGJveFxuICAgICpuZ0lmPVwib3BlblN0YXRlXCJcbiAgICAjbGlzdGJveFxuICAgIFtsaXN0Ym94SXRlbXNdPVwibGlzdGJveEl0ZW1zXCJcbiAgICBbaXNPcGVuXT1cIm9wZW5TdGF0ZVwiXG4gICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICBbc2VsZWN0ZWRJdGVtc109XCJzZWxlY3RlZEl0ZW1zXCJcbiAgICAoaXRlbXNTZWxlY3RlZCk9XCJpdGVtc1NlbGVjdGVkTGlzdGJveEV2ZW50KCRldmVudClcIlxuICA+PC9tb3otbGlzdGJveD5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cIm1jLWF1dG9jb21wbGV0ZV9fdGFnbGlzdFwiPlxuICA8bW96LXRhZ2xpc3RcbiAgICAjdGFnbGlzdFxuICAgICpuZ0lmPVwic2hvd1NlbGVjdGVkVGFncyAmJiBtdWx0aXBsZVwiXG4gICAgKHJlbW92ZVRhZyk9XCJyZW1vdmVUYWdFdmVudCgkZXZlbnQpXCJcbiAgICBbdGFnSXRlbXNdPVwiZ2V0VGFnSXRlbXNGcm9tU2VsZWN0ZWRJdGVtcygpXCJcbiAgICBbbWF4XT1cIm1heFNob3dpbmdTZWxlY3RlZFRhZ3NcIlxuICAgIFtsYXllclRhZ3NUaXRsZV09XCJsYXllclRhZ3NUaXRsZVwiXG4gICAgW2xheWVyVGFnc0ljb25dPVwibGF5ZXJUYWdzSWNvblwiXG4gID48L21vei10YWdsaXN0PlxuPC9kaXY+XG4iXX0=
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7OztBQWlCckQsTUFBTSxPQUFPLHFCQUFxQjtJQWdDaEMsWUFBb0IsSUFBZ0IsRUFBVSxFQUFxQjtRQUEvQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUE3Qm5ELGlCQUFZLEdBQWtCLEVBQUUsQ0FBQztRQUNqQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGdCQUFXLEdBQVcsYUFBYSxDQUFDO1FBQ3BDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLFVBQUssR0FBWSxLQUFLLENBQUM7UUFDdkIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixTQUFJLEdBQWtCLEdBQUcsQ0FBQztRQUMxQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsMkJBQXNCLEdBQVcsQ0FBQyxDQUFD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QUFLO2dCQUNVLGdCQUFnQjtzQkFBL0IsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUVXLGFBQWE7c0JBQTdCLE1BQU07Z0JBQ2tDLGdCQUFnQjtzQkFBeEQsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUNLLGlCQUFpQjtzQkFBNUQsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQTREMUMsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IExpc3Rib3hJdGVtIH0gZnJvbSAnLi4vbGlzdGJveC9tb2RlbC9saXN0Ym94LWl0ZW0nO1xuaW1wb3J0IHsgVGFnbGlzdENvbXBvbmVudCB9IGZyb20gJy4uL3RhZ2xpc3QvdGFnbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRhZ0l0ZW0gfSBmcm9tICcuLi90YWcvdGFnLXR5cGUnO1xuaW1wb3J0IHsgVGV4dElucHV0U2l6ZSB9IGZyb20gJy4uL3RleHQtaW5wdXQvdGV4dC1pbnB1dCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vei1hdXRvY29tcGxldGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEF1dG9jb21wbGV0ZUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVDb21wb25lbnRcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3JcbntcbiAgQElucHV0KCkgcHVibGljIGxpc3Rib3hJdGVtczogTGlzdGJveEl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnUGxhY2Vob2xkZXInO1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGNsZWFyZmllbGQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHZhbGlkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaXplOiBUZXh0SW5wdXRTaXplID0gJ3MnO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd1NlbGVjdGVkVGFnczogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgbWF4U2hvd2luZ1NlbGVjdGVkVGFnczogbnVtYmVyID0gNTtcbiAgQElucHV0KCkgcHVibGljIGxheWVyVGFnc1RpdGxlOiBzdHJpbmcgPSAnQXV0b2NvbXBsZXRlIHRhZ3MnO1xuICBASW5wdXQoKSBwdWJsaWMgbGF5ZXJUYWdzSWNvbjogc3RyaW5nID0gJ05hdmlnYXRpb25fRGlzcGxheV9TZXR0aW5nXzI0cHgnO1xuICBASW5wdXQoKSBwdWJsaWMgZXJyb3JDb250ZW50VGV4dDogc3RyaW5nID0gJ05vIHJlc3VsdHMgZm91bmQnO1xuICBASW5wdXQoKSBwdWJsaWMgd2l0aFNlYXJjaEZpbHRlcjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcGVuU3RhdGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgcHVibGljIHNlYXJjaFVwZGF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQFZpZXdDaGlsZCgndGFnbGlzdCcsIHsgc3RhdGljOiBmYWxzZSB9KSB0YWdsaXN0Q29tcG9uZW50ITogVGFnbGlzdENvbXBvbmVudDtcbiAgQFZpZXdDaGlsZCgnbGlzdGJveCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBsaXN0Ym94RWxlbWVudFJlZiE6IEVsZW1lbnRSZWY7XG5cbiAgcHVibGljIHNlbGVjdGVkSXRlbXM6IExpc3Rib3hJdGVtW10gfCBMaXN0Ym94SXRlbSB8IHVuZGVmaW5lZDtcbiAgcHVibGljIG9yaWdpbmFsTGlzdGJveFBhcmVudD86IEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgcHVibGljIGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0KCk7XG4gIHB1YmxpYyBzZWFyY2g6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgaW5pdGlhbExpc3Rib3hJdGVtczogTGlzdGJveEl0ZW1bXSA9IFtdO1xuICBwdWJsaWMgb25BdXRvY29tcGxldGVDaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBwdWJsaWMgb25Ub3VjaDogYW55ID0gKCkgPT4ge307XG4gIHB1YmxpYyBub1Jlc3VsdHM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlUmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxMaXN0Ym94SXRlbXMgPSB0aGlzLmxpc3Rib3hJdGVtcy5tYXAoKHgpID0+ICh7IC4uLnggfSkpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogTGlzdGJveEl0ZW1bXSB8IExpc3Rib3hJdGVtIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlICYmIHZhbHVlKSB7XG4gICAgICB0aGlzLnNlYXJjaCA9ICh2YWx1ZSBhcyBMaXN0Ym94SXRlbSkubGFiZWwgfHwgJyc7XG4gICAgfVxuICAgIHRoaXMubm9SZXN1bHRzID0gZmFsc2U7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdmFsdWU7XG4gICAgdGhpcy5vbkF1dG9jb21wbGV0ZUNoYW5nZSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgdGhpcy5vbkF1dG9jb21wbGV0ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpc3Rib3hFbGVtZW50UmVmKSB7XG4gICAgICBjb25zdCBtb3pMaXN0Ym94ID0gdGhpcy5saXN0Ym94RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgaWYgKG1vekxpc3Rib3ggJiYgbW96TGlzdGJveC5wYXJlbnROb2RlKSB7XG4gICAgICAgIG1vekxpc3Rib3gucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChtb3pMaXN0Ym94KTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5kZXN0cm95ZWQubmV4dChudWxsKTtcbiAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlTGlzdGJveCgpO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICAgIGZyb21FdmVudCh3aW5kb3csICdzY3JvbGwnKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlTGlzdGJveCgpO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxuICBjbGlja291dChldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBsaXN0Ym94SHRtbEVsZW1lbnRDb250YWluc0NsaWNrVGFyZ2V0ID1cbiAgICAgIHRoaXMubGlzdGJveEVsZW1lbnRSZWYgJiYgdGhpcy5saXN0Ym94RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCk7XG4gICAgY29uc3QgYXV0b2NvbXBsZXRlSW5wdXRDb250YWluc0NsaWNrVGFyZ2V0ID0gdGhpcy5lUmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KTtcbiAgICBpZiAoXG4gICAgICAoIWxpc3Rib3hIdG1sRWxlbWVudENvbnRhaW5zQ2xpY2tUYXJnZXQgJiYgIWF1dG9jb21wbGV0ZUlucHV0Q29udGFpbnNDbGlja1RhcmdldCkgfHxcbiAgICAgIHRoaXMuZGlzYWJsZWRcbiAgICApIHtcbiAgICAgIHRoaXMuY2xvc2VMaXN0Ym94KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9wZW5MaXN0Ym94KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpc3Rib3hJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLm9wZW5TdGF0ZSA9IHRydWU7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY29uc3QgbW96TGlzdGJveCA9IHRoaXMubGlzdGJveEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgaW5wdXRFbGVtZW50ID0gdGhpcy5lUmVmLm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZDtcbiAgICAgICAgY29uc3QgaW5wdXRSZWN0ID0gaW5wdXRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBtb3pMaXN0Ym94LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgICAgbW96TGlzdGJveC5zdHlsZS50b3AgPSBpbnB1dFJlY3QuYm90dG9tICsgd2luZG93LnNjcm9sbFkgKyAncHgnO1xuICAgICAgICBtb3pMaXN0Ym94LnN0eWxlLmxlZnQgPSBpbnB1dFJlY3QubGVmdCArIHdpbmRvdy5zY3JvbGxYICsgJ3B4JztcbiAgICAgICAgbW96TGlzdGJveC5zdHlsZS53aWR0aCA9IGlucHV0UmVjdC53aWR0aCArICdweCc7XG4gICAgICAgIHRoaXMub3JpZ2luYWxMaXN0Ym94UGFyZW50ID0gbW96TGlzdGJveC5wYXJlbnRFbGVtZW50O1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG1vekxpc3Rib3gpO1xuICAgICAgfSwgMTApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbG9zZUxpc3Rib3goKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuU3RhdGUgPSBmYWxzZTtcbiAgICBpZiAodGhpcy5vcmlnaW5hbExpc3Rib3hQYXJlbnQgJiYgdGhpcy5saXN0Ym94RWxlbWVudFJlZikge1xuICAgICAgdGhpcy5vcmlnaW5hbExpc3Rib3hQYXJlbnQuYXBwZW5kQ2hpbGQodGhpcy5saXN0Ym94RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICAgIHRoaXMub3JpZ2luYWxMaXN0Ym94UGFyZW50ID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5saXN0Ym94SXRlbXMgPSB0aGlzLmluaXRpYWxMaXN0Ym94SXRlbXM7XG4gIH1cblxuICBwdWJsaWMgaXRlbXNTZWxlY3RlZExpc3Rib3hFdmVudChsaXN0Ym94SXRlbVNlbGVjdGVkOiBMaXN0Ym94SXRlbVtdIHwgTGlzdGJveEl0ZW0pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHRoaXMuc2VhcmNoID0gKGxpc3Rib3hJdGVtU2VsZWN0ZWQgYXMgTGlzdGJveEl0ZW0pLmxhYmVsO1xuICAgICAgdGhpcy5jbG9zZUxpc3Rib3goKTtcbiAgICB9XG4gICAgdGhpcy5pbnZhbGlkID0gZmFsc2U7XG4gICAgdGhpcy53cml0ZVZhbHVlKGxpc3Rib3hJdGVtU2VsZWN0ZWQpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyRmllbGRFdmVudCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMub3BlblN0YXRlID0gZmFsc2U7XG4gICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgdGhpcy5zZWFyY2ggPSAnJztcbiAgICAgIH1cbiAgICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRNdWx0aVNlbGVjdGVkTGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgcmV0dXJuICh0aGlzLnNlbGVjdGVkSXRlbXMgYXMgTGlzdGJveEl0ZW1bXSlcbiAgICAgICAgLm1hcCgoc2VsZWN0ZWRJdGVtKSA9PiBzZWxlY3RlZEl0ZW0ubGFiZWwpXG4gICAgICAgIC5qb2luKCcsICcpO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VsZWN0ZWRMaXN0Ym94SXRlbXMoKTogTGlzdGJveEl0ZW1bXSB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zIGFzIExpc3Rib3hJdGVtW107XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTZWxlY3RlZExpc3Rib3hJdGVtKCk6IExpc3Rib3hJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMubXVsdGlwbGUgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zIGFzIExpc3Rib3hJdGVtO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGNhbkNsZWFyRmllbGQoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHJldHVybiAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmNsZWFyZmllbGQgJiYgdGhpcy5nZXRTZWxlY3RlZExpc3Rib3hJdGVtcygpLmxlbmd0aCA+IDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmNsZWFyZmllbGQgJiYgdGhpcy5nZXRTZWxlY3RlZExpc3Rib3hJdGVtKCkgIT0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0VGFnSXRlbXNGcm9tU2VsZWN0ZWRJdGVtcygpOiBUYWdJdGVtW10ge1xuICAgIGlmICghdGhpcy5zZWxlY3RlZEl0ZW1zKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIHJldHVybiAodGhpcy5zZWxlY3RlZEl0ZW1zIGFzIExpc3Rib3hJdGVtW10pLm1hcChcbiAgICAgIChzZWxlY3RlZEl0ZW0pID0+ICh7IGlkOiBzZWxlY3RlZEl0ZW0udmFsdWUsIGxhYmVsOiBzZWxlY3RlZEl0ZW0ubGFiZWwgfSBhcyBUYWdJdGVtKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlVGFnRXZlbnQoJGV2ZW50OiBUYWdJdGVtKTogdm9pZCB7XG4gICAgdGhpcy53cml0ZVZhbHVlKFxuICAgICAgKHRoaXMuc2VsZWN0ZWRJdGVtcyBhcyBMaXN0Ym94SXRlbVtdKS5maWx0ZXIoXG4gICAgICAgIChzZWxlY3RlZEl0ZW0pID0+IHNlbGVjdGVkSXRlbS52YWx1ZSAhPT0gJGV2ZW50LmlkXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLnRhZ2xpc3RDb21wb25lbnQudXBkYXRlVGFnbGlzdExheWVyQ29uZmlnKHRoaXMuZ2V0VGFnSXRlbXNGcm9tU2VsZWN0ZWRJdGVtcygpKTtcbiAgICBpZiAodGhpcy5nZXRUYWdJdGVtc0Zyb21TZWxlY3RlZEl0ZW1zKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLnRhZ2xpc3RDb21wb25lbnQuY2xvc2VUYWdsaXN0TGF5ZXIoKTtcbiAgICB9XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoRXZlbnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMud2l0aFNlYXJjaEZpbHRlcikge1xuICAgICAgdGhpcy5ub1Jlc3VsdHMgPSBmYWxzZTtcbiAgICAgIHRoaXMuaW52YWxpZCA9IGZhbHNlO1xuICAgICAgaWYgKHRoaXMuc2VhcmNoLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5saXN0Ym94SXRlbXMgPSBbXG4gICAgICAgICAgLi4udGhpcy5pbml0aWFsTGlzdGJveEl0ZW1zLmZpbHRlcigobGlzdGJveEl0ZW0pID0+XG4gICAgICAgICAgICBsaXN0Ym94SXRlbS5sYWJlbC5pbmNsdWRlcyh0aGlzLnNlYXJjaClcbiAgICAgICAgICApLFxuICAgICAgICBdO1xuICAgICAgICBpZiAodGhpcy5saXN0Ym94SXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgdGhpcy5vcGVuU3RhdGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLm5vUmVzdWx0cyA9IHRydWU7XG4gICAgICAgICAgdGhpcy5pbnZhbGlkID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm9wZW5TdGF0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubGlzdGJveEl0ZW1zID0gdGhpcy5pbml0aWFsTGlzdGJveEl0ZW1zO1xuICAgICAgICB0aGlzLm9wZW5TdGF0ZSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2VhcmNoVXBkYXRlZC5lbWl0KHRoaXMuc2VhcmNoKTtcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBpZD1cImpzLWF1dG9jb21wbGV0ZVwiXG4gIGNsYXNzPVwibWMtYXV0b2NvbXBsZXRlIG1jLWF1dG9jb21wbGV0ZS0tY2xlYXJhYmxlXCJcbiAgW25nQ2xhc3NdPVwieyAnbWMtYXV0b2NvbXBsZXRlLS1tdWx0aSc6IG11bHRpcGxlIH1cIlxuICBbbmdTdHlsZV09XCJ7XG4gICAgJy0tYXV0b2NvbXBsZXRlLXRhZy13aWR0aCc6XG4gICAgICAhc2hvd1NlbGVjdGVkVGFncyAmJiBtdWx0aXBsZSAmJiBnZXRTZWxlY3RlZExpc3Rib3hJdGVtcygpLmxlbmd0aCA+IDAgPyAnMy41cmVtJyA6ICcnLFxuICAgICctLWF1dG9jb21wbGV0ZS13aWR0aCc6ICcxMDAlJ1xuICB9XCJcbj5cbiAgPGRpdiBjbGFzcz1cIm1jLWF1dG9jb21wbGV0ZV9fbWFpblwiPlxuICAgIDxtb3otdGFnXG4gICAgICAqbmdJZj1cIiFzaG93U2VsZWN0ZWRUYWdzICYmIG11bHRpcGxlICYmIGdldFNlbGVjdGVkTGlzdGJveEl0ZW1zKCkubGVuZ3RoID4gMFwiXG4gICAgICB0eXBlPVwicmVtb3ZhYmxlXCJcbiAgICAgIGNsYXNzPVwibWMtYXV0b2NvbXBsZXRlX190YWcgbWMtdGFnLXJlbW92YWJsZSBtYy10YWctcmVtb3ZhYmxlLS1zXCJcbiAgICAgIFtzaXplXT1cIidzJ1wiXG4gICAgICAoY2xpY2tPblJlbW92ZSk9XCJjbGVhckZpZWxkRXZlbnQoKVwiXG4gICAgPlxuICAgICAge3sgZ2V0U2VsZWN0ZWRMaXN0Ym94SXRlbXMoKS5sZW5ndGggfX08L21vei10YWdcbiAgICA+XG5cbiAgICA8ZGl2IGNsYXNzPVwibWMtbGVmdC1pY29uLWlucHV0XCIgW25nQ2xhc3NdPVwieyAnaXMtdmFsaWQnOiB2YWxpZCwgJ2lzLWludmFsaWQnOiBpbnZhbGlkIH1cIiBGPlxuICAgICAgPG1vei1pY29uXG4gICAgICAgIGNsYXNzPVwibWMtbGVmdC1pY29uLWlucHV0X19pY29uXCJcbiAgICAgICAgW2ljb25OYW1lXT1cIidOYXZpZ2F0aW9uX0Rpc3BsYXlfU2VhcmNoXzI0cHgnXCJcbiAgICAgID48L21vei1pY29uPlxuICAgICAgPGlucHV0XG4gICAgICAgIG1vei1pbnB1dFxuICAgICAgICBbdHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbaW52YWxpZF09XCJpbnZhbGlkXCJcbiAgICAgICAgY2xhc3M9XCJtYy1sZWZ0LWljb24taW5wdXRfX2lucHV0IG1jLXRleHQtaW5wdXQgbWMtYXV0b2NvbXBsZXRlX190cmlnZ2VyXCJcbiAgICAgICAgW3ZhbGlkXT1cInZhbGlkXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VhcmNoRXZlbnQoKVwiXG4gICAgICAgIChjbGljayk9XCJvcGVuTGlzdGJveCgpXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibWMtYXV0b2NvbXBsZXRlX190b29sc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1jLWF1dG9jb21wbGV0ZV9fbG9hZGVyIG1jLWxvYWRlciBtYy1sb2FkZXItLXNcIiAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYy1sb2FkZXJfX3NwaW5uZXJcIj5cbiAgICAgICAgICA8bW96LWxvYWRlciBjbGFzcz1cIm1jLWxvYWRlcl9faWNvblwiIHNpemU9XCJzXCI+PC9tb3otbG9hZGVyPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJtYy1hdXRvY29tcGxldGVfX2NsZWFyXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICpuZ0lmPVwiY2FuQ2xlYXJGaWVsZCgpXCJcbiAgICAgICAgKGNsaWNrKT1cImNsZWFyRmllbGRFdmVudCgpXCJcbiAgICAgID5cbiAgICAgICAgPG1vei1pY29uXG4gICAgICAgICAgY2xhc3M9XCJtYy1hdXRvY29tcGxldGVfX2NsZWFyLWljb25cIlxuICAgICAgICAgIFtpY29uTmFtZV09XCInTmF2aWdhdGlvbl9Db250cm9sX1RhZy0tQ3Jvc3NfMjRweCdcIlxuICAgICAgICA+PC9tb3otaWNvblxuICAgICAgICA+PHNwYW4gY2xhc3M9XCJtYy1hdXRvY29tcGxldGVfX2NsZWFyLXRleHRcIj5DbGVhcjwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPG1vei1saXN0Ym94XG4gICAgKm5nSWY9XCJvcGVuU3RhdGVcIlxuICAgICNsaXN0Ym94XG4gICAgW2xpc3Rib3hJdGVtc109XCJsaXN0Ym94SXRlbXNcIlxuICAgIFtpc09wZW5dPVwib3BlblN0YXRlXCJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgIFtzZWxlY3RlZEl0ZW1zXT1cInNlbGVjdGVkSXRlbXNcIlxuICAgIChpdGVtc1NlbGVjdGVkKT1cIml0ZW1zU2VsZWN0ZWRMaXN0Ym94RXZlbnQoJGV2ZW50KVwiXG4gID48L21vei1saXN0Ym94PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibWMtYXV0b2NvbXBsZXRlX19lcnJvclwiICpuZ0lmPVwiaW52YWxpZFwiPnt7IGVycm9yQ29udGVudFRleHQgfX08L2Rpdj5cbjxkaXYgY2xhc3M9XCJtYy1hdXRvY29tcGxldGVfX3RhZ2xpc3RcIj5cbiAgPG1vei10YWdsaXN0XG4gICAgI3RhZ2xpc3RcbiAgICAqbmdJZj1cInNob3dTZWxlY3RlZFRhZ3MgJiYgbXVsdGlwbGVcIlxuICAgIChyZW1vdmVUYWcpPVwicmVtb3ZlVGFnRXZlbnQoJGV2ZW50KVwiXG4gICAgW3RhZ0l0ZW1zXT1cImdldFRhZ0l0ZW1zRnJvbVNlbGVjdGVkSXRlbXMoKVwiXG4gICAgW21heF09XCJtYXhTaG93aW5nU2VsZWN0ZWRUYWdzXCJcbiAgICBbbGF5ZXJUYWdzVGl0bGVdPVwibGF5ZXJUYWdzVGl0bGVcIlxuICAgIFtsYXllclRhZ3NJY29uXT1cImxheWVyVGFnc0ljb25cIlxuICA+PC9tb3otdGFnbGlzdD5cbjwvZGl2PlxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './index';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2JhZGdlL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,34 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../icon/icon.component";
5
+ export class BuiltItMenuComponent {
6
+ constructor() {
7
+ this.menuItems = [];
8
+ this.modelValue = 0;
9
+ this.clickMenuItem = new EventEmitter();
10
+ }
11
+ navigate(menuItem, index) {
12
+ if (!menuItem.disabled) {
13
+ this.modelValue = index;
14
+ this.clickMenuItem.emit({
15
+ label: menuItem.label,
16
+ route: menuItem.route,
17
+ link: menuItem.link,
18
+ });
19
+ }
20
+ }
21
+ }
22
+ BuiltItMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BuiltItMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ BuiltItMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: BuiltItMenuComponent, selector: "moz-built-it-menu", inputs: { menuItems: "menuItems", modelValue: "modelValue" }, outputs: { clickMenuItem: "clickMenuItem" }, ngImport: i0, template: "<nav class=\"mc-menu\" aria-label=\"menu\">\n <ul class=\"mc-menu__list\">\n <li\n class=\"mc-menu__item\"\n *ngFor=\"let menuItem of menuItems; index as i\"\n (click)=\"navigate(menuItem, i)\"\n >\n <ng-container *ngIf=\"menuItem.link; else noLink\">\n <a\n class=\"mc-menu__link\"\n [ngClass]=\"{ 'is-active': i === modelValue, 'is-disabled': menuItem.disabled }\"\n [href]=\"menuItem.link\"\n target=\"_blank\"\n >\n <ng-container *ngIf=\"menuItem.icon\">\n <moz-icon\n mozInputIcon\n [iconName]=\"menuItem.icon\"\n [style.fill]=\"\n menuItem.disabled || i === modelValue ? 'white' : menuItem.iconColor || 'black'\n \"\n ></moz-icon> </ng-container\n ><span class=\"mc-menu__label\">{{ menuItem.label }}</span>\n </a>\n </ng-container>\n <ng-template #noLink>\n <button\n type=\"button\"\n [ngClass]=\"{ 'is-active': i === modelValue, 'is-disabled': menuItem.disabled }\"\n class=\"mc-menu__link\"\n >\n <ng-container *ngIf=\"menuItem.icon\">\n <moz-icon\n mozInputIcon\n [iconName]=\"menuItem.icon\"\n [style.fill]=\"\n (menuItem.disabled !== null && menuItem.disabled) || i === modelValue\n ? 'white'\n : menuItem.iconColor || 'black'\n \"\n ></moz-icon>\n </ng-container>\n <span class=\"mc-menu__label\">{{ menuItem.label }}</span>\n </button>\n </ng-template>\n </li>\n </ul>\n</nav>\n", styles: [".mc-menu{max-width:16rem}.mc-menu,.mc-menu *{box-sizing:border-box}.mc-menu__list{border-radius:.25rem;list-style:none;overflow:hidden;padding:0;margin:0}.mc-menu__item{position:relative}.mc-menu__item:not(:last-child) .mc-menu__link:after{background:#b3b3b3;content:\"\";display:block;margin:0 auto;height:1px;width:100%}.mc-menu__item:not(:last-child) .mc-menu__link:after{bottom:0;position:absolute;left:0}.mc-menu__item:not(:last-child) .mc-menu__link.is-active:after{display:none}.mc-menu__link{font-weight:400;align-items:center;background-color:#fff;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1rem' width='1rem' viewBox='0 0 16 16' fill='%23191919'%3E%3Cpath d='M5.5 14a1 1 0 01-.71-.29 1 1 0 010-1.42L9.09 8l-4.3-4.29a1 1 0 011.42-1.42l5 5a1 1 0 010 1.42l-5 5a1 1 0 01-.71.29z'/%3E%3C/svg%3E\");background-position:center right 1rem;background-repeat:no-repeat;background-size:1rem;border:none;cursor:pointer;color:#191919;display:flex;gap:.5rem;height:3.5rem;font-family:inherit;padding-right:3rem;padding-left:1rem;position:relative;text-decoration:none;width:100%}.mc-menu__link.is-active,.mc-menu__link.is-disabled{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1rem' width='1rem' viewBox='0 0 16 16' fill='%23ffffff'%3E%3Cpath d='M5.5 14a1 1 0 01-.71-.29 1 1 0 010-1.42L9.09 8l-4.3-4.29a1 1 0 011.42-1.42l5 5a1 1 0 010 1.42l-5 5a1 1 0 01-.71.29z'/%3E%3C/svg%3E\");color:#fff}.mc-menu__link:hover{background-color:#eeeff1}.mc-menu__link:active{background-color:#cfd2d8}.mc-menu__link.is-active{background-color:#188803}.mc-menu__link.is-active .mc-menu__label{font-family:LeroyMerlin,sans-serif;font-weight:600}.mc-menu__link.is-disabled{background-color:#e6e6e6;cursor:not-allowed}.mc-menu__icon{flex-shrink:0}.mc-menu__label{font-size:1rem;line-height:1.375;font-family:LeroyMerlin,sans-serif;font-weight:400;display:-webkit-box;max-height:2.75rem;overflow:hidden;text-align:left;-webkit-line-clamp:2;-webkit-box-orient:vertical}\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: "component", type: i2.IconComponent, selector: "moz-icon", inputs: ["iconName"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BuiltItMenuComponent, decorators: [{
25
+ type: Component,
26
+ args: [{ selector: 'moz-built-it-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav class=\"mc-menu\" aria-label=\"menu\">\n <ul class=\"mc-menu__list\">\n <li\n class=\"mc-menu__item\"\n *ngFor=\"let menuItem of menuItems; index as i\"\n (click)=\"navigate(menuItem, i)\"\n >\n <ng-container *ngIf=\"menuItem.link; else noLink\">\n <a\n class=\"mc-menu__link\"\n [ngClass]=\"{ 'is-active': i === modelValue, 'is-disabled': menuItem.disabled }\"\n [href]=\"menuItem.link\"\n target=\"_blank\"\n >\n <ng-container *ngIf=\"menuItem.icon\">\n <moz-icon\n mozInputIcon\n [iconName]=\"menuItem.icon\"\n [style.fill]=\"\n menuItem.disabled || i === modelValue ? 'white' : menuItem.iconColor || 'black'\n \"\n ></moz-icon> </ng-container\n ><span class=\"mc-menu__label\">{{ menuItem.label }}</span>\n </a>\n </ng-container>\n <ng-template #noLink>\n <button\n type=\"button\"\n [ngClass]=\"{ 'is-active': i === modelValue, 'is-disabled': menuItem.disabled }\"\n class=\"mc-menu__link\"\n >\n <ng-container *ngIf=\"menuItem.icon\">\n <moz-icon\n mozInputIcon\n [iconName]=\"menuItem.icon\"\n [style.fill]=\"\n (menuItem.disabled !== null && menuItem.disabled) || i === modelValue\n ? 'white'\n : menuItem.iconColor || 'black'\n \"\n ></moz-icon>\n </ng-container>\n <span class=\"mc-menu__label\">{{ menuItem.label }}</span>\n </button>\n </ng-template>\n </li>\n </ul>\n</nav>\n", styles: [".mc-menu{max-width:16rem}.mc-menu,.mc-menu *{box-sizing:border-box}.mc-menu__list{border-radius:.25rem;list-style:none;overflow:hidden;padding:0;margin:0}.mc-menu__item{position:relative}.mc-menu__item:not(:last-child) .mc-menu__link:after{background:#b3b3b3;content:\"\";display:block;margin:0 auto;height:1px;width:100%}.mc-menu__item:not(:last-child) .mc-menu__link:after{bottom:0;position:absolute;left:0}.mc-menu__item:not(:last-child) .mc-menu__link.is-active:after{display:none}.mc-menu__link{font-weight:400;align-items:center;background-color:#fff;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1rem' width='1rem' viewBox='0 0 16 16' fill='%23191919'%3E%3Cpath d='M5.5 14a1 1 0 01-.71-.29 1 1 0 010-1.42L9.09 8l-4.3-4.29a1 1 0 011.42-1.42l5 5a1 1 0 010 1.42l-5 5a1 1 0 01-.71.29z'/%3E%3C/svg%3E\");background-position:center right 1rem;background-repeat:no-repeat;background-size:1rem;border:none;cursor:pointer;color:#191919;display:flex;gap:.5rem;height:3.5rem;font-family:inherit;padding-right:3rem;padding-left:1rem;position:relative;text-decoration:none;width:100%}.mc-menu__link.is-active,.mc-menu__link.is-disabled{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1rem' width='1rem' viewBox='0 0 16 16' fill='%23ffffff'%3E%3Cpath d='M5.5 14a1 1 0 01-.71-.29 1 1 0 010-1.42L9.09 8l-4.3-4.29a1 1 0 011.42-1.42l5 5a1 1 0 010 1.42l-5 5a1 1 0 01-.71.29z'/%3E%3C/svg%3E\");color:#fff}.mc-menu__link:hover{background-color:#eeeff1}.mc-menu__link:active{background-color:#cfd2d8}.mc-menu__link.is-active{background-color:#188803}.mc-menu__link.is-active .mc-menu__label{font-family:LeroyMerlin,sans-serif;font-weight:600}.mc-menu__link.is-disabled{background-color:#e6e6e6;cursor:not-allowed}.mc-menu__icon{flex-shrink:0}.mc-menu__label{font-size:1rem;line-height:1.375;font-family:LeroyMerlin,sans-serif;font-weight:400;display:-webkit-box;max-height:2.75rem;overflow:hidden;text-align:left;-webkit-line-clamp:2;-webkit-box-orient:vertical}\n"] }]
27
+ }], ctorParameters: function () { return []; }, propDecorators: { menuItems: [{
28
+ type: Input
29
+ }], modelValue: [{
30
+ type: Input
31
+ }], clickMenuItem: [{
32
+ type: Output
33
+ }] } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbHQtaXQtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9idWlsdC1pdC1tZW51L2J1aWx0LWl0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYnVpbHQtaXQtbWVudS9idWlsdC1pdC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFTaEcsTUFBTSxPQUFPLG9CQUFvQjtJQUsvQjtRQUpTLGNBQVMsR0FBa0IsRUFBRSxDQUFDO1FBQzlCLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdEIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO0lBRTNDLENBQUM7SUFFTixRQUFRLENBQUMsUUFBcUIsRUFBRSxLQUFhO1FBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUN0QixLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUs7Z0JBQ3JCLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSztnQkFDckIsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJO2FBQ3BCLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7aUhBaEJVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLG9LQ1RqQyx1cURBZ0RBOzJGRHZDYSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU07MEVBR3RDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCdWlsdEl0TWVudSB9IGZyb20gJy4vbW9kZWwvYnVpbHQtaXQtbWVudSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vei1idWlsdC1pdC1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1aWx0LWl0LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idWlsdC1pdC1tZW51LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBCdWlsdEl0TWVudUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG1lbnVJdGVtczogQnVpbHRJdE1lbnVbXSA9IFtdO1xuICBASW5wdXQoKSBtb2RlbFZhbHVlOiBudW1iZXIgPSAwO1xuICBAT3V0cHV0KCkgY2xpY2tNZW51SXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8QnVpbHRJdE1lbnU+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHByb3RlY3RlZCBuYXZpZ2F0ZShtZW51SXRlbTogQnVpbHRJdE1lbnUsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoIW1lbnVJdGVtLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLm1vZGVsVmFsdWUgPSBpbmRleDtcbiAgICAgIHRoaXMuY2xpY2tNZW51SXRlbS5lbWl0KHtcbiAgICAgICAgbGFiZWw6IG1lbnVJdGVtLmxhYmVsLFxuICAgICAgICByb3V0ZTogbWVudUl0ZW0ucm91dGUsXG4gICAgICAgIGxpbms6IG1lbnVJdGVtLmxpbmssXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuYXYgY2xhc3M9XCJtYy1tZW51XCIgYXJpYS1sYWJlbD1cIm1lbnVcIj5cbiAgPHVsIGNsYXNzPVwibWMtbWVudV9fbGlzdFwiPlxuICAgIDxsaVxuICAgICAgY2xhc3M9XCJtYy1tZW51X19pdGVtXCJcbiAgICAgICpuZ0Zvcj1cImxldCBtZW51SXRlbSBvZiBtZW51SXRlbXM7IGluZGV4IGFzIGlcIlxuICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlKG1lbnVJdGVtLCBpKVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lbnVJdGVtLmxpbms7IGVsc2Ugbm9MaW5rXCI+XG4gICAgICAgIDxhXG4gICAgICAgICAgY2xhc3M9XCJtYy1tZW51X19saW5rXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1hY3RpdmUnOiBpID09PSBtb2RlbFZhbHVlLCAnaXMtZGlzYWJsZWQnOiBtZW51SXRlbS5kaXNhYmxlZCB9XCJcbiAgICAgICAgICBbaHJlZl09XCJtZW51SXRlbS5saW5rXCJcbiAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lbnVJdGVtLmljb25cIj5cbiAgICAgICAgICAgIDxtb3otaWNvblxuICAgICAgICAgICAgICBtb3pJbnB1dEljb25cbiAgICAgICAgICAgICAgW2ljb25OYW1lXT1cIm1lbnVJdGVtLmljb25cIlxuICAgICAgICAgICAgICBbc3R5bGUuZmlsbF09XCJcbiAgICAgICAgICAgICAgICBtZW51SXRlbS5kaXNhYmxlZCB8fCBpID09PSBtb2RlbFZhbHVlID8gJ3doaXRlJyA6IG1lbnVJdGVtLmljb25Db2xvciB8fCAnYmxhY2snXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9tb3otaWNvbj4gPC9uZy1jb250YWluZXJcbiAgICAgICAgICA+PHNwYW4gY2xhc3M9XCJtYy1tZW51X19sYWJlbFwiPnt7IG1lbnVJdGVtLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjbm9MaW5rPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtYWN0aXZlJzogaSA9PT0gbW9kZWxWYWx1ZSwgJ2lzLWRpc2FibGVkJzogbWVudUl0ZW0uZGlzYWJsZWQgfVwiXG4gICAgICAgICAgY2xhc3M9XCJtYy1tZW51X19saW5rXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtZW51SXRlbS5pY29uXCI+XG4gICAgICAgICAgICA8bW96LWljb25cbiAgICAgICAgICAgICAgbW96SW5wdXRJY29uXG4gICAgICAgICAgICAgIFtpY29uTmFtZV09XCJtZW51SXRlbS5pY29uXCJcbiAgICAgICAgICAgICAgW3N0eWxlLmZpbGxdPVwiXG4gICAgICAgICAgICAgICAgKG1lbnVJdGVtLmRpc2FibGVkICE9PSBudWxsICYmIG1lbnVJdGVtLmRpc2FibGVkKSB8fCBpID09PSBtb2RlbFZhbHVlXG4gICAgICAgICAgICAgICAgICA/ICd3aGl0ZSdcbiAgICAgICAgICAgICAgICAgIDogbWVudUl0ZW0uaWNvbkNvbG9yIHx8ICdibGFjaydcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48L21vei1pY29uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWMtbWVudV9fbGFiZWxcIj57eyBtZW51SXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbGk+XG4gIDwvdWw+XG48L25hdj5cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { BuiltItMenuComponent } from './built-it-menu.component';
4
+ import { IconModule } from '../icon/icon.module';
5
+ import * as i0 from "@angular/core";
6
+ export class BuiltItMenuModule {
7
+ }
8
+ BuiltItMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BuiltItMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ BuiltItMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: BuiltItMenuModule, declarations: [BuiltItMenuComponent], imports: [CommonModule, IconModule], exports: [BuiltItMenuComponent] });
10
+ BuiltItMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BuiltItMenuModule, imports: [CommonModule, IconModule] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BuiltItMenuModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ declarations: [BuiltItMenuComponent],
15
+ imports: [CommonModule, IconModule],
16
+ exports: [BuiltItMenuComponent],
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbHQtaXQtbWVudS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9idWlsdC1pdC1tZW51L2J1aWx0LWl0LW1lbnUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFPakQsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQUpiLG9CQUFvQixhQUN6QixZQUFZLEVBQUUsVUFBVSxhQUN4QixvQkFBb0I7K0dBRW5CLGlCQUFpQixZQUhsQixZQUFZLEVBQUUsVUFBVTsyRkFHdkIsaUJBQWlCO2tCQUw3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1aWx0SXRNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9idWlsdC1pdC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnLi4vaWNvbi9pY29uLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0J1aWx0SXRNZW51Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSWNvbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtCdWlsdEl0TWVudUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEJ1aWx0SXRNZW51TW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './built-it-menu.component';
2
+ export * from './built-it-menu.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9idWlsdC1pdC1tZW51L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnVpbHQtaXQtbWVudS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9idWlsdC1pdC1tZW51Lm1vZHVsZSc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbHQtaXQtbWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2J1aWx0LWl0LW1lbnUvbW9kZWwvYnVpbHQtaXQtbWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBCdWlsdEl0TWVudSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHJvdXRlPzogc3RyaW5nO1xuICBpc0FjdGl2ZT86IGJvb2xlYW47XG4gIGljb24/OiBzdHJpbmc7XG4gIGljb25Db2xvcj86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBsaW5rPzogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './index';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2J1aWx0LWl0LW1lbnUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export * from './index';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2J1dHRvbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -9,10 +9,12 @@ export class MozDatatableFooterComponent {
9
9
  this.rowPerPageChangeEmitter = new EventEmitter();
10
10
  this.pageChangeEmitter = new EventEmitter();
11
11
  }
12
- ngOnInit() {
13
- this.selectedRowPerPage = this.footerSettings?.pagination?.rowPerPage?.selected || 0;
14
- this.currentPage = this.footerSettings?.pagination?.currentPage || 0;
15
- this.totalItems = this.footerSettings?.pagination?.totalItems || 0;
12
+ ngOnChanges(changes) {
13
+ if (changes['footerSettings'].currentValue !== changes['footerSettings'].previousValue) {
14
+ this.selectedRowPerPage = this.footerSettings?.pagination?.rowPerPage?.selected || 0;
15
+ this.currentPage = this.footerSettings?.pagination?.currentPage || 0;
16
+ this.totalItems = this.footerSettings?.pagination?.totalItems || 0;
17
+ }
16
18
  }
17
19
  calculateNumberOfPage() {
18
20
  // case NAN
@@ -40,7 +42,7 @@ export class MozDatatableFooterComponent {
40
42
  }
41
43
  }
42
44
  MozDatatableFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MozDatatableFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
43
- MozDatatableFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: MozDatatableFooterComponent, selector: "moz-datatable-footer", inputs: { footerSettings: "footerSettings", isLoading: "isLoading" }, outputs: { rowPerPageChangeEmitter: "rowPerPageChangeEmitter", pageChangeEmitter: "pageChangeEmitter" }, ngImport: i0, template: "<div class=\"mc-datatable__footer\">\n <div class=\"mc-datatable__select\">\n <label for=\"selectRows\" class=\"mc-datatable__select-label\">{{\n footerSettings?.labels?.rowPerPage || 'Rows per page'\n }}</label>\n <select\n moz-select\n [disabled]=\"isLoading || false\"\n id=\"selectRows\"\n [(ngModel)]=\"selectedRowPerPage\"\n (change)=\"rowPerPageChangeEmitter.emit(selectedRowPerPage)\"\n [disabled]=\"calculateNumberOfPage() === 0\"\n >\n <option\n *ngFor=\"let value of footerSettings?.pagination?.rowPerPage?.options\"\n [ngValue]=\"value\"\n >\n {{ value }}\n </option>\n </select>\n </div>\n <div class=\"mc-datatable__count\" *ngIf=\"!isLoading\">\n <strong>{{ calculateCountStart() }}-{{ calculateCountEnd() }}</strong> /\n <strong\n >{{ footerSettings?.pagination?.totalItems }}\n {{ footerSettings?.labels?.items || 'Items' }}</strong\n >\n </div>\n <div class=\"mc-datatable__pagination\">\n <moz-pagination\n [numberOfPages]=\"isLoading ? 0 : calculateNumberOfPage()\"\n [(ngModel)]=\"currentPage\"\n (ngModelChange)=\"pageChangeEmitter.emit(currentPage)\"\n [pageLabel]=\"footerSettings?.labels?.page || 'Page'\"\n [pageOfLabel]=\"footerSettings?.labels?.of || 'of'\"\n >\n </moz-pagination>\n </div>\n</div>\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: "component", type: i2.PaginationComponent, selector: "moz-pagination", inputs: ["numberOfPages", "light", "pageLabel", "pageOfLabel", "pageTitleMask"] }, { kind: "component", type: i3.SelectComponent, selector: "select[moz-`select`]", inputs: ["size"] }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
45
+ MozDatatableFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: MozDatatableFooterComponent, selector: "moz-datatable-footer", inputs: { footerSettings: "footerSettings", isLoading: "isLoading" }, outputs: { rowPerPageChangeEmitter: "rowPerPageChangeEmitter", pageChangeEmitter: "pageChangeEmitter" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"mc-datatable__footer\">\n <div class=\"mc-datatable__select\">\n <label for=\"selectRows\" class=\"mc-datatable__select-label\">{{\n footerSettings?.labels?.rowPerPage || 'Rows per page'\n }}</label>\n <select\n moz-select\n [disabled]=\"isLoading || false\"\n id=\"selectRows\"\n [(ngModel)]=\"selectedRowPerPage\"\n (change)=\"rowPerPageChangeEmitter.emit(selectedRowPerPage)\"\n [disabled]=\"calculateNumberOfPage() === 0\"\n >\n <option\n *ngFor=\"let value of footerSettings?.pagination?.rowPerPage?.options\"\n [ngValue]=\"value\"\n >\n {{ value }}\n </option>\n </select>\n </div>\n <div class=\"mc-datatable__count\" *ngIf=\"!isLoading\">\n <strong>{{ calculateCountStart() }}-{{ calculateCountEnd() }}</strong> /\n <strong\n >{{ footerSettings?.pagination?.totalItems }}\n {{ footerSettings?.labels?.items || 'Items' }}</strong\n >\n </div>\n <div class=\"mc-datatable__pagination\">\n <moz-pagination\n [numberOfPages]=\"isLoading ? 0 : calculateNumberOfPage()\"\n [(ngModel)]=\"currentPage\"\n (ngModelChange)=\"pageChangeEmitter.emit(currentPage)\"\n [pageLabel]=\"footerSettings?.labels?.page || 'Page'\"\n [pageOfLabel]=\"footerSettings?.labels?.of || 'of'\"\n >\n </moz-pagination>\n </div>\n</div>\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: "component", type: i2.PaginationComponent, selector: "moz-pagination", inputs: ["numberOfPages", "light", "pageLabel", "pageOfLabel", "pageTitleMask"] }, { kind: "component", type: i3.SelectComponent, selector: "select[moz-`select`]", inputs: ["size"] }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
44
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MozDatatableFooterComponent, decorators: [{
45
47
  type: Component,
46
48
  args: [{ selector: 'moz-datatable-footer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mc-datatable__footer\">\n <div class=\"mc-datatable__select\">\n <label for=\"selectRows\" class=\"mc-datatable__select-label\">{{\n footerSettings?.labels?.rowPerPage || 'Rows per page'\n }}</label>\n <select\n moz-select\n [disabled]=\"isLoading || false\"\n id=\"selectRows\"\n [(ngModel)]=\"selectedRowPerPage\"\n (change)=\"rowPerPageChangeEmitter.emit(selectedRowPerPage)\"\n [disabled]=\"calculateNumberOfPage() === 0\"\n >\n <option\n *ngFor=\"let value of footerSettings?.pagination?.rowPerPage?.options\"\n [ngValue]=\"value\"\n >\n {{ value }}\n </option>\n </select>\n </div>\n <div class=\"mc-datatable__count\" *ngIf=\"!isLoading\">\n <strong>{{ calculateCountStart() }}-{{ calculateCountEnd() }}</strong> /\n <strong\n >{{ footerSettings?.pagination?.totalItems }}\n {{ footerSettings?.labels?.items || 'Items' }}</strong\n >\n </div>\n <div class=\"mc-datatable__pagination\">\n <moz-pagination\n [numberOfPages]=\"isLoading ? 0 : calculateNumberOfPage()\"\n [(ngModel)]=\"currentPage\"\n (ngModelChange)=\"pageChangeEmitter.emit(currentPage)\"\n [pageLabel]=\"footerSettings?.labels?.page || 'Page'\"\n [pageOfLabel]=\"footerSettings?.labels?.of || 'of'\"\n >\n </moz-pagination>\n </div>\n</div>\n" }]
@@ -53,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
53
55
  }], pageChangeEmitter: [{
54
56
  type: Output
55
57
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW96LWRhdGF0YWJsZS1mb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZGF0YXRhYmxlL2NvbXBvbmVudHMvZm9vdGVyL21vei1kYXRhdGFibGUtZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2RhdGF0YWJsZS9jb21wb25lbnRzL2Zvb3Rlci9tb3otZGF0YXRhYmxlLWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUXZCLE1BQU0sT0FBTywyQkFBMkI7SUFMeEM7UUFRbUIsNEJBQXVCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNyRCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0tBc0NqRTtJQWhDQyxRQUFRO1FBQ04sSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLElBQUksQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUUsV0FBVyxJQUFJLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxFQUFFLFVBQVUsSUFBSSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVNLHFCQUFxQjtRQUMxQixXQUFXO1FBQ1gsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEtBQUssQ0FBQyxFQUFFO1lBQzFELE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxnQkFBZ0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEtBQUssQ0FBQyxFQUFFO1lBQzFELE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3pELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDM0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQ3hCO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksSUFBSSxDQUFDLGtCQUFrQixLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLENBQUMsRUFBRTtZQUNwRixPQUFPLENBQUMsQ0FBQztTQUNWO1FBQ0QsT0FBTyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5RCxDQUFDOzt3SEF6Q1UsMkJBQTJCOzRHQUEzQiwyQkFBMkIsMk9DZnhDLCsxQ0F1Q0E7MkZEeEJhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSxzQkFBc0IsbUJBRWYsdUJBQXVCLENBQUMsTUFBTTs4QkFHL0IsY0FBYztzQkFBN0IsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNXLHVCQUF1QjtzQkFBdkMsTUFBTTtnQkFDVSxpQkFBaUI7c0JBQWpDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb290ZXJTZXR0aW5ncyB9IGZyb20gJy4uLy4uL21vZGVsL2Zvb3Rlci1zZXR0aW5ncyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vei1kYXRhdGFibGUtZm9vdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vei1kYXRhdGFibGUtZm9vdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1vekRhdGF0YWJsZUZvb3RlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBmb290ZXJTZXR0aW5ncz86IEZvb3RlclNldHRpbmdzO1xuICBASW5wdXQoKSBwdWJsaWMgaXNMb2FkaW5nPzogYm9vbGVhbjtcbiAgQE91dHB1dCgpIHB1YmxpYyByb3dQZXJQYWdlQ2hhbmdlRW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAT3V0cHV0KCkgcHVibGljIHBhZ2VDaGFuZ2VFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgcHVibGljIHNlbGVjdGVkUm93UGVyUGFnZSE6IG51bWJlcjtcbiAgcHVibGljIGN1cnJlbnRQYWdlITogbnVtYmVyO1xuICBwdWJsaWMgdG90YWxJdGVtcyE6IG51bWJlcjtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkUm93UGVyUGFnZSA9IHRoaXMuZm9vdGVyU2V0dGluZ3M/LnBhZ2luYXRpb24/LnJvd1BlclBhZ2U/LnNlbGVjdGVkIHx8IDA7XG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IHRoaXMuZm9vdGVyU2V0dGluZ3M/LnBhZ2luYXRpb24/LmN1cnJlbnRQYWdlIHx8IDA7XG4gICAgdGhpcy50b3RhbEl0ZW1zID0gdGhpcy5mb290ZXJTZXR0aW5ncz8ucGFnaW5hdGlvbj8udG90YWxJdGVtcyB8fCAwO1xuICB9XG5cbiAgcHVibGljIGNhbGN1bGF0ZU51bWJlck9mUGFnZSgpOiBudW1iZXIge1xuICAgIC8vIGNhc2UgTkFOXG4gICAgaWYgKHRoaXMudG90YWxJdGVtcyA9PT0gMCAmJiB0aGlzLnNlbGVjdGVkUm93UGVyUGFnZSA9PT0gMCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIC8vIGNhc2UgSU5GSU5JVFlcbiAgICBpZiAodGhpcy50b3RhbEl0ZW1zID09PSAxICYmIHRoaXMuc2VsZWN0ZWRSb3dQZXJQYWdlID09PSAwKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLnRvdGFsSXRlbXMgLyB0aGlzLnNlbGVjdGVkUm93UGVyUGFnZSk7XG4gIH1cblxuICBwdWJsaWMgY2FsY3VsYXRlQ291bnRFbmQoKTogbnVtYmVyIHtcbiAgICBjb25zdCBjb3VudCA9IHRoaXMuc2VsZWN0ZWRSb3dQZXJQYWdlICogdGhpcy5jdXJyZW50UGFnZTtcbiAgICBpZiAoY291bnQgPiB0aGlzLnRvdGFsSXRlbXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnRvdGFsSXRlbXM7XG4gICAgfVxuICAgIHJldHVybiBjb3VudDtcbiAgfVxuXG4gIHB1YmxpYyBjYWxjdWxhdGVDb3VudFN0YXJ0KCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRSb3dQZXJQYWdlID09PSAwIHx8IHRoaXMuY3VycmVudFBhZ2UgPT09IDAgfHwgdGhpcy50b3RhbEl0ZW1zID09PSAwKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRSb3dQZXJQYWdlICogKHRoaXMuY3VycmVudFBhZ2UgLSAxKSArIDE7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtYy1kYXRhdGFibGVfX2Zvb3RlclwiPlxuICA8ZGl2IGNsYXNzPVwibWMtZGF0YXRhYmxlX19zZWxlY3RcIj5cbiAgICA8bGFiZWwgZm9yPVwic2VsZWN0Um93c1wiIGNsYXNzPVwibWMtZGF0YXRhYmxlX19zZWxlY3QtbGFiZWxcIj57e1xuICAgICAgZm9vdGVyU2V0dGluZ3M/LmxhYmVscz8ucm93UGVyUGFnZSB8fCAnUm93cyBwZXIgcGFnZSdcbiAgICB9fTwvbGFiZWw+XG4gICAgPHNlbGVjdFxuICAgICAgbW96LXNlbGVjdFxuICAgICAgW2Rpc2FibGVkXT1cImlzTG9hZGluZyB8fCBmYWxzZVwiXG4gICAgICBpZD1cInNlbGVjdFJvd3NcIlxuICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFJvd1BlclBhZ2VcIlxuICAgICAgKGNoYW5nZSk9XCJyb3dQZXJQYWdlQ2hhbmdlRW1pdHRlci5lbWl0KHNlbGVjdGVkUm93UGVyUGFnZSlcIlxuICAgICAgW2Rpc2FibGVkXT1cImNhbGN1bGF0ZU51bWJlck9mUGFnZSgpID09PSAwXCJcbiAgICA+XG4gICAgICA8b3B0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiBmb290ZXJTZXR0aW5ncz8ucGFnaW5hdGlvbj8ucm93UGVyUGFnZT8ub3B0aW9uc1wiXG4gICAgICAgIFtuZ1ZhbHVlXT1cInZhbHVlXCJcbiAgICAgID5cbiAgICAgICAge3sgdmFsdWUgfX1cbiAgICAgIDwvb3B0aW9uPlxuICAgIDwvc2VsZWN0PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1jLWRhdGF0YWJsZV9fY291bnRcIiAqbmdJZj1cIiFpc0xvYWRpbmdcIj5cbiAgICA8c3Ryb25nPnt7IGNhbGN1bGF0ZUNvdW50U3RhcnQoKSB9fS17eyBjYWxjdWxhdGVDb3VudEVuZCgpIH19PC9zdHJvbmc+IC9cbiAgICA8c3Ryb25nXG4gICAgICA+e3sgZm9vdGVyU2V0dGluZ3M/LnBhZ2luYXRpb24/LnRvdGFsSXRlbXMgfX1cbiAgICAgIHt7IGZvb3RlclNldHRpbmdzPy5sYWJlbHM/Lml0ZW1zIHx8ICdJdGVtcycgfX08L3N0cm9uZ1xuICAgID5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtYy1kYXRhdGFibGVfX3BhZ2luYXRpb25cIj5cbiAgICA8bW96LXBhZ2luYXRpb25cbiAgICAgIFtudW1iZXJPZlBhZ2VzXT1cImlzTG9hZGluZyA/IDAgOiBjYWxjdWxhdGVOdW1iZXJPZlBhZ2UoKVwiXG4gICAgICBbKG5nTW9kZWwpXT1cImN1cnJlbnRQYWdlXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInBhZ2VDaGFuZ2VFbWl0dGVyLmVtaXQoY3VycmVudFBhZ2UpXCJcbiAgICAgIFtwYWdlTGFiZWxdPVwiZm9vdGVyU2V0dGluZ3M/LmxhYmVscz8ucGFnZSB8fCAnUGFnZSdcIlxuICAgICAgW3BhZ2VPZkxhYmVsXT1cImZvb3RlclNldHRpbmdzPy5sYWJlbHM/Lm9mIHx8ICdvZidcIlxuICAgID5cbiAgICA8L21vei1wYWdpbmF0aW9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW96LWRhdGF0YWJsZS1mb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZGF0YXRhYmxlL2NvbXBvbmVudHMvZm9vdGVyL21vei1kYXRhdGFibGUtZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2RhdGF0YWJsZS9jb21wb25lbnRzL2Zvb3Rlci9tb3otZGF0YXRhYmxlLWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUXZCLE1BQU0sT0FBTywyQkFBMkI7SUFMeEM7UUFRbUIsNEJBQXVCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNyRCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0tBd0NqRTtJQWxDQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxZQUFZLEtBQUssT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsYUFBYSxFQUFFO1lBQ3RGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxJQUFJLENBQUMsQ0FBQztZQUNyRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxFQUFFLFdBQVcsSUFBSSxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxVQUFVLElBQUksQ0FBQyxDQUFDO1NBQ3BFO0lBQ0gsQ0FBQztJQUVNLHFCQUFxQjtRQUMxQixXQUFXO1FBQ1gsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEtBQUssQ0FBQyxFQUFFO1lBQzFELE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxnQkFBZ0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEtBQUssQ0FBQyxFQUFFO1lBQzFELE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3pELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDM0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQ3hCO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksSUFBSSxDQUFDLGtCQUFrQixLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLENBQUMsRUFBRTtZQUNwRixPQUFPLENBQUMsQ0FBQztTQUNWO1FBQ0QsT0FBTyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5RCxDQUFDOzt3SEEzQ1UsMkJBQTJCOzRHQUEzQiwyQkFBMkIsZ1FDakJ4QywrMUNBdUNBOzJGRHRCYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0Usc0JBQXNCLG1CQUVmLHVCQUF1QixDQUFDLE1BQU07OEJBRy9CLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVyx1QkFBdUI7c0JBQXZDLE1BQU07Z0JBQ1UsaUJBQWlCO3NCQUFqQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb290ZXJTZXR0aW5ncyB9IGZyb20gJy4uLy4uL21vZGVsL2Zvb3Rlci1zZXR0aW5ncyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vei1kYXRhdGFibGUtZm9vdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vei1kYXRhdGFibGUtZm9vdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1vekRhdGF0YWJsZUZvb3RlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHB1YmxpYyBmb290ZXJTZXR0aW5ncz86IEZvb3RlclNldHRpbmdzO1xuICBASW5wdXQoKSBwdWJsaWMgaXNMb2FkaW5nPzogYm9vbGVhbjtcbiAgQE91dHB1dCgpIHB1YmxpYyByb3dQZXJQYWdlQ2hhbmdlRW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAT3V0cHV0KCkgcHVibGljIHBhZ2VDaGFuZ2VFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgcHVibGljIHNlbGVjdGVkUm93UGVyUGFnZSE6IG51bWJlcjtcbiAgcHVibGljIGN1cnJlbnRQYWdlITogbnVtYmVyO1xuICBwdWJsaWMgdG90YWxJdGVtcyE6IG51bWJlcjtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2Zvb3RlclNldHRpbmdzJ10uY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzWydmb290ZXJTZXR0aW5ncyddLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dQZXJQYWdlID0gdGhpcy5mb290ZXJTZXR0aW5ncz8ucGFnaW5hdGlvbj8ucm93UGVyUGFnZT8uc2VsZWN0ZWQgfHwgMDtcbiAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSB0aGlzLmZvb3RlclNldHRpbmdzPy5wYWdpbmF0aW9uPy5jdXJyZW50UGFnZSB8fCAwO1xuICAgICAgdGhpcy50b3RhbEl0ZW1zID0gdGhpcy5mb290ZXJTZXR0aW5ncz8ucGFnaW5hdGlvbj8udG90YWxJdGVtcyB8fCAwO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjYWxjdWxhdGVOdW1iZXJPZlBhZ2UoKTogbnVtYmVyIHtcbiAgICAvLyBjYXNlIE5BTlxuICAgIGlmICh0aGlzLnRvdGFsSXRlbXMgPT09IDAgJiYgdGhpcy5zZWxlY3RlZFJvd1BlclBhZ2UgPT09IDApIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICAvLyBjYXNlIElORklOSVRZXG4gICAgaWYgKHRoaXMudG90YWxJdGVtcyA9PT0gMSAmJiB0aGlzLnNlbGVjdGVkUm93UGVyUGFnZSA9PT0gMCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy50b3RhbEl0ZW1zIC8gdGhpcy5zZWxlY3RlZFJvd1BlclBhZ2UpO1xuICB9XG5cbiAgcHVibGljIGNhbGN1bGF0ZUNvdW50RW5kKCk6IG51bWJlciB7XG4gICAgY29uc3QgY291bnQgPSB0aGlzLnNlbGVjdGVkUm93UGVyUGFnZSAqIHRoaXMuY3VycmVudFBhZ2U7XG4gICAgaWYgKGNvdW50ID4gdGhpcy50b3RhbEl0ZW1zKSB7XG4gICAgICByZXR1cm4gdGhpcy50b3RhbEl0ZW1zO1xuICAgIH1cbiAgICByZXR1cm4gY291bnQ7XG4gIH1cblxuICBwdWJsaWMgY2FsY3VsYXRlQ291bnRTdGFydCgpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkUm93UGVyUGFnZSA9PT0gMCB8fCB0aGlzLmN1cnJlbnRQYWdlID09PSAwIHx8IHRoaXMudG90YWxJdGVtcyA9PT0gMCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkUm93UGVyUGFnZSAqICh0aGlzLmN1cnJlbnRQYWdlIC0gMSkgKyAxO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWMtZGF0YXRhYmxlX19mb290ZXJcIj5cbiAgPGRpdiBjbGFzcz1cIm1jLWRhdGF0YWJsZV9fc2VsZWN0XCI+XG4gICAgPGxhYmVsIGZvcj1cInNlbGVjdFJvd3NcIiBjbGFzcz1cIm1jLWRhdGF0YWJsZV9fc2VsZWN0LWxhYmVsXCI+e3tcbiAgICAgIGZvb3RlclNldHRpbmdzPy5sYWJlbHM/LnJvd1BlclBhZ2UgfHwgJ1Jvd3MgcGVyIHBhZ2UnXG4gICAgfX08L2xhYmVsPlxuICAgIDxzZWxlY3RcbiAgICAgIG1vei1zZWxlY3RcbiAgICAgIFtkaXNhYmxlZF09XCJpc0xvYWRpbmcgfHwgZmFsc2VcIlxuICAgICAgaWQ9XCJzZWxlY3RSb3dzXCJcbiAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRSb3dQZXJQYWdlXCJcbiAgICAgIChjaGFuZ2UpPVwicm93UGVyUGFnZUNoYW5nZUVtaXR0ZXIuZW1pdChzZWxlY3RlZFJvd1BlclBhZ2UpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJjYWxjdWxhdGVOdW1iZXJPZlBhZ2UoKSA9PT0gMFwiXG4gICAgPlxuICAgICAgPG9wdGlvblxuICAgICAgICAqbmdGb3I9XCJsZXQgdmFsdWUgb2YgZm9vdGVyU2V0dGluZ3M/LnBhZ2luYXRpb24/LnJvd1BlclBhZ2U/Lm9wdGlvbnNcIlxuICAgICAgICBbbmdWYWx1ZV09XCJ2YWx1ZVwiXG4gICAgICA+XG4gICAgICAgIHt7IHZhbHVlIH19XG4gICAgICA8L29wdGlvbj5cbiAgICA8L3NlbGVjdD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtYy1kYXRhdGFibGVfX2NvdW50XCIgKm5nSWY9XCIhaXNMb2FkaW5nXCI+XG4gICAgPHN0cm9uZz57eyBjYWxjdWxhdGVDb3VudFN0YXJ0KCkgfX0te3sgY2FsY3VsYXRlQ291bnRFbmQoKSB9fTwvc3Ryb25nPiAvXG4gICAgPHN0cm9uZ1xuICAgICAgPnt7IGZvb3RlclNldHRpbmdzPy5wYWdpbmF0aW9uPy50b3RhbEl0ZW1zIH19XG4gICAgICB7eyBmb290ZXJTZXR0aW5ncz8ubGFiZWxzPy5pdGVtcyB8fCAnSXRlbXMnIH19PC9zdHJvbmdcbiAgICA+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibWMtZGF0YXRhYmxlX19wYWdpbmF0aW9uXCI+XG4gICAgPG1vei1wYWdpbmF0aW9uXG4gICAgICBbbnVtYmVyT2ZQYWdlc109XCJpc0xvYWRpbmcgPyAwIDogY2FsY3VsYXRlTnVtYmVyT2ZQYWdlKClcIlxuICAgICAgWyhuZ01vZGVsKV09XCJjdXJyZW50UGFnZVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJwYWdlQ2hhbmdlRW1pdHRlci5lbWl0KGN1cnJlbnRQYWdlKVwiXG4gICAgICBbcGFnZUxhYmVsXT1cImZvb3RlclNldHRpbmdzPy5sYWJlbHM/LnBhZ2UgfHwgJ1BhZ2UnXCJcbiAgICAgIFtwYWdlT2ZMYWJlbF09XCJmb290ZXJTZXR0aW5ncz8ubGFiZWxzPy5vZiB8fCAnb2YnXCJcbiAgICA+XG4gICAgPC9tb3otcGFnaW5hdGlvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==