mis-crystal-design-system 2.9.6 → 2.9.7-v14-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 (640) hide show
  1. package/action-list/action-list.component.d.ts +3 -0
  2. package/action-list/action-list.module.d.ts +9 -0
  3. package/analytics/analytics.module.d.ts +4 -0
  4. package/analytics/analytics.service.d.ts +3 -0
  5. package/async-search-dropdown/async-dropdown.component.d.ts +5 -2
  6. package/async-search-dropdown/async-dropdown.module.d.ts +9 -0
  7. package/button/button.component.d.ts +3 -0
  8. package/button/button.directive.d.ts +3 -0
  9. package/button/button.directive.scss +13 -17
  10. package/button/button.module.d.ts +7 -0
  11. package/checkbox/checkbox.component.d.ts +3 -0
  12. package/checkbox/checkbox.module.d.ts +7 -0
  13. package/chip/chip.component.d.ts +3 -0
  14. package/chip/chip.module.d.ts +6 -0
  15. package/datepicker_v2/datepicker.module.d.ts +10 -0
  16. package/datepicker_v2/public_api.d.ts +1 -0
  17. package/datepicker_v2/tz-datepicker.directive.d.ts +3 -0
  18. package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +3 -0
  19. package/daterangepicker_v2/daterangepicker.module.d.ts +10 -0
  20. package/daterangepicker_v2/public_api.d.ts +1 -0
  21. package/daterangepicker_v2/tz-daterangepicker.directive.d.ts +3 -0
  22. package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +3 -0
  23. package/drawer/drawer-body/drawer-body.component.d.ts +3 -1
  24. package/drawer/drawer.module.d.ts +8 -0
  25. package/drawer/drawer.service.d.ts +3 -0
  26. package/dropdown/dropdown.component.d.ts +3 -0
  27. package/dropdown/dropdown.module.d.ts +9 -0
  28. package/esm2020/action-list/action-list.component.mjs +174 -0
  29. package/esm2020/action-list/action-list.module.mjs +24 -0
  30. package/{esm2015/action-list/index.js → esm2020/action-list/index.mjs} +0 -0
  31. package/{esm2015/action-list/mis-crystal-design-system-action-list.js → esm2020/action-list/mis-crystal-design-system-action-list.mjs} +0 -0
  32. package/{esm2015/action-list/public_api.js → esm2020/action-list/public_api.mjs} +0 -0
  33. package/esm2020/analytics/analytics.module.mjs +18 -0
  34. package/esm2020/analytics/analytics.service.mjs +63 -0
  35. package/{esm2015/analytics/index.js → esm2020/analytics/index.mjs} +0 -0
  36. package/{esm2015/analytics/mis-crystal-design-system-analytics.js → esm2020/analytics/mis-crystal-design-system-analytics.mjs} +0 -0
  37. package/{esm2015/analytics/public_api.js → esm2020/analytics/public_api.mjs} +0 -0
  38. package/esm2020/async-search-dropdown/async-dropdown.component.mjs +242 -0
  39. package/esm2020/async-search-dropdown/async-dropdown.module.mjs +21 -0
  40. package/{esm2015/async-search-dropdown/index.js → esm2020/async-search-dropdown/index.mjs} +0 -0
  41. package/{esm2015/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.js → esm2020/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.mjs} +0 -0
  42. package/{esm2015/async-search-dropdown/public_api.js → esm2020/async-search-dropdown/public_api.mjs} +0 -0
  43. package/esm2020/button/button.component.mjs +52 -0
  44. package/esm2020/button/button.directive.mjs +59 -0
  45. package/esm2020/button/button.module.mjs +22 -0
  46. package/{esm2015/button/index.js → esm2020/button/index.mjs} +0 -0
  47. package/{esm2015/button/mis-crystal-design-system-button.js → esm2020/button/mis-crystal-design-system-button.mjs} +0 -0
  48. package/{esm2015/button/public_api.js → esm2020/button/public_api.mjs} +0 -0
  49. package/esm2020/checkbox/checkbox.component.mjs +87 -0
  50. package/esm2020/checkbox/checkbox.module.mjs +22 -0
  51. package/{esm2015/checkbox/index.js → esm2020/checkbox/index.mjs} +0 -0
  52. package/{esm2015/checkbox/mis-crystal-design-system-checkbox.js → esm2020/checkbox/mis-crystal-design-system-checkbox.mjs} +0 -0
  53. package/{esm2015/checkbox/public_api.js → esm2020/checkbox/public_api.mjs} +0 -0
  54. package/esm2020/chip/chip.component.mjs +36 -0
  55. package/esm2020/chip/chip.module.mjs +21 -0
  56. package/{esm2015/chip/index.js → esm2020/chip/index.mjs} +0 -0
  57. package/{esm2015/chip/mis-crystal-design-system-chip.js → esm2020/chip/mis-crystal-design-system-chip.mjs} +0 -0
  58. package/{esm2015/chip/public_api.js → esm2020/chip/public_api.mjs} +0 -0
  59. package/{esm2015/datepicker_v2/datepicker-constants.js → esm2020/datepicker_v2/datepicker-constants.mjs} +0 -0
  60. package/esm2020/datepicker_v2/datepicker.module.mjs +23 -0
  61. package/{esm2015/datepicker_v2/index.js → esm2020/datepicker_v2/index.mjs} +0 -0
  62. package/esm2020/datepicker_v2/mis-crystal-design-system-datepicker_v2.mjs +5 -0
  63. package/{esm2015/datepicker_v2/models/dp-config.model.js → esm2020/datepicker_v2/models/dp-config.model.mjs} +0 -0
  64. package/esm2020/datepicker_v2/public_api.mjs +4 -0
  65. package/esm2020/datepicker_v2/tz-datepicker.directive.mjs +143 -0
  66. package/esm2020/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +151 -0
  67. package/{esm2015/datepicker_v2/utils/index.js → esm2020/datepicker_v2/utils/index.mjs} +0 -0
  68. package/{esm2015/daterangepicker_v2/daterangepicker-constants.js → esm2020/daterangepicker_v2/daterangepicker-constants.mjs} +0 -0
  69. package/esm2020/daterangepicker_v2/daterangepicker.module.mjs +24 -0
  70. package/{esm2015/daterangepicker_v2/index.js → esm2020/daterangepicker_v2/index.mjs} +0 -0
  71. package/esm2020/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.mjs +5 -0
  72. package/{esm2015/daterangepicker_v2/models/drp-config.model.js → esm2020/daterangepicker_v2/models/drp-config.model.mjs} +0 -0
  73. package/esm2020/daterangepicker_v2/public_api.mjs +4 -0
  74. package/esm2020/daterangepicker_v2/tz-daterangepicker.directive.mjs +133 -0
  75. package/esm2020/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +209 -0
  76. package/{esm2015/daterangepicker_v2/utils/index.js → esm2020/daterangepicker_v2/utils/index.mjs} +0 -0
  77. package/esm2020/drawer/drawer-body/drawer-body.component.mjs +43 -0
  78. package/{esm2015/drawer/drawer-constants.js → esm2020/drawer/drawer-constants.mjs} +0 -0
  79. package/{esm2015/drawer/drawer-ref.js → esm2020/drawer/drawer-ref.mjs} +0 -0
  80. package/esm2020/drawer/drawer.module.mjs +32 -0
  81. package/{esm2015/drawer/drawer.service.js → esm2020/drawer/drawer.service.mjs} +12 -15
  82. package/{esm2015/drawer/index.js → esm2020/drawer/index.mjs} +0 -0
  83. package/esm2020/drawer/mis-crystal-design-system-drawer.mjs +5 -0
  84. package/{esm2015/drawer/public_api.js → esm2020/drawer/public_api.mjs} +0 -0
  85. package/esm2020/dropdown/dropdown.component.mjs +148 -0
  86. package/esm2020/dropdown/dropdown.module.mjs +24 -0
  87. package/{esm2015/dropdown/index.js → esm2020/dropdown/index.mjs} +0 -0
  88. package/{esm2015/dropdown/mis-crystal-design-system-dropdown.js → esm2020/dropdown/mis-crystal-design-system-dropdown.mjs} +0 -0
  89. package/{esm2015/dropdown/public_api.js → esm2020/dropdown/public_api.mjs} +0 -0
  90. package/esm2020/fab/fab.component.mjs +82 -0
  91. package/esm2020/fab/fab.module.mjs +21 -0
  92. package/{esm2015/fab/index.js → esm2020/fab/index.mjs} +0 -0
  93. package/{esm2015/fab/mis-crystal-design-system-fab.js → esm2020/fab/mis-crystal-design-system-fab.mjs} +0 -0
  94. package/{esm2015/fab/public_api.js → esm2020/fab/public_api.mjs} +0 -0
  95. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  96. package/esm2020/input/directives/input/input.directive.mjs +40 -0
  97. package/{esm2015/input/index.js → esm2020/input/index.mjs} +0 -0
  98. package/{esm2015/input/mis-crystal-design-system-input.js → esm2020/input/mis-crystal-design-system-input.mjs} +0 -0
  99. package/esm2020/input/mis-input.component.mjs +46 -0
  100. package/esm2020/input/mis-input.module.mjs +20 -0
  101. package/{esm2015/input/public_api.js → esm2020/input/public_api.mjs} +0 -0
  102. package/{esm2015/loader/index.js → esm2020/loader/index.mjs} +0 -0
  103. package/esm2020/loader/loader.component.mjs +19 -0
  104. package/esm2020/loader/loader.module.mjs +21 -0
  105. package/{esm2015/loader/mis-crystal-design-system-loader.js → esm2020/loader/mis-crystal-design-system-loader.mjs} +0 -0
  106. package/{esm2015/loader/public_api.js → esm2020/loader/public_api.mjs} +0 -0
  107. package/{esm2015/menu/index.js → esm2020/menu/index.mjs} +0 -0
  108. package/esm2020/menu/menu-close.directive.mjs +23 -0
  109. package/esm2020/menu/menu.directive.mjs +75 -0
  110. package/esm2020/menu/menu.module.mjs +22 -0
  111. package/{esm2015/menu/mis-crystal-design-system-menu.js → esm2020/menu/mis-crystal-design-system-menu.mjs} +0 -0
  112. package/{esm2015/menu/public_api.js → esm2020/menu/public_api.mjs} +0 -0
  113. package/{esm2015/mis-crystal-design-system.js → esm2020/mis-crystal-design-system.mjs} +0 -0
  114. package/{esm2015/modal/index.js → esm2020/modal/index.mjs} +0 -0
  115. package/esm2020/modal/mis-crystal-design-system-modal.mjs +5 -0
  116. package/{esm2015/modal/modal-constants.js → esm2020/modal/modal-constants.mjs} +0 -0
  117. package/{esm2015/modal/modal-ref.js → esm2020/modal/modal-ref.mjs} +0 -0
  118. package/esm2020/modal/modal.module.mjs +32 -0
  119. package/esm2020/modal/modal.service.mjs +70 -0
  120. package/esm2020/modal/module-wrapper/module-wrapper.component.mjs +40 -0
  121. package/{esm2015/modal/public_api.js → esm2020/modal/public_api.mjs} +0 -0
  122. package/{esm2015/multi-select-dropdown/index.js → esm2020/multi-select-dropdown/index.mjs} +0 -0
  123. package/{esm2015/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.js → esm2020/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.mjs} +0 -0
  124. package/esm2020/multi-select-dropdown/multi-select-dropdown.component.mjs +297 -0
  125. package/esm2020/multi-select-dropdown/multi-select-dropdown.module.mjs +25 -0
  126. package/{esm2015/multi-select-dropdown/public_api.js → esm2020/multi-select-dropdown/public_api.mjs} +0 -0
  127. package/{esm2015/nested-multi-select-dropdown/index.js → esm2020/nested-multi-select-dropdown/index.mjs} +0 -0
  128. package/{esm2015/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.js → esm2020/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.mjs} +0 -0
  129. package/esm2020/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +313 -0
  130. package/esm2020/nested-multi-select-dropdown/nested-multi-select-dropdown.module.mjs +25 -0
  131. package/{esm2015/nested-multi-select-dropdown/public_api.js → esm2020/nested-multi-select-dropdown/public_api.mjs} +0 -0
  132. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  133. package/{esm2015/radio-button/index.js → esm2020/radio-button/index.mjs} +0 -0
  134. package/{esm2015/radio-button/mis-crystal-design-system-radio-button.js → esm2020/radio-button/mis-crystal-design-system-radio-button.mjs} +0 -0
  135. package/{esm2015/radio-button/public_api.js → esm2020/radio-button/public_api.mjs} +0 -0
  136. package/esm2020/radio-button/radio-button.component.mjs +49 -0
  137. package/esm2020/radio-button/radio-button.module.mjs +22 -0
  138. package/{esm2015/ske-loader/index.js → esm2020/ske-loader/index.mjs} +0 -0
  139. package/{esm2015/ske-loader/mis-crystal-design-system-ske-loader.js → esm2020/ske-loader/mis-crystal-design-system-ske-loader.mjs} +0 -0
  140. package/{esm2015/ske-loader/public_api.js → esm2020/ske-loader/public_api.mjs} +0 -0
  141. package/esm2020/ske-loader/ske-loader.component.mjs +34 -0
  142. package/esm2020/ske-loader/ske-loader.module.mjs +18 -0
  143. package/{esm2015/styles/index.js → esm2020/styles/index.mjs} +0 -0
  144. package/{esm2015/styles/mis-crystal-design-system-styles.js → esm2020/styles/mis-crystal-design-system-styles.mjs} +0 -0
  145. package/{esm2015/styles/public_api.js → esm2020/styles/public_api.mjs} +0 -0
  146. package/{esm2015/switch/index.js → esm2020/switch/index.mjs} +0 -0
  147. package/{esm2015/switch/mis-crystal-design-system-switch.js → esm2020/switch/mis-crystal-design-system-switch.mjs} +0 -0
  148. package/{esm2015/switch/public_api.js → esm2020/switch/public_api.mjs} +0 -0
  149. package/esm2020/switch/switch.component.mjs +43 -0
  150. package/esm2020/switch/switch.module.mjs +22 -0
  151. package/esm2020/table/custom-table-cell.directive.mjs +42 -0
  152. package/esm2020/table/filter/filter.component.mjs +79 -0
  153. package/{esm2015/table/index.js → esm2020/table/index.mjs} +0 -0
  154. package/esm2020/table/mis-crystal-design-system-table.mjs +5 -0
  155. package/esm2020/table/public_api.mjs +6 -0
  156. package/esm2020/table/sub-table/sub-table.component.mjs +69 -0
  157. package/esm2020/table/table.component.mjs +208 -0
  158. package/esm2020/table/table.module.mjs +26 -0
  159. package/{esm2015/toast/index.js → esm2020/toast/index.mjs} +0 -0
  160. package/{esm2015/toast/mis-crystal-design-system-toast.js → esm2020/toast/mis-crystal-design-system-toast.mjs} +1 -2
  161. package/{esm2015/toast/public_api.js → esm2020/toast/public_api.mjs} +0 -0
  162. package/esm2020/toast/toast.component.mjs +33 -0
  163. package/esm2020/toast/toast.data.service.mjs +30 -0
  164. package/esm2020/toast/toast.module.mjs +32 -0
  165. package/esm2020/toast/toast.service.mjs +91 -0
  166. package/{esm2015/tooltip/index.js → esm2020/tooltip/index.mjs} +0 -0
  167. package/{esm2015/tooltip/mis-crystal-design-system-tooltip.js → esm2020/tooltip/mis-crystal-design-system-tooltip.mjs} +0 -0
  168. package/{esm2015/tooltip/models/tooltip.model.js → esm2020/tooltip/models/tooltip.model.mjs} +0 -0
  169. package/{esm2015/tooltip/public_api.js → esm2020/tooltip/public_api.mjs} +0 -0
  170. package/esm2020/tooltip/tooltip-container/tooltip.component.mjs +33 -0
  171. package/esm2020/tooltip/tooltip.directive.mjs +122 -0
  172. package/esm2020/tooltip/tooltip.module.mjs +23 -0
  173. package/{esm2015/utils/index.js → esm2020/utils/index.mjs} +0 -0
  174. package/{esm2015/utils/mis-crystal-design-system-utils.js → esm2020/utils/mis-crystal-design-system-utils.mjs} +0 -0
  175. package/{esm2015/widgets/classes/async-widget.js → esm2020/widgets/classes/async-widget.mjs} +0 -0
  176. package/{esm2015/widgets/classes/base-widget.js → esm2020/widgets/classes/base-widget.mjs} +2 -2
  177. package/{esm2015/widgets/classes/sync-widget.js → esm2020/widgets/classes/sync-widget.mjs} +0 -0
  178. package/esm2020/widgets/classes/widget-group.mjs +32 -0
  179. package/{esm2015/widgets/index.js → esm2020/widgets/index.mjs} +0 -0
  180. package/{esm2015/widgets/interfaces/widgets.model.js → esm2020/widgets/interfaces/widgets.model.mjs} +0 -0
  181. package/{esm2015/widgets/mis-crystal-design-system-widgets.js → esm2020/widgets/mis-crystal-design-system-widgets.mjs} +0 -0
  182. package/{esm2015/widgets/public_api.js → esm2020/widgets/public_api.mjs} +0 -0
  183. package/esm2020/widgets/services/widget.service.mjs +18 -0
  184. package/esm2020/widgets/widgets.module.mjs +17 -0
  185. package/fab/fab.component.d.ts +3 -0
  186. package/fab/fab.module.d.ts +6 -0
  187. package/fesm2015/mis-crystal-design-system-action-list.mjs +199 -0
  188. package/fesm2015/mis-crystal-design-system-action-list.mjs.map +1 -0
  189. package/fesm2015/{mis-crystal-design-system-analytics.js → mis-crystal-design-system-analytics.mjs} +22 -14
  190. package/fesm2015/mis-crystal-design-system-analytics.mjs.map +1 -0
  191. package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs +272 -0
  192. package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -0
  193. package/fesm2015/mis-crystal-design-system-button.mjs +134 -0
  194. package/fesm2015/mis-crystal-design-system-button.mjs.map +1 -0
  195. package/fesm2015/mis-crystal-design-system-checkbox.mjs +112 -0
  196. package/fesm2015/mis-crystal-design-system-checkbox.mjs.map +1 -0
  197. package/fesm2015/mis-crystal-design-system-chip.mjs +61 -0
  198. package/fesm2015/mis-crystal-design-system-chip.mjs.map +1 -0
  199. package/fesm2015/mis-crystal-design-system-datepicker_v2.mjs +360 -0
  200. package/fesm2015/mis-crystal-design-system-datepicker_v2.mjs.map +1 -0
  201. package/fesm2015/mis-crystal-design-system-daterangepicker_v2.mjs +412 -0
  202. package/fesm2015/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -0
  203. package/fesm2015/mis-crystal-design-system-drawer.mjs +157 -0
  204. package/fesm2015/mis-crystal-design-system-drawer.mjs.map +1 -0
  205. package/fesm2015/mis-crystal-design-system-dropdown.mjs +176 -0
  206. package/fesm2015/mis-crystal-design-system-dropdown.mjs.map +1 -0
  207. package/fesm2015/mis-crystal-design-system-fab.mjs +102 -0
  208. package/fesm2015/mis-crystal-design-system-fab.mjs.map +1 -0
  209. package/fesm2015/mis-crystal-design-system-input.mjs +112 -0
  210. package/fesm2015/mis-crystal-design-system-input.mjs.map +1 -0
  211. package/fesm2015/mis-crystal-design-system-loader.mjs +44 -0
  212. package/fesm2015/mis-crystal-design-system-loader.mjs.map +1 -0
  213. package/fesm2015/mis-crystal-design-system-menu.mjs +120 -0
  214. package/fesm2015/mis-crystal-design-system-menu.mjs.map +1 -0
  215. package/fesm2015/mis-crystal-design-system-modal.mjs +156 -0
  216. package/fesm2015/mis-crystal-design-system-modal.mjs.map +1 -0
  217. package/fesm2015/mis-crystal-design-system-multi-select-dropdown.mjs +312 -0
  218. package/fesm2015/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -0
  219. package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.mjs +310 -0
  220. package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -0
  221. package/fesm2015/mis-crystal-design-system-radio-button.mjs +74 -0
  222. package/fesm2015/mis-crystal-design-system-radio-button.mjs.map +1 -0
  223. package/fesm2015/mis-crystal-design-system-ske-loader.mjs +56 -0
  224. package/fesm2015/mis-crystal-design-system-ske-loader.mjs.map +1 -0
  225. package/fesm2015/mis-crystal-design-system-styles.mjs +4 -0
  226. package/fesm2015/mis-crystal-design-system-styles.mjs.map +1 -0
  227. package/fesm2015/mis-crystal-design-system-switch.mjs +68 -0
  228. package/fesm2015/mis-crystal-design-system-switch.mjs.map +1 -0
  229. package/fesm2015/mis-crystal-design-system-table.mjs +421 -0
  230. package/fesm2015/mis-crystal-design-system-table.mjs.map +1 -0
  231. package/fesm2015/mis-crystal-design-system-toast.mjs +182 -0
  232. package/fesm2015/mis-crystal-design-system-toast.mjs.map +1 -0
  233. package/fesm2015/mis-crystal-design-system-tooltip.mjs +179 -0
  234. package/fesm2015/mis-crystal-design-system-tooltip.mjs.map +1 -0
  235. package/fesm2015/{mis-crystal-design-system-utils.js → mis-crystal-design-system-utils.mjs} +1 -1
  236. package/fesm2015/mis-crystal-design-system-utils.mjs.map +1 -0
  237. package/fesm2015/{mis-crystal-design-system-widgets.js → mis-crystal-design-system-widgets.mjs} +13 -8
  238. package/fesm2015/mis-crystal-design-system-widgets.mjs.map +1 -0
  239. package/fesm2015/{mis-crystal-design-system.js → mis-crystal-design-system.mjs} +1 -1
  240. package/fesm2015/mis-crystal-design-system.mjs.map +1 -0
  241. package/fesm2020/mis-crystal-design-system-action-list.mjs +201 -0
  242. package/fesm2020/mis-crystal-design-system-action-list.mjs.map +1 -0
  243. package/fesm2020/mis-crystal-design-system-analytics.mjs +85 -0
  244. package/fesm2020/mis-crystal-design-system-analytics.mjs.map +1 -0
  245. package/fesm2020/mis-crystal-design-system-async-search-dropdown.mjs +265 -0
  246. package/fesm2020/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -0
  247. package/fesm2020/mis-crystal-design-system-button.mjs +134 -0
  248. package/fesm2020/mis-crystal-design-system-button.mjs.map +1 -0
  249. package/fesm2020/mis-crystal-design-system-checkbox.mjs +112 -0
  250. package/fesm2020/mis-crystal-design-system-checkbox.mjs.map +1 -0
  251. package/fesm2020/mis-crystal-design-system-chip.mjs +61 -0
  252. package/fesm2020/mis-crystal-design-system-chip.mjs.map +1 -0
  253. package/fesm2020/mis-crystal-design-system-datepicker_v2.mjs +361 -0
  254. package/fesm2020/mis-crystal-design-system-datepicker_v2.mjs.map +1 -0
  255. package/fesm2020/mis-crystal-design-system-daterangepicker_v2.mjs +409 -0
  256. package/fesm2020/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -0
  257. package/fesm2020/mis-crystal-design-system-drawer.mjs +156 -0
  258. package/fesm2020/mis-crystal-design-system-drawer.mjs.map +1 -0
  259. package/fesm2020/mis-crystal-design-system-dropdown.mjs +175 -0
  260. package/fesm2020/mis-crystal-design-system-dropdown.mjs.map +1 -0
  261. package/fesm2020/mis-crystal-design-system-fab.mjs +107 -0
  262. package/fesm2020/mis-crystal-design-system-fab.mjs.map +1 -0
  263. package/fesm2020/mis-crystal-design-system-input.mjs +106 -0
  264. package/fesm2020/mis-crystal-design-system-input.mjs.map +1 -0
  265. package/fesm2020/mis-crystal-design-system-loader.mjs +44 -0
  266. package/fesm2020/mis-crystal-design-system-loader.mjs.map +1 -0
  267. package/fesm2020/mis-crystal-design-system-menu.mjs +119 -0
  268. package/fesm2020/mis-crystal-design-system-menu.mjs.map +1 -0
  269. package/fesm2020/mis-crystal-design-system-modal.mjs +156 -0
  270. package/fesm2020/mis-crystal-design-system-modal.mjs.map +1 -0
  271. package/fesm2020/mis-crystal-design-system-multi-select-dropdown.mjs +325 -0
  272. package/fesm2020/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -0
  273. package/fesm2020/mis-crystal-design-system-nested-multi-select-dropdown.mjs +341 -0
  274. package/fesm2020/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -0
  275. package/fesm2020/mis-crystal-design-system-radio-button.mjs +74 -0
  276. package/fesm2020/mis-crystal-design-system-radio-button.mjs.map +1 -0
  277. package/fesm2020/mis-crystal-design-system-ske-loader.mjs +56 -0
  278. package/fesm2020/mis-crystal-design-system-ske-loader.mjs.map +1 -0
  279. package/fesm2020/mis-crystal-design-system-styles.mjs +4 -0
  280. package/fesm2020/mis-crystal-design-system-styles.mjs.map +1 -0
  281. package/fesm2020/mis-crystal-design-system-switch.mjs +68 -0
  282. package/fesm2020/mis-crystal-design-system-switch.mjs.map +1 -0
  283. package/fesm2020/mis-crystal-design-system-table.mjs +413 -0
  284. package/fesm2020/mis-crystal-design-system-table.mjs.map +1 -0
  285. package/fesm2020/mis-crystal-design-system-toast.mjs +180 -0
  286. package/fesm2020/mis-crystal-design-system-toast.mjs.map +1 -0
  287. package/fesm2020/mis-crystal-design-system-tooltip.mjs +177 -0
  288. package/fesm2020/mis-crystal-design-system-tooltip.mjs.map +1 -0
  289. package/fesm2020/mis-crystal-design-system-utils.mjs +24 -0
  290. package/fesm2020/mis-crystal-design-system-utils.mjs.map +1 -0
  291. package/fesm2020/mis-crystal-design-system-widgets.mjs +128 -0
  292. package/fesm2020/mis-crystal-design-system-widgets.mjs.map +1 -0
  293. package/fesm2020/mis-crystal-design-system.mjs +24 -0
  294. package/fesm2020/mis-crystal-design-system.mjs.map +1 -0
  295. package/input/directives/input/input.directive.d.ts +3 -0
  296. package/input/mis-input.component.d.ts +3 -0
  297. package/input/mis-input.component.scss +18 -20
  298. package/input/mis-input.module.d.ts +8 -0
  299. package/loader/loader.component.d.ts +3 -0
  300. package/loader/loader.module.d.ts +6 -0
  301. package/menu/menu-close.directive.d.ts +3 -0
  302. package/menu/menu.directive.d.ts +3 -0
  303. package/menu/menu.module.d.ts +9 -1
  304. package/modal/modal.module.d.ts +8 -0
  305. package/modal/modal.service.d.ts +3 -0
  306. package/modal/module-wrapper/module-wrapper.component.d.ts +3 -0
  307. package/multi-select-dropdown/multi-select-dropdown.component.d.ts +3 -0
  308. package/multi-select-dropdown/multi-select-dropdown.module.d.ts +10 -0
  309. package/nested-multi-select-dropdown/nested-multi-select-dropdown.component.d.ts +3 -0
  310. package/nested-multi-select-dropdown/nested-multi-select-dropdown.module.d.ts +10 -0
  311. package/package.json +228 -8
  312. package/radio-button/radio-button.component.d.ts +3 -0
  313. package/radio-button/radio-button.module.d.ts +7 -0
  314. package/ske-loader/ske-loader.component.d.ts +3 -0
  315. package/ske-loader/ske-loader.module.d.ts +6 -0
  316. package/styles/mis-fonts.scss +47 -37
  317. package/switch/switch.component.d.ts +3 -0
  318. package/switch/switch.module.d.ts +7 -0
  319. package/table/custom-table-cell.directive.d.ts +3 -0
  320. package/table/filter/filter.component.d.ts +3 -0
  321. package/table/public_api.d.ts +1 -0
  322. package/table/sub-table/sub-table.component.d.ts +3 -0
  323. package/table/table.component.d.ts +3 -0
  324. package/table/table.module.d.ts +11 -0
  325. package/toast/toast.component.d.ts +3 -0
  326. package/toast/toast.data.service.d.ts +3 -0
  327. package/toast/toast.module.d.ts +7 -0
  328. package/toast/toast.service.d.ts +3 -0
  329. package/tooltip/tooltip-container/tooltip.component.d.ts +3 -0
  330. package/tooltip/tooltip.directive.d.ts +3 -0
  331. package/tooltip/tooltip.module.d.ts +8 -0
  332. package/widgets/services/widget.service.d.ts +3 -0
  333. package/widgets/widgets.module.d.ts +5 -0
  334. package/action-list/mis-crystal-design-system-action-list.d.ts +0 -4
  335. package/action-list/mis-crystal-design-system-action-list.metadata.json +0 -1
  336. package/action-list/package.json +0 -11
  337. package/analytics/mis-crystal-design-system-analytics.d.ts +0 -4
  338. package/analytics/mis-crystal-design-system-analytics.metadata.json +0 -1
  339. package/analytics/package.json +0 -11
  340. package/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.d.ts +0 -4
  341. package/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.metadata.json +0 -1
  342. package/async-search-dropdown/package.json +0 -11
  343. package/bundles/mis-crystal-design-system-action-list.umd.js +0 -508
  344. package/bundles/mis-crystal-design-system-action-list.umd.js.map +0 -1
  345. package/bundles/mis-crystal-design-system-action-list.umd.min.js +0 -16
  346. package/bundles/mis-crystal-design-system-action-list.umd.min.js.map +0 -1
  347. package/bundles/mis-crystal-design-system-analytics.umd.js +0 -422
  348. package/bundles/mis-crystal-design-system-analytics.umd.js.map +0 -1
  349. package/bundles/mis-crystal-design-system-analytics.umd.min.js +0 -16
  350. package/bundles/mis-crystal-design-system-analytics.umd.min.js.map +0 -1
  351. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.js +0 -258
  352. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.js.map +0 -1
  353. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.min.js +0 -2
  354. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.min.js.map +0 -1
  355. package/bundles/mis-crystal-design-system-button.umd.js +0 -134
  356. package/bundles/mis-crystal-design-system-button.umd.js.map +0 -1
  357. package/bundles/mis-crystal-design-system-button.umd.min.js +0 -2
  358. package/bundles/mis-crystal-design-system-button.umd.min.js.map +0 -1
  359. package/bundles/mis-crystal-design-system-checkbox.umd.js +0 -127
  360. package/bundles/mis-crystal-design-system-checkbox.umd.js.map +0 -1
  361. package/bundles/mis-crystal-design-system-checkbox.umd.min.js +0 -2
  362. package/bundles/mis-crystal-design-system-checkbox.umd.min.js.map +0 -1
  363. package/bundles/mis-crystal-design-system-chip.umd.js +0 -64
  364. package/bundles/mis-crystal-design-system-chip.umd.js.map +0 -1
  365. package/bundles/mis-crystal-design-system-chip.umd.min.js +0 -2
  366. package/bundles/mis-crystal-design-system-chip.umd.min.js.map +0 -1
  367. package/bundles/mis-crystal-design-system-datepicker_v2.umd.js +0 -688
  368. package/bundles/mis-crystal-design-system-datepicker_v2.umd.js.map +0 -1
  369. package/bundles/mis-crystal-design-system-datepicker_v2.umd.min.js +0 -16
  370. package/bundles/mis-crystal-design-system-datepicker_v2.umd.min.js.map +0 -1
  371. package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.js +0 -740
  372. package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.js.map +0 -1
  373. package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.min.js +0 -16
  374. package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.min.js.map +0 -1
  375. package/bundles/mis-crystal-design-system-drawer.umd.js +0 -169
  376. package/bundles/mis-crystal-design-system-drawer.umd.js.map +0 -1
  377. package/bundles/mis-crystal-design-system-drawer.umd.min.js +0 -2
  378. package/bundles/mis-crystal-design-system-drawer.umd.min.js.map +0 -1
  379. package/bundles/mis-crystal-design-system-dropdown.umd.js +0 -481
  380. package/bundles/mis-crystal-design-system-dropdown.umd.js.map +0 -1
  381. package/bundles/mis-crystal-design-system-dropdown.umd.min.js +0 -16
  382. package/bundles/mis-crystal-design-system-dropdown.umd.min.js.map +0 -1
  383. package/bundles/mis-crystal-design-system-fab.umd.js +0 -95
  384. package/bundles/mis-crystal-design-system-fab.umd.js.map +0 -1
  385. package/bundles/mis-crystal-design-system-fab.umd.min.js +0 -2
  386. package/bundles/mis-crystal-design-system-fab.umd.min.js.map +0 -1
  387. package/bundles/mis-crystal-design-system-input.umd.js +0 -114
  388. package/bundles/mis-crystal-design-system-input.umd.js.map +0 -1
  389. package/bundles/mis-crystal-design-system-input.umd.min.js +0 -2
  390. package/bundles/mis-crystal-design-system-input.umd.min.js.map +0 -1
  391. package/bundles/mis-crystal-design-system-loader.umd.js +0 -53
  392. package/bundles/mis-crystal-design-system-loader.umd.js.map +0 -1
  393. package/bundles/mis-crystal-design-system-loader.umd.min.js +0 -2
  394. package/bundles/mis-crystal-design-system-loader.umd.min.js.map +0 -1
  395. package/bundles/mis-crystal-design-system-menu.umd.js +0 -119
  396. package/bundles/mis-crystal-design-system-menu.umd.js.map +0 -1
  397. package/bundles/mis-crystal-design-system-menu.umd.min.js +0 -2
  398. package/bundles/mis-crystal-design-system-menu.umd.min.js.map +0 -1
  399. package/bundles/mis-crystal-design-system-modal.umd.js +0 -161
  400. package/bundles/mis-crystal-design-system-modal.umd.js.map +0 -1
  401. package/bundles/mis-crystal-design-system-modal.umd.min.js +0 -2
  402. package/bundles/mis-crystal-design-system-modal.umd.min.js.map +0 -1
  403. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.js +0 -622
  404. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.js.map +0 -1
  405. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.min.js +0 -16
  406. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.min.js.map +0 -1
  407. package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.js +0 -636
  408. package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.js.map +0 -1
  409. package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.min.js +0 -16
  410. package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.min.js.map +0 -1
  411. package/bundles/mis-crystal-design-system-radio-button.umd.js +0 -77
  412. package/bundles/mis-crystal-design-system-radio-button.umd.js.map +0 -1
  413. package/bundles/mis-crystal-design-system-radio-button.umd.min.js +0 -2
  414. package/bundles/mis-crystal-design-system-radio-button.umd.min.js.map +0 -1
  415. package/bundles/mis-crystal-design-system-ske-loader.umd.js +0 -65
  416. package/bundles/mis-crystal-design-system-ske-loader.umd.js.map +0 -1
  417. package/bundles/mis-crystal-design-system-ske-loader.umd.min.js +0 -2
  418. package/bundles/mis-crystal-design-system-ske-loader.umd.min.js.map +0 -1
  419. package/bundles/mis-crystal-design-system-styles.umd.js +0 -11
  420. package/bundles/mis-crystal-design-system-styles.umd.js.map +0 -1
  421. package/bundles/mis-crystal-design-system-styles.umd.min.js +0 -2
  422. package/bundles/mis-crystal-design-system-styles.umd.min.js.map +0 -1
  423. package/bundles/mis-crystal-design-system-switch.umd.js +0 -79
  424. package/bundles/mis-crystal-design-system-switch.umd.js.map +0 -1
  425. package/bundles/mis-crystal-design-system-switch.umd.min.js +0 -2
  426. package/bundles/mis-crystal-design-system-switch.umd.min.js.map +0 -1
  427. package/bundles/mis-crystal-design-system-table.umd.js +0 -783
  428. package/bundles/mis-crystal-design-system-table.umd.js.map +0 -1
  429. package/bundles/mis-crystal-design-system-table.umd.min.js +0 -16
  430. package/bundles/mis-crystal-design-system-table.umd.min.js.map +0 -1
  431. package/bundles/mis-crystal-design-system-toast.umd.js +0 -202
  432. package/bundles/mis-crystal-design-system-toast.umd.js.map +0 -1
  433. package/bundles/mis-crystal-design-system-toast.umd.min.js +0 -2
  434. package/bundles/mis-crystal-design-system-toast.umd.min.js.map +0 -1
  435. package/bundles/mis-crystal-design-system-tooltip.umd.js +0 -194
  436. package/bundles/mis-crystal-design-system-tooltip.umd.js.map +0 -1
  437. package/bundles/mis-crystal-design-system-tooltip.umd.min.js +0 -2
  438. package/bundles/mis-crystal-design-system-tooltip.umd.min.js.map +0 -1
  439. package/bundles/mis-crystal-design-system-utils.umd.js +0 -33
  440. package/bundles/mis-crystal-design-system-utils.umd.js.map +0 -1
  441. package/bundles/mis-crystal-design-system-utils.umd.min.js +0 -2
  442. package/bundles/mis-crystal-design-system-utils.umd.min.js.map +0 -1
  443. package/bundles/mis-crystal-design-system-widgets.umd.js +0 -478
  444. package/bundles/mis-crystal-design-system-widgets.umd.js.map +0 -1
  445. package/bundles/mis-crystal-design-system-widgets.umd.min.js +0 -16
  446. package/bundles/mis-crystal-design-system-widgets.umd.min.js.map +0 -1
  447. package/bundles/mis-crystal-design-system.umd.js +0 -31
  448. package/bundles/mis-crystal-design-system.umd.js.map +0 -1
  449. package/bundles/mis-crystal-design-system.umd.min.js +0 -2
  450. package/bundles/mis-crystal-design-system.umd.min.js.map +0 -1
  451. package/button/mis-crystal-design-system-button.d.ts +0 -4
  452. package/button/mis-crystal-design-system-button.metadata.json +0 -1
  453. package/button/package.json +0 -11
  454. package/checkbox/mis-crystal-design-system-checkbox.d.ts +0 -4
  455. package/checkbox/mis-crystal-design-system-checkbox.metadata.json +0 -1
  456. package/checkbox/package.json +0 -11
  457. package/chip/mis-crystal-design-system-chip.d.ts +0 -4
  458. package/chip/mis-crystal-design-system-chip.metadata.json +0 -1
  459. package/chip/package.json +0 -11
  460. package/datepicker_v2/mis-crystal-design-system-datepicker_v2.d.ts +0 -7
  461. package/datepicker_v2/mis-crystal-design-system-datepicker_v2.metadata.json +0 -1
  462. package/datepicker_v2/package.json +0 -11
  463. package/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.d.ts +0 -7
  464. package/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.metadata.json +0 -1
  465. package/daterangepicker_v2/package.json +0 -11
  466. package/drawer/mis-crystal-design-system-drawer.d.ts +0 -5
  467. package/drawer/mis-crystal-design-system-drawer.metadata.json +0 -1
  468. package/drawer/package.json +0 -11
  469. package/dropdown/mis-crystal-design-system-dropdown.d.ts +0 -4
  470. package/dropdown/mis-crystal-design-system-dropdown.metadata.json +0 -1
  471. package/dropdown/package.json +0 -11
  472. package/esm2015/action-list/action-list.component.js +0 -160
  473. package/esm2015/action-list/action-list.module.js +0 -19
  474. package/esm2015/analytics/analytics.module.js +0 -14
  475. package/esm2015/analytics/analytics.service.js +0 -62
  476. package/esm2015/async-search-dropdown/async-dropdown.component.js +0 -223
  477. package/esm2015/async-search-dropdown/async-dropdown.module.js +0 -16
  478. package/esm2015/button/button.component.js +0 -43
  479. package/esm2015/button/button.directive.js +0 -57
  480. package/esm2015/button/button.module.js +0 -17
  481. package/esm2015/checkbox/checkbox.component.js +0 -79
  482. package/esm2015/checkbox/checkbox.module.js +0 -17
  483. package/esm2015/chip/chip.component.js +0 -31
  484. package/esm2015/chip/chip.module.js +0 -16
  485. package/esm2015/datepicker_v2/datepicker.module.js +0 -18
  486. package/esm2015/datepicker_v2/mis-crystal-design-system-datepicker_v2.js +0 -7
  487. package/esm2015/datepicker_v2/public_api.js +0 -3
  488. package/esm2015/datepicker_v2/tz-datepicker.directive.js +0 -126
  489. package/esm2015/datepicker_v2/tz-dp-container/tz-dp-container.component.js +0 -149
  490. package/esm2015/daterangepicker_v2/daterangepicker.module.js +0 -18
  491. package/esm2015/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.js +0 -7
  492. package/esm2015/daterangepicker_v2/public_api.js +0 -3
  493. package/esm2015/daterangepicker_v2/tz-daterangepicker.directive.js +0 -123
  494. package/esm2015/daterangepicker_v2/tz-drp-container/tz-drp-container.component.js +0 -205
  495. package/esm2015/drawer/drawer-body/drawer-body.component.js +0 -41
  496. package/esm2015/drawer/drawer.module.js +0 -28
  497. package/esm2015/drawer/mis-crystal-design-system-drawer.js +0 -6
  498. package/esm2015/dropdown/dropdown.component.js +0 -134
  499. package/esm2015/dropdown/dropdown.module.js +0 -19
  500. package/esm2015/fab/fab.component.js +0 -63
  501. package/esm2015/fab/fab.module.js +0 -16
  502. package/esm2015/input/directives/input/input.directive.js +0 -38
  503. package/esm2015/input/mis-input.component.js +0 -43
  504. package/esm2015/input/mis-input.module.js +0 -15
  505. package/esm2015/loader/loader.component.js +0 -20
  506. package/esm2015/loader/loader.module.js +0 -16
  507. package/esm2015/menu/menu-close.directive.js +0 -18
  508. package/esm2015/menu/menu.directive.js +0 -70
  509. package/esm2015/menu/menu.module.js +0 -17
  510. package/esm2015/modal/mis-crystal-design-system-modal.js +0 -6
  511. package/esm2015/modal/modal.module.js +0 -28
  512. package/esm2015/modal/modal.service.js +0 -72
  513. package/esm2015/modal/module-wrapper/module-wrapper.component.js +0 -33
  514. package/esm2015/multi-select-dropdown/multi-select-dropdown.component.js +0 -268
  515. package/esm2015/multi-select-dropdown/multi-select-dropdown.module.js +0 -20
  516. package/esm2015/nested-multi-select-dropdown/nested-multi-select-dropdown.component.js +0 -265
  517. package/esm2015/nested-multi-select-dropdown/nested-multi-select-dropdown.module.js +0 -20
  518. package/esm2015/radio-button/radio-button.component.js +0 -45
  519. package/esm2015/radio-button/radio-button.module.js +0 -17
  520. package/esm2015/ske-loader/ske-loader.component.js +0 -31
  521. package/esm2015/ske-loader/ske-loader.module.js +0 -13
  522. package/esm2015/switch/switch.component.js +0 -39
  523. package/esm2015/switch/switch.module.js +0 -17
  524. package/esm2015/table/custom-table-cell.directive.js +0 -42
  525. package/esm2015/table/filter/filter.component.js +0 -75
  526. package/esm2015/table/mis-crystal-design-system-table.js +0 -6
  527. package/esm2015/table/public_api.js +0 -5
  528. package/esm2015/table/sub-table/sub-table.component.js +0 -69
  529. package/esm2015/table/table.component.js +0 -199
  530. package/esm2015/table/table.module.js +0 -21
  531. package/esm2015/toast/toast.component.js +0 -28
  532. package/esm2015/toast/toast.data.service.js +0 -29
  533. package/esm2015/toast/toast.module.js +0 -28
  534. package/esm2015/toast/toast.service.js +0 -96
  535. package/esm2015/tooltip/tooltip-container/tooltip.component.js +0 -34
  536. package/esm2015/tooltip/tooltip.directive.js +0 -117
  537. package/esm2015/tooltip/tooltip.module.js +0 -19
  538. package/esm2015/widgets/classes/widget-group.js +0 -32
  539. package/esm2015/widgets/services/widget.service.js +0 -16
  540. package/esm2015/widgets/widgets.module.js +0 -12
  541. package/fab/mis-crystal-design-system-fab.d.ts +0 -4
  542. package/fab/mis-crystal-design-system-fab.metadata.json +0 -1
  543. package/fab/package.json +0 -11
  544. package/fesm2015/mis-crystal-design-system-action-list.js +0 -183
  545. package/fesm2015/mis-crystal-design-system-action-list.js.map +0 -1
  546. package/fesm2015/mis-crystal-design-system-analytics.js.map +0 -1
  547. package/fesm2015/mis-crystal-design-system-async-search-dropdown.js +0 -242
  548. package/fesm2015/mis-crystal-design-system-async-search-dropdown.js.map +0 -1
  549. package/fesm2015/mis-crystal-design-system-button.js +0 -120
  550. package/fesm2015/mis-crystal-design-system-button.js.map +0 -1
  551. package/fesm2015/mis-crystal-design-system-checkbox.js +0 -100
  552. package/fesm2015/mis-crystal-design-system-checkbox.js.map +0 -1
  553. package/fesm2015/mis-crystal-design-system-chip.js +0 -52
  554. package/fesm2015/mis-crystal-design-system-chip.js.map +0 -1
  555. package/fesm2015/mis-crystal-design-system-datepicker_v2.js +0 -339
  556. package/fesm2015/mis-crystal-design-system-datepicker_v2.js.map +0 -1
  557. package/fesm2015/mis-crystal-design-system-daterangepicker_v2.js +0 -392
  558. package/fesm2015/mis-crystal-design-system-daterangepicker_v2.js.map +0 -1
  559. package/fesm2015/mis-crystal-design-system-drawer.js +0 -153
  560. package/fesm2015/mis-crystal-design-system-drawer.js.map +0 -1
  561. package/fesm2015/mis-crystal-design-system-dropdown.js +0 -157
  562. package/fesm2015/mis-crystal-design-system-dropdown.js.map +0 -1
  563. package/fesm2015/mis-crystal-design-system-fab.js +0 -84
  564. package/fesm2015/mis-crystal-design-system-fab.js.map +0 -1
  565. package/fesm2015/mis-crystal-design-system-input.js +0 -97
  566. package/fesm2015/mis-crystal-design-system-input.js.map +0 -1
  567. package/fesm2015/mis-crystal-design-system-loader.js +0 -41
  568. package/fesm2015/mis-crystal-design-system-loader.js.map +0 -1
  569. package/fesm2015/mis-crystal-design-system-menu.js +0 -106
  570. package/fesm2015/mis-crystal-design-system-menu.js.map +0 -1
  571. package/fesm2015/mis-crystal-design-system-modal.js +0 -147
  572. package/fesm2015/mis-crystal-design-system-modal.js.map +0 -1
  573. package/fesm2015/mis-crystal-design-system-multi-select-dropdown.js +0 -292
  574. package/fesm2015/mis-crystal-design-system-multi-select-dropdown.js.map +0 -1
  575. package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.js +0 -289
  576. package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.js.map +0 -1
  577. package/fesm2015/mis-crystal-design-system-radio-button.js +0 -66
  578. package/fesm2015/mis-crystal-design-system-radio-button.js.map +0 -1
  579. package/fesm2015/mis-crystal-design-system-ske-loader.js +0 -49
  580. package/fesm2015/mis-crystal-design-system-ske-loader.js.map +0 -1
  581. package/fesm2015/mis-crystal-design-system-styles.js +0 -4
  582. package/fesm2015/mis-crystal-design-system-styles.js.map +0 -1
  583. package/fesm2015/mis-crystal-design-system-switch.js +0 -60
  584. package/fesm2015/mis-crystal-design-system-switch.js.map +0 -1
  585. package/fesm2015/mis-crystal-design-system-table.js +0 -405
  586. package/fesm2015/mis-crystal-design-system-table.js.map +0 -1
  587. package/fesm2015/mis-crystal-design-system-toast.js +0 -174
  588. package/fesm2015/mis-crystal-design-system-toast.js.map +0 -1
  589. package/fesm2015/mis-crystal-design-system-tooltip.js +0 -171
  590. package/fesm2015/mis-crystal-design-system-tooltip.js.map +0 -1
  591. package/fesm2015/mis-crystal-design-system-utils.js.map +0 -1
  592. package/fesm2015/mis-crystal-design-system-widgets.js.map +0 -1
  593. package/fesm2015/mis-crystal-design-system.js.map +0 -1
  594. package/input/mis-crystal-design-system-input.d.ts +0 -4
  595. package/input/mis-crystal-design-system-input.metadata.json +0 -1
  596. package/input/package.json +0 -11
  597. package/loader/mis-crystal-design-system-loader.d.ts +0 -4
  598. package/loader/mis-crystal-design-system-loader.metadata.json +0 -1
  599. package/loader/package.json +0 -11
  600. package/menu/mis-crystal-design-system-menu.d.ts +0 -4
  601. package/menu/mis-crystal-design-system-menu.metadata.json +0 -1
  602. package/menu/package.json +0 -11
  603. package/mis-crystal-design-system.d.ts +0 -4
  604. package/mis-crystal-design-system.metadata.json +0 -1
  605. package/modal/mis-crystal-design-system-modal.d.ts +0 -5
  606. package/modal/mis-crystal-design-system-modal.metadata.json +0 -1
  607. package/modal/package.json +0 -11
  608. package/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.d.ts +0 -4
  609. package/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.metadata.json +0 -1
  610. package/multi-select-dropdown/package.json +0 -11
  611. package/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.d.ts +0 -4
  612. package/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.metadata.json +0 -1
  613. package/nested-multi-select-dropdown/package.json +0 -11
  614. package/radio-button/mis-crystal-design-system-radio-button.d.ts +0 -4
  615. package/radio-button/mis-crystal-design-system-radio-button.metadata.json +0 -1
  616. package/radio-button/package.json +0 -11
  617. package/ske-loader/mis-crystal-design-system-ske-loader.d.ts +0 -4
  618. package/ske-loader/mis-crystal-design-system-ske-loader.metadata.json +0 -1
  619. package/ske-loader/package.json +0 -11
  620. package/styles/mis-crystal-design-system-styles.d.ts +0 -4
  621. package/styles/mis-crystal-design-system-styles.metadata.json +0 -1
  622. package/styles/package.json +0 -11
  623. package/switch/mis-crystal-design-system-switch.d.ts +0 -4
  624. package/switch/mis-crystal-design-system-switch.metadata.json +0 -1
  625. package/switch/package.json +0 -11
  626. package/table/mis-crystal-design-system-table.d.ts +0 -5
  627. package/table/mis-crystal-design-system-table.metadata.json +0 -1
  628. package/table/package.json +0 -11
  629. package/toast/mis-crystal-design-system-toast.d.ts +0 -5
  630. package/toast/mis-crystal-design-system-toast.metadata.json +0 -1
  631. package/toast/package.json +0 -11
  632. package/tooltip/mis-crystal-design-system-tooltip.d.ts +0 -4
  633. package/tooltip/mis-crystal-design-system-tooltip.metadata.json +0 -1
  634. package/tooltip/package.json +0 -11
  635. package/utils/mis-crystal-design-system-utils.d.ts +0 -4
  636. package/utils/mis-crystal-design-system-utils.metadata.json +0 -1
  637. package/utils/package.json +0 -11
  638. package/widgets/mis-crystal-design-system-widgets.d.ts +0 -4
  639. package/widgets/mis-crystal-design-system-widgets.metadata.json +0 -1
  640. package/widgets/package.json +0 -11
@@ -0,0 +1,208 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild, ViewChildren } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "./sub-table/sub-table.component";
5
+ import * as i3 from "./filter/filter.component";
6
+ import * as i4 from "./custom-table-cell.directive";
7
+ export class TableComponent {
8
+ constructor(renderer) {
9
+ this.renderer = renderer;
10
+ // Filter related variables
11
+ this.showFilter = false;
12
+ this.filterName = "";
13
+ this.filterData = [];
14
+ this.filterContainerStyles = {};
15
+ this.appliedFilters = {};
16
+ this.filtersUpdated = new EventEmitter();
17
+ // Pagination related variables
18
+ this.pages = [];
19
+ this.pageSelected = new EventEmitter();
20
+ this.tableData = [];
21
+ this.subTableData = [];
22
+ }
23
+ ngOnInit() {
24
+ this.tableLength = [].concat(...this.tableData).length;
25
+ this.initializeFilters();
26
+ if (this.config.paginationConfig) {
27
+ this.initializePagination();
28
+ }
29
+ if (this.config.canScrollHorizontally === undefined) {
30
+ this.config.canScrollHorizontally = false;
31
+ }
32
+ document.addEventListener("click", event => {
33
+ if (this.filter) {
34
+ let isCheckBoxClicked = true;
35
+ let targetElement = event.target;
36
+ if (targetElement.className === "checkmark") {
37
+ isCheckBoxClicked = true;
38
+ this.showFilter = true;
39
+ }
40
+ let isClickInsideElement = this.filter.container.nativeElement.contains(event.target);
41
+ if (!isClickInsideElement && !isCheckBoxClicked) {
42
+ this.toggleFilter(this.filterName);
43
+ }
44
+ }
45
+ });
46
+ }
47
+ ngAfterViewInit() {
48
+ if (this.config.paginationConfig) {
49
+ let height = this.table.nativeElement.offsetHeight;
50
+ this.renderer.setStyle(this.table.nativeElement, "height", height - 56 + "px");
51
+ }
52
+ }
53
+ ngOnChanges() {
54
+ this.tableLength = [].concat(...this.tableData).length;
55
+ }
56
+ // Filter related functions
57
+ initializeFilters() {
58
+ for (let colHeader of this.config?.colHeaderConfig) {
59
+ if (colHeader.filters) {
60
+ let filters = [];
61
+ for (let filter of colHeader.filters) {
62
+ if (filter.checked) {
63
+ filters.push({
64
+ name: filter.name,
65
+ value: filter.value
66
+ });
67
+ }
68
+ }
69
+ if (filters.length > 0)
70
+ this.appliedFilters[colHeader.data] = filters;
71
+ }
72
+ }
73
+ }
74
+ toggleFilter(filterName) {
75
+ if (!this.showFilter) {
76
+ this.filterName = filterName;
77
+ this.showFilter = true;
78
+ let offSet = 0;
79
+ let colHeadersReversed = this.colHeaders.toArray().reverse();
80
+ for (let header of colHeadersReversed) {
81
+ if (header.nativeElement.innerText === filterName)
82
+ break;
83
+ offSet += header.nativeElement.offsetWidth;
84
+ }
85
+ this.filterContainerStyles = {
86
+ top: "44px",
87
+ right: offSet > 0 ? offSet - 116 + "px" : "12px"
88
+ };
89
+ }
90
+ else {
91
+ this.filterName = "";
92
+ this.filterData = [];
93
+ this.showFilter = false;
94
+ }
95
+ }
96
+ updateAppliedFilters(appliedFilters) {
97
+ if (appliedFilters.length == 0) {
98
+ delete this.appliedFilters[this.filterName];
99
+ }
100
+ else {
101
+ this.appliedFilters[this.filterName] = appliedFilters;
102
+ }
103
+ this.filtersUpdated.emit({ ...this.appliedFilters });
104
+ this.toggleFilter(this.filterName);
105
+ }
106
+ // Pagination related functions
107
+ initializePagination() {
108
+ if (this.config.paginationConfig) {
109
+ let len = this.config.paginationConfig.noOfPages;
110
+ if (len <= 7) {
111
+ for (let i = 1; i <= len; i++) {
112
+ this.pages.push(i);
113
+ }
114
+ }
115
+ else {
116
+ this.pages = [1, 2, 3, 4, 0, len];
117
+ }
118
+ }
119
+ }
120
+ updateSelectedPage(pageNumber) {
121
+ if (pageNumber < 1 || pageNumber > this.config.paginationConfig.noOfPages)
122
+ return;
123
+ this.config.paginationConfig.selectedPage = pageNumber;
124
+ let len = this.config.paginationConfig.noOfPages;
125
+ if (len > 7) {
126
+ if (pageNumber - 2 <= 1) {
127
+ this.pages = [1, 2, 3, 4, 0, len];
128
+ }
129
+ else if (pageNumber - 2 > 1 && pageNumber + 2 < len) {
130
+ this.pages = [1, 0, pageNumber - 1, pageNumber, pageNumber + 1, 0, len];
131
+ }
132
+ else if (pageNumber + 2 >= len) {
133
+ this.pages = [1, 0, len - 3, len - 2, len - 1, len];
134
+ }
135
+ }
136
+ this.pageSelected.emit(this.config.paginationConfig?.selectedPage);
137
+ }
138
+ // Main container related functions
139
+ getContainerHeight() {
140
+ if (this.config?.height)
141
+ return this.config.height;
142
+ else
143
+ return "";
144
+ }
145
+ getContainerWidth() {
146
+ if (this.config?.width)
147
+ return this.config.width;
148
+ else
149
+ return "";
150
+ }
151
+ // Column Headers related functions
152
+ getColHeadersRowHeight() {
153
+ if (this.config.colHeadersRowConfig && this.config.colHeadersRowConfig.height) {
154
+ return this.config.colHeadersRowConfig.height;
155
+ }
156
+ else
157
+ return "44px";
158
+ }
159
+ getColHeadersRowBorderTop() {
160
+ if (this.config.colHeadersRowConfig && this.config.colHeadersRowConfig.style?.borderTop) {
161
+ return this.config.colHeadersRowConfig.style?.borderTop;
162
+ }
163
+ else
164
+ return "";
165
+ }
166
+ getColHeadersRowBorderBottom() {
167
+ if (this.config.colHeadersRowConfig && this.config.colHeadersRowConfig.style?.borderBottom) {
168
+ return this.config.colHeadersRowConfig.style?.borderBottom;
169
+ }
170
+ else
171
+ return "1px solid #E0E0E0";
172
+ }
173
+ }
174
+ TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
175
+ TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TableComponent, selector: "mis-table", inputs: { config: ["tableConfig", "config"], subTableconfig: "subTableconfig", tableDataLoading: "tableDataLoading", expandedIndex: "expandedIndex", tableData: "tableData", subTableData: "subTableData", subTableDataLoading: "subTableDataLoading" }, outputs: { filtersUpdated: "filtersUpdated", pageSelected: "pageSelected" }, viewQueries: [{ propertyName: "filter", first: true, predicate: ["filter"], descendants: true }, { propertyName: "table", first: true, predicate: ["table"], descendants: true }, { propertyName: "colHeaders", predicate: ["colHeaderRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n [ngStyle]=\"{\n height: getContainerHeight(),\n width: getContainerWidth(),\n 'overflow-x': config.canScrollHorizontally ? 'auto' : 'unset'\n }\"\n id=\"main-container\"\n>\n <mis-table-filter\n #filter\n (filtersApplied)=\"updateAppliedFilters($event)\"\n *ngIf=\"showFilter\"\n [containerStyles]=\"filterContainerStyles\"\n [filtersData]=\"filterData\"\n ></mis-table-filter>\n <div\n #table\n id=\"table-container\"\n [ngClass]=\"{ 'no-scrollbar': expandedIndex < 0, scrollbar: !(expandedIndex < 0), 'scroll-horizontally': config.canScrollHorizontally }\"\n >\n <div\n [ngStyle]=\"{\n 'min-height': getColHeadersRowHeight(),\n 'border-top': getColHeadersRowBorderTop(),\n 'border-bottom': getColHeadersRowBorderBottom()\n }\"\n id=\"col-headers-container\"\n >\n <div\n #colHeaderRef\n (click)=\"colHeader?.action ? colHeader?.action(colHeader) : null\"\n *ngFor=\"let colHeader of config?.colHeaderConfig\"\n class=\"col-header\"\n [ngStyle]=\"{\n width: colHeader?.style?.width || '',\n cursor: colHeader.action ? 'pointer' : 'default',\n 'justify-content': colHeader?.style?.justifyContent\n ? colHeader?.style?.justifyContent\n : colHeader.type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\"\n >\n <p *ngIf=\"colHeader?.type !== 'custom'\" class=\"col-header-text\">\n {{ colHeader?.data || \" \" }}\n </p>\n <span\n (click)=\"filterData = colHeader.filters; toggleFilter(colHeader.data); $event.stopPropagation()\"\n *ngIf=\"colHeader?.type !== 'custom' && colHeader?.filters && colHeader?.filters?.length > 0\"\n class=\"filter-icon\"\n >\n <span *ngIf=\"appliedFilters[colHeader.data]?.length > 0\" id=\"filter-active\"></span>\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 13 10\" width=\"13\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M4.97546 10H7.64213V8H4.97546V10ZM0.308472 0V2H12.3085V0H0.308472ZM2.30847 6H10.3085V4H2.30847V6Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n <ng-template\n *ngIf=\"colHeader?.type === 'custom'\"\n [customComponent]=\"colHeader?.componentRef\"\n [data]=\"colHeader.data\"\n customTableCell\n ></ng-template>\n </div>\n </div>\n <div id=\"data-container\">\n <div class=\"row-wrapper\" *ngFor=\"let row of tableData; let i = index\">\n <div\n class=\"t-row\"\n [ngClass]=\"{ 't-row-hover': config.cellHover }\"\n [ngStyle]=\"{ 'min-height': config?.rowConfig?.height ? config.rowConfig.height : '44px' }\"\n >\n <div\n (click)=\"config?.colConfig[i]?.action ? config?.colConfig[i]?.action(col) : null\"\n *ngFor=\"let col of row; let i = index\"\n [ngStyle]=\"{\n width: config?.colConfig[i]?.style?.width || config?.colHeaderConfig[i]?.style?.width || ''\n }\"\n class=\"t-col-container\"\n [ngClass]=\"{ 't-col-container-hover': config.cellHover }\"\n >\n <div\n class=\"t-col\"\n [style]=\"config.colConfig[i]?.style\"\n [ngStyle]=\"{\n width: '100%',\n cursor: config.colConfig[i]?.action ? 'pointer' : 'default',\n 'justify-content': config.colConfig[i]?.style?.justifyContent\n ? config.colConfig[i]?.style?.justifyContent\n : config.colConfig[i]?.type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\"\n >\n <p\n *ngIf=\"config.colConfig[i]?.type !== 'custom'\"\n [ngStyle]=\"{\n color: config?.colConfig[i]?.style?.color ? config?.colConfig[i]?.style?.color : ''\n }\"\n class=\"t-col-text\"\n >\n {{ col }}\n </p>\n <ng-template\n *ngIf=\"config.colConfig[i]?.type === 'custom'\"\n [customComponent]=\"config.colConfig[i].componentRef\"\n [data]=\"col\"\n customTableCell\n ></ng-template>\n </div>\n </div>\n </div>\n <div *ngIf=\"config?.canExpand && expandedIndex === i\" class=\"sub-row\">\n <ng-container *ngIf=\"subTableDataLoading\">\n <div style=\"display: flex; justify-content: center; align-items: center; padding: 16px\">Loading...</div>\n </ng-container>\n <ng-container *ngIf=\"!subTableDataLoading && subTableData.length === 0\">\n <div style=\"display: flex; justify-content: center; align-items: center; padding: 16px\">No Data Available...</div>\n </ng-container>\n <ng-container *ngIf=\"!subTableDataLoading && subTableData.length > 0\">\n <sub-table [config]=\"subTableconfig\" [tableData]=\"subTableData\"></sub-table>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"config?.paginationConfig && (tableLength >= config.paginationConfig.rowsPerPage || config.paginationConfig?.selectedPage !== 1)\"\n id=\"pagination-container\"\n >\n <p id=\"pagination-text\">\n Showing\n {{ (config.paginationConfig?.selectedPage - 1) * config.paginationConfig.rowsPerPage + 1 }}-{{\n (config.paginationConfig?.selectedPage - 1) * config.paginationConfig.rowsPerPage + tableLength\n }}\n of {{ config.paginationConfig.totalNoOfRows }} items\n </p>\n <div id=\"pages-container\">\n <span (click)=\"updateSelectedPage(config.paginationConfig?.selectedPage - 1)\" class=\"page\">\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 7 10\" width=\"7\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M0.857405 5.56295C0.855794 5.56139 0.854188 5.55982 0.852588 5.55824C0.695955 5.40408 0.617641 5.20203 0.617647 4.99998C0.617641 4.79793 0.695955 4.59588 0.852588 4.44172C0.854188 4.44014 0.855794 4.43858 0.857404 4.43702L5.13066 0.231231C5.44392 -0.0770771 5.9518 -0.0770771 6.26506 0.231231C6.57831 0.53954 6.57831 1.03941 6.26506 1.34772L2.5542 4.99998L6.26506 8.65225C6.57831 8.96055 6.57831 9.46042 6.26506 9.76873C5.9518 10.077 5.44392 10.077 5.13066 9.76873L0.857405 5.56295Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n <div *ngFor=\"let pageNumber of pages\">\n <span\n (click)=\"updateSelectedPage(pageNumber)\"\n *ngIf=\"pageNumber != 0\"\n [ngClass]=\"{ 'page-active': pageNumber == config.paginationConfig?.selectedPage }\"\n class=\"page\"\n >{{ pageNumber }}</span\n >\n <span *ngIf=\"pageNumber == 0\" class=\"page-seperator\">\n <div style=\"display: flex\">\n <span class=\"dot\" style=\"margin-right: 4px\"></span>\n <span class=\"dot\" style=\"margin-right: 4px\"></span>\n <span class=\"dot\"></span>\n </div>\n </span>\n </div>\n <span (click)=\"updateSelectedPage(config.paginationConfig?.selectedPage + 1)\" class=\"page\">\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 7 10\" width=\"7\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M6.1426 5.56295C6.14421 5.56139 6.14581 5.55982 6.14741 5.55824C6.30405 5.40408 6.38236 5.20203 6.38236 4.99998C6.38236 4.79793 6.30405 4.59588 6.14741 4.44172C6.14581 4.44014 6.14421 4.43858 6.1426 4.43702L1.86934 0.231231C1.55608 -0.0770771 1.0482 -0.0770771 0.734942 0.231231C0.421688 0.53954 0.421688 1.03941 0.734942 1.34772L4.4458 4.99998L0.734941 8.65225C0.421686 8.96055 0.421686 9.46042 0.734941 9.76873C1.0482 10.077 1.55608 10.077 1.86934 9.76873L6.1426 5.56295Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n </div>\n </div>\n</div>\n", styles: ["#main-container{font-family:Lato,sans-serif;position:relative}.no-scrollbar::-webkit-scrollbar{width:0}.scrollbar::-webkit-scrollbar{width:8px;height:8px;border-radius:15px}.scrollbar::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:15px}#table-container{height:inherit;overflow-y:auto}.scroll-horizontally{height:inherit;width:-moz-fit-content;width:fit-content;overflow-y:unset!important;overflow-x:visible}#col-headers-container{display:flex;align-items:center;position:sticky;background-color:#fff;width:100%;z-index:1;min-height:44px;border-bottom:1px solid #e0e0e0;top:0;left:0;right:0}.col-header{padding:0 16px;display:flex;align-items:center;height:100%}.col-header-text{font-style:normal;font-weight:700;font-size:14px;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.filter-icon{margin-left:8px;padding:0 8px;position:relative;cursor:pointer}#filter-active{height:8px;width:8px;background:#16cbbc;border-radius:50%;position:absolute;top:4px;right:4px}.sub-row{height:auto;border-bottom:none}.loader ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#0937b2}.t-row{display:flex;min-height:44px;background-color:#fff;width:100%;border-bottom:1px solid #e0e0e0}.t-row:hover{background-color:#f1fdf8}.t-col-container{padding:0 16px}.t-row-hover:hover{background-color:#0000}.t-col-container-hover:hover{background-color:#e6ebf7}.t-col-container-hover:first-child{border-left:1px solid #e0e0e0}.t-col-container-hover{border-right:1px solid #e0e0e0}.t-col{display:flex;align-items:center;height:100%}.t-col-text{font-style:normal;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}#pagination-container{display:flex;justify-content:flex-end;align-items:center;height:56px}#pagination-text{font-style:normal;font-weight:400;font-size:12px;line-height:18px;letter-spacing:.4px;color:#6a737d;margin:0 96px 0 0}#pages-container{display:flex;margin-right:32px}.page{display:flex;justify-content:center;align-items:center;border:1px solid #6a737d;box-sizing:border-box;border-radius:4px;width:32px;height:32px;font-size:14px;line-height:20px;letter-spacing:.2px;color:#6a737d;margin-right:8px;cursor:pointer}.page-seperator{display:flex;justify-content:center;align-items:center;width:32px;height:32px;margin-right:8px}.dot{height:3px;width:3px;border-radius:50%;background:#6a737d}.page-active{color:#0937b2;border:1px solid #0937b2}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.SubTableComponent, selector: "sub-table", inputs: ["config", "tableData"] }, { kind: "component", type: i3.TableFilterComponent, selector: "mis-table-filter", inputs: ["filtersData", "containerStyles"], outputs: ["filtersApplied"] }, { kind: "directive", type: i4.CustomTableCellDirective, selector: "[customTableCell]", inputs: ["customComponent", "data"] }] });
176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableComponent, decorators: [{
177
+ type: Component,
178
+ args: [{ selector: "mis-table", template: "<div\n [ngStyle]=\"{\n height: getContainerHeight(),\n width: getContainerWidth(),\n 'overflow-x': config.canScrollHorizontally ? 'auto' : 'unset'\n }\"\n id=\"main-container\"\n>\n <mis-table-filter\n #filter\n (filtersApplied)=\"updateAppliedFilters($event)\"\n *ngIf=\"showFilter\"\n [containerStyles]=\"filterContainerStyles\"\n [filtersData]=\"filterData\"\n ></mis-table-filter>\n <div\n #table\n id=\"table-container\"\n [ngClass]=\"{ 'no-scrollbar': expandedIndex < 0, scrollbar: !(expandedIndex < 0), 'scroll-horizontally': config.canScrollHorizontally }\"\n >\n <div\n [ngStyle]=\"{\n 'min-height': getColHeadersRowHeight(),\n 'border-top': getColHeadersRowBorderTop(),\n 'border-bottom': getColHeadersRowBorderBottom()\n }\"\n id=\"col-headers-container\"\n >\n <div\n #colHeaderRef\n (click)=\"colHeader?.action ? colHeader?.action(colHeader) : null\"\n *ngFor=\"let colHeader of config?.colHeaderConfig\"\n class=\"col-header\"\n [ngStyle]=\"{\n width: colHeader?.style?.width || '',\n cursor: colHeader.action ? 'pointer' : 'default',\n 'justify-content': colHeader?.style?.justifyContent\n ? colHeader?.style?.justifyContent\n : colHeader.type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\"\n >\n <p *ngIf=\"colHeader?.type !== 'custom'\" class=\"col-header-text\">\n {{ colHeader?.data || \" \" }}\n </p>\n <span\n (click)=\"filterData = colHeader.filters; toggleFilter(colHeader.data); $event.stopPropagation()\"\n *ngIf=\"colHeader?.type !== 'custom' && colHeader?.filters && colHeader?.filters?.length > 0\"\n class=\"filter-icon\"\n >\n <span *ngIf=\"appliedFilters[colHeader.data]?.length > 0\" id=\"filter-active\"></span>\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 13 10\" width=\"13\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M4.97546 10H7.64213V8H4.97546V10ZM0.308472 0V2H12.3085V0H0.308472ZM2.30847 6H10.3085V4H2.30847V6Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n <ng-template\n *ngIf=\"colHeader?.type === 'custom'\"\n [customComponent]=\"colHeader?.componentRef\"\n [data]=\"colHeader.data\"\n customTableCell\n ></ng-template>\n </div>\n </div>\n <div id=\"data-container\">\n <div class=\"row-wrapper\" *ngFor=\"let row of tableData; let i = index\">\n <div\n class=\"t-row\"\n [ngClass]=\"{ 't-row-hover': config.cellHover }\"\n [ngStyle]=\"{ 'min-height': config?.rowConfig?.height ? config.rowConfig.height : '44px' }\"\n >\n <div\n (click)=\"config?.colConfig[i]?.action ? config?.colConfig[i]?.action(col) : null\"\n *ngFor=\"let col of row; let i = index\"\n [ngStyle]=\"{\n width: config?.colConfig[i]?.style?.width || config?.colHeaderConfig[i]?.style?.width || ''\n }\"\n class=\"t-col-container\"\n [ngClass]=\"{ 't-col-container-hover': config.cellHover }\"\n >\n <div\n class=\"t-col\"\n [style]=\"config.colConfig[i]?.style\"\n [ngStyle]=\"{\n width: '100%',\n cursor: config.colConfig[i]?.action ? 'pointer' : 'default',\n 'justify-content': config.colConfig[i]?.style?.justifyContent\n ? config.colConfig[i]?.style?.justifyContent\n : config.colConfig[i]?.type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\"\n >\n <p\n *ngIf=\"config.colConfig[i]?.type !== 'custom'\"\n [ngStyle]=\"{\n color: config?.colConfig[i]?.style?.color ? config?.colConfig[i]?.style?.color : ''\n }\"\n class=\"t-col-text\"\n >\n {{ col }}\n </p>\n <ng-template\n *ngIf=\"config.colConfig[i]?.type === 'custom'\"\n [customComponent]=\"config.colConfig[i].componentRef\"\n [data]=\"col\"\n customTableCell\n ></ng-template>\n </div>\n </div>\n </div>\n <div *ngIf=\"config?.canExpand && expandedIndex === i\" class=\"sub-row\">\n <ng-container *ngIf=\"subTableDataLoading\">\n <div style=\"display: flex; justify-content: center; align-items: center; padding: 16px\">Loading...</div>\n </ng-container>\n <ng-container *ngIf=\"!subTableDataLoading && subTableData.length === 0\">\n <div style=\"display: flex; justify-content: center; align-items: center; padding: 16px\">No Data Available...</div>\n </ng-container>\n <ng-container *ngIf=\"!subTableDataLoading && subTableData.length > 0\">\n <sub-table [config]=\"subTableconfig\" [tableData]=\"subTableData\"></sub-table>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"config?.paginationConfig && (tableLength >= config.paginationConfig.rowsPerPage || config.paginationConfig?.selectedPage !== 1)\"\n id=\"pagination-container\"\n >\n <p id=\"pagination-text\">\n Showing\n {{ (config.paginationConfig?.selectedPage - 1) * config.paginationConfig.rowsPerPage + 1 }}-{{\n (config.paginationConfig?.selectedPage - 1) * config.paginationConfig.rowsPerPage + tableLength\n }}\n of {{ config.paginationConfig.totalNoOfRows }} items\n </p>\n <div id=\"pages-container\">\n <span (click)=\"updateSelectedPage(config.paginationConfig?.selectedPage - 1)\" class=\"page\">\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 7 10\" width=\"7\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M0.857405 5.56295C0.855794 5.56139 0.854188 5.55982 0.852588 5.55824C0.695955 5.40408 0.617641 5.20203 0.617647 4.99998C0.617641 4.79793 0.695955 4.59588 0.852588 4.44172C0.854188 4.44014 0.855794 4.43858 0.857404 4.43702L5.13066 0.231231C5.44392 -0.0770771 5.9518 -0.0770771 6.26506 0.231231C6.57831 0.53954 6.57831 1.03941 6.26506 1.34772L2.5542 4.99998L6.26506 8.65225C6.57831 8.96055 6.57831 9.46042 6.26506 9.76873C5.9518 10.077 5.44392 10.077 5.13066 9.76873L0.857405 5.56295Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n <div *ngFor=\"let pageNumber of pages\">\n <span\n (click)=\"updateSelectedPage(pageNumber)\"\n *ngIf=\"pageNumber != 0\"\n [ngClass]=\"{ 'page-active': pageNumber == config.paginationConfig?.selectedPage }\"\n class=\"page\"\n >{{ pageNumber }}</span\n >\n <span *ngIf=\"pageNumber == 0\" class=\"page-seperator\">\n <div style=\"display: flex\">\n <span class=\"dot\" style=\"margin-right: 4px\"></span>\n <span class=\"dot\" style=\"margin-right: 4px\"></span>\n <span class=\"dot\"></span>\n </div>\n </span>\n </div>\n <span (click)=\"updateSelectedPage(config.paginationConfig?.selectedPage + 1)\" class=\"page\">\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 7 10\" width=\"7\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M6.1426 5.56295C6.14421 5.56139 6.14581 5.55982 6.14741 5.55824C6.30405 5.40408 6.38236 5.20203 6.38236 4.99998C6.38236 4.79793 6.30405 4.59588 6.14741 4.44172C6.14581 4.44014 6.14421 4.43858 6.1426 4.43702L1.86934 0.231231C1.55608 -0.0770771 1.0482 -0.0770771 0.734942 0.231231C0.421688 0.53954 0.421688 1.03941 0.734942 1.34772L4.4458 4.99998L0.734941 8.65225C0.421686 8.96055 0.421686 9.46042 0.734941 9.76873C1.0482 10.077 1.55608 10.077 1.86934 9.76873L6.1426 5.56295Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n </div>\n </div>\n</div>\n", styles: ["#main-container{font-family:Lato,sans-serif;position:relative}.no-scrollbar::-webkit-scrollbar{width:0}.scrollbar::-webkit-scrollbar{width:8px;height:8px;border-radius:15px}.scrollbar::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:15px}#table-container{height:inherit;overflow-y:auto}.scroll-horizontally{height:inherit;width:-moz-fit-content;width:fit-content;overflow-y:unset!important;overflow-x:visible}#col-headers-container{display:flex;align-items:center;position:sticky;background-color:#fff;width:100%;z-index:1;min-height:44px;border-bottom:1px solid #e0e0e0;top:0;left:0;right:0}.col-header{padding:0 16px;display:flex;align-items:center;height:100%}.col-header-text{font-style:normal;font-weight:700;font-size:14px;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.filter-icon{margin-left:8px;padding:0 8px;position:relative;cursor:pointer}#filter-active{height:8px;width:8px;background:#16cbbc;border-radius:50%;position:absolute;top:4px;right:4px}.sub-row{height:auto;border-bottom:none}.loader ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#0937b2}.t-row{display:flex;min-height:44px;background-color:#fff;width:100%;border-bottom:1px solid #e0e0e0}.t-row:hover{background-color:#f1fdf8}.t-col-container{padding:0 16px}.t-row-hover:hover{background-color:#0000}.t-col-container-hover:hover{background-color:#e6ebf7}.t-col-container-hover:first-child{border-left:1px solid #e0e0e0}.t-col-container-hover{border-right:1px solid #e0e0e0}.t-col{display:flex;align-items:center;height:100%}.t-col-text{font-style:normal;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}#pagination-container{display:flex;justify-content:flex-end;align-items:center;height:56px}#pagination-text{font-style:normal;font-weight:400;font-size:12px;line-height:18px;letter-spacing:.4px;color:#6a737d;margin:0 96px 0 0}#pages-container{display:flex;margin-right:32px}.page{display:flex;justify-content:center;align-items:center;border:1px solid #6a737d;box-sizing:border-box;border-radius:4px;width:32px;height:32px;font-size:14px;line-height:20px;letter-spacing:.2px;color:#6a737d;margin-right:8px;cursor:pointer}.page-seperator{display:flex;justify-content:center;align-items:center;width:32px;height:32px;margin-right:8px}.dot{height:3px;width:3px;border-radius:50%;background:#6a737d}.page-active{color:#0937b2;border:1px solid #0937b2}\n"] }]
179
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { filtersUpdated: [{
180
+ type: Output
181
+ }], filter: [{
182
+ type: ViewChild,
183
+ args: ["filter"]
184
+ }], colHeaders: [{
185
+ type: ViewChildren,
186
+ args: ["colHeaderRef"]
187
+ }], pageSelected: [{
188
+ type: Output
189
+ }], config: [{
190
+ type: Input,
191
+ args: ["tableConfig"]
192
+ }], subTableconfig: [{
193
+ type: Input
194
+ }], tableDataLoading: [{
195
+ type: Input
196
+ }], expandedIndex: [{
197
+ type: Input
198
+ }], tableData: [{
199
+ type: Input
200
+ }], subTableData: [{
201
+ type: Input
202
+ }], subTableDataLoading: [{
203
+ type: Input
204
+ }], table: [{
205
+ type: ViewChild,
206
+ args: ["table"]
207
+ }] } });
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFHTixTQUFTLEVBQ1QsWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFRdkIsTUFBTSxPQUFPLGNBQWM7SUE0QnpCLFlBQW9CLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7UUEzQnZDLDJCQUEyQjtRQUMzQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDeEIsZUFBVSxHQUFrQixFQUFFLENBQUM7UUFDL0IsMEJBQXFCLEdBQVEsRUFBRSxDQUFDO1FBQ2hDLG1CQUFjLEdBQThELEVBQUUsQ0FBQztRQUNyRSxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUV2QyxDQUFDO1FBS0wsK0JBQStCO1FBQy9CLFVBQUssR0FBa0IsRUFBRSxDQUFDO1FBRWhCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQU0zQyxjQUFTLEdBQXNCLEVBQUUsQ0FBQztRQUNsQyxpQkFBWSxHQUFzQixFQUFFLENBQUM7SUFJSCxDQUFDO0lBRTVDLFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRTtZQUNoQyxJQUFJLENBQUMsb0JB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QUFFLFlBQVksRUFBRTtZQUMxRixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQztTQUM1RDs7WUFBTSxPQUFPLG1CQUFtQixDQUFDO0lBQ3BDLENBQUM7OzRHQXZLVSxjQUFjO2dHQUFkLGNBQWMsK29CQ3JCM0IsZ3FRQXFMQTs0RkRoS2EsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxXQUFXO2dHQVdYLGNBQWM7c0JBQXZCLE1BQU07Z0JBSWMsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRO2dCQUNXLFVBQVU7c0JBQXZDLFlBQVk7dUJBQUMsY0FBYztnQkFLbEIsWUFBWTtzQkFBckIsTUFBTTtnQkFFZSxNQUFNO3NCQUEzQixLQUFLO3VCQUFDLGFBQWE7Z0JBQ1gsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNjLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGaWx0ZXIsIFRhYmxlRmlsdGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vZmlsdGVyL2ZpbHRlci5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1pcy10YWJsZVwiLFxuICB0ZW1wbGF0ZVVybDogXCJ0YWJsZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcInRhYmxlLmNvbXBvbmVudC5jc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gIC8vIEZpbHRlciByZWxhdGVkIHZhcmlhYmxlc1xuICBzaG93RmlsdGVyOiBib29sZWFuID0gZmFsc2U7XG4gIGZpbHRlck5hbWU6IHN0cmluZyA9IFwiXCI7XG4gIGZpbHRlckRhdGE6IEFycmF5PEZpbHRlcj4gPSBbXTtcbiAgZmlsdGVyQ29udGFpbmVyU3R5bGVzOiBhbnkgPSB7fTtcbiAgYXBwbGllZEZpbHRlcnM6IHsgW2tleTogc3RyaW5nXTogQXJyYXk8eyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfT4gfSA9IHt9O1xuICBAT3V0cHV0KCkgZmlsdGVyc1VwZGF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICBba2V5OiBzdHJpbmddOiBBcnJheTx7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PjtcbiAgfT4oKTtcblxuICBAVmlld0NoaWxkKFwiZmlsdGVyXCIpIGZpbHRlcjogVGFibGVGaWx0ZXJDb21wb25lbnQgfCBhbnk7XG4gIEBWaWV3Q2hpbGRyZW4oXCJjb2xIZWFkZXJSZWZcIikgY29sSGVhZGVyczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+IHwgYW55O1xuXG4gIC8vIFBhZ2luYXRpb24gcmVsYXRlZCB2YXJpYWJsZXNcbiAgcGFnZXM6IEFycmF5PG51bWJlcj4gPSBbXTtcbiAgdGFibGVMZW5ndGg6IG51bWJlcjtcbiAgQE91dHB1dCgpIHBhZ2VTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBJbnB1dChcInRhYmxlQ29uZmlnXCIpIGNvbmZpZzogVGFibGVDb25maWcgfCBhbnk7XG4gIEBJbnB1dCgpIHN1YlRhYmxlY29uZmlnOiBUYWJsZUNvbmZpZyB8IGFueTtcbiAgQElucHV0KCkgdGFibGVEYXRhTG9hZGluZzogYm9vbGVhbiB8IGFueTtcbiAgQElucHV0KCkgZXhwYW5kZWRJbmRleDogbnVtYmVyIHwgYW55O1xuICBASW5wdXQoKSB0YWJsZURhdGE6IEFycmF5PEFycmF5PGFueT4+ID0gW107XG4gIEBJbnB1dCgpIHN1YlRhYmxlRGF0YTogQXJyYXk8QXJyYXk8YW55Pj4gPSBbXTtcbiAgQElucHV0KCkgc3ViVGFibGVEYXRhTG9hZGluZzogYm9vbGVhbiB8IGFueTtcbiAgQFZpZXdDaGlsZChcInRhYmxlXCIpIHRhYmxlOiBFbGVtZW50UmVmIHwgYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50YWJsZUxlbmd0aCA9IFtdLmNvbmNhdCguLi50aGlzLnRhYmxlRGF0YSkubGVuZ3RoO1xuICAgIHRoaXMuaW5pdGlhbGl6ZUZpbHRlcnMoKTtcbiAgICBpZiAodGhpcy5jb25maWcucGFnaW5hdGlvbkNvbmZpZykge1xuICAgICAgdGhpcy5pbml0aWFsaXplUGFnaW5hdGlvbigpO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb25maWcuY2FuU2Nyb2xsSG9yaXpvbnRhbGx5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY29uZmlnLmNhblNjcm9sbEhvcml6b250YWxseSA9IGZhbHNlO1xuICAgIH1cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgZXZlbnQgPT4ge1xuICAgICAgaWYgKHRoaXMuZmlsdGVyKSB7XG4gICAgICAgIGxldCBpc0NoZWNrQm94Q2xpY2tlZCA9IHRydWU7XG4gICAgICAgIGxldCB0YXJnZXRFbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxTcGFuRWxlbWVudDtcbiAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQuY2xhc3NOYW1lID09PSBcImNoZWNrbWFya1wiKSB7XG4gICAgICAgICAgaXNDaGVja0JveENsaWNrZWQgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuc2hvd0ZpbHRlciA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGlzQ2xpY2tJbnNpZGVFbGVtZW50ID0gdGhpcy5maWx0ZXIuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KTtcbiAgICAgICAgaWYgKCFpc0NsaWNrSW5zaWRlRWxlbWVudCAmJiAhaXNDaGVja0JveENsaWNrZWQpIHtcbiAgICAgICAgICB0aGlzLnRvZ2dsZUZpbHRlcih0aGlzLmZpbHRlck5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmNvbmZpZy5wYWdpbmF0aW9uQ29uZmlnKSB7XG4gICAgICBsZXQgaGVpZ2h0ID0gdGhpcy50YWJsZS5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50YWJsZS5uYXRpdmVFbGVtZW50LCBcImhlaWdodFwiLCBoZWlnaHQgLSA1NiArIFwicHhcIik7XG4gICAgfVxuICB9XG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMudGFibGVMZW5ndGggPSBbXS5jb25jYXQoLi4udGhpcy50YWJsZURhdGEpLmxlbmd0aDtcbiAgfVxuXG4gIC8vIEZpbHRlciByZWxhdGVkIGZ1bmN0aW9uc1xuICBpbml0aWFsaXplRmlsdGVycygpIHtcbiAgICBmb3IgKGxldCBjb2xIZWFkZXIgb2YgdGhpcy5jb25maWc/LmNvbEhlYWRlckNvbmZpZykge1xuICAgICAgaWYgKGNvbEhlYWRlci5maWx0ZXJzKSB7XG4gICAgICAgIGxldCBmaWx0ZXJzID0gW107XG4gICAgICAgIGZvciAobGV0IGZpbHRlciBvZiBjb2xIZWFkZXIuZmlsdGVycykge1xuICAgICAgICAgIGlmIChmaWx0ZXIuY2hlY2tlZCkge1xuICAgICAgICAgICAgZmlsdGVycy5wdXNoKHtcbiAgICAgICAgICAgICAgbmFtZTogZmlsdGVyLm5hbWUsXG4gICAgICAgICAgICAgIHZhbHVlOiBmaWx0ZXIudmFsdWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZmlsdGVycy5sZW5ndGggPiAwKSB0aGlzLmFwcGxpZWRGaWx0ZXJzW2NvbEhlYWRlci5kYXRhXSA9IGZpbHRlcnM7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHRvZ2dsZUZpbHRlcihmaWx0ZXJOYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuc2hvd0ZpbHRlcikge1xuICAgICAgdGhpcy5maWx0ZXJOYW1lID0gZmlsdGVyTmFtZTtcbiAgICAgIHRoaXMuc2hvd0ZpbHRlciA9IHRydWU7XG5cbiAgICAgIGxldCBvZmZTZXQgPSAwO1xuICAgICAgbGV0IGNvbEhlYWRlcnNSZXZlcnNlZCA9IHRoaXMuY29sSGVhZGVycy50b0FycmF5KCkucmV2ZXJzZSgpO1xuXG4gICAgICBmb3IgKGxldCBoZWFkZXIgb2YgY29sSGVhZGVyc1JldmVyc2VkKSB7XG4gICAgICAgIGlmIChoZWFkZXIubmF0aXZlRWxlbWVudC5pbm5lclRleHQgPT09IGZpbHRlck5hbWUpIGJyZWFrO1xuICAgICAgICBvZmZTZXQgKz0gaGVhZGVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgICB9XG4gICAgICB0aGlzLmZpbHRlckNvbnRhaW5lclN0eWxlcyA9IHtcbiAgICAgICAgdG9wOiBcIjQ0cHhcIixcbiAgICAgICAgcmlnaHQ6IG9mZlNldCA+IDAgPyBvZmZTZXQgLSAxMTYgKyBcInB4XCIgOiBcIjEycHhcIlxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0ZXJOYW1lID0gXCJcIjtcbiAgICAgIHRoaXMuZmlsdGVyRGF0YSA9IFtdO1xuICAgICAgdGhpcy5zaG93RmlsdGVyID0gZmFsc2U7XG4gICAgfVxuICB9XG4gIHVwZGF0ZUFwcGxpZWRGaWx0ZXJzKGFwcGxpZWRGaWx0ZXJzOiBBcnJheTx7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9Pikge1xuICAgIGlmIChhcHBsaWVkRmlsdGVycy5sZW5ndGggPT0gMCkge1xuICAgICAgZGVsZXRlIHRoaXMuYXBwbGllZEZpbHRlcnNbdGhpcy5maWx0ZXJOYW1lXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hcHBsaWVkRmlsdGVyc1t0aGlzLmZpbHRlck5hbWVdID0gYXBwbGllZEZpbHRlcnM7XG4gICAgfVxuICAgIHRoaXMuZmlsdGVyc1VwZGF0ZWQuZW1pdCh7IC4uLnRoaXMuYXBwbGllZEZpbHRlcnMgfSk7XG4gICAgdGhpcy50b2dnbGVGaWx0ZXIodGhpcy5maWx0ZXJOYW1lKTtcbiAgfVxuXG4gIC8vIFBhZ2luYXRpb24gcmVsYXRlZCBmdW5jdGlvbnNcbiAgaW5pdGlhbGl6ZVBhZ2luYXRpb24oKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnLnBhZ2luYXRpb25Db25maWcpIHtcbiAgICAgIGxldCBsZW4gPSB0aGlzLmNvbmZpZy5wYWdpbmF0aW9uQ29uZmlnLm5vT2ZQYWdlcztcbiAgICAgIGlmIChsZW4gPD0gNykge1xuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSBsZW47IGkrKykge1xuICAgICAgICAgIHRoaXMucGFnZXMucHVzaChpKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5wYWdlcyA9IFsxLCAyLCAzLCA0LCAwLCBsZW5dO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICB1cGRhdGVTZWxlY3RlZFBhZ2UocGFnZU51bWJlcjogbnVtYmVyKSB7XG4gICAgaWYgKHBhZ2VOdW1iZXIgPCAxIHx8IHBhZ2VOdW1iZXIgPiB0aGlzLmNvbmZpZy5wYWdpbmF0aW9uQ29uZmlnLm5vT2ZQYWdlcykgcmV0dXJuO1xuICAgIHRoaXMuY29uZmlnLnBhZ2luYXRpb25Db25maWcuc2VsZWN0ZWRQYWdlID0gcGFnZU51bWJlcjtcbiAgICBsZXQgbGVuID0gdGhpcy5jb25maWcucGFnaW5hdGlvbkNvbmZpZy5ub09mUGFnZXM7XG4gICAgaWYgKGxlbiA+IDcpIHtcbiAgICAgIGlmIChwYWdlTnVtYmVyIC0gMiA8PSAxKSB7XG4gICAgICAgIHRoaXMucGFnZXMgPSBbMSwgMiwgMywgNCwgMCwgbGVuXTtcbiAgICAgIH0gZWxzZSBpZiAocGFnZU51bWJlciAtIDIgPiAxICYmIHBhZ2VOdW1iZXIgKyAyIDwgbGVuKSB7XG4gICAgICAgIHRoaXMucGFnZXMgPSBbMSwgMCwgcGFnZU51bWJlciAtIDEsIHBhZ2VOdW1iZXIsIHBhZ2VOdW1iZXIgKyAxLCAwLCBsZW5dO1xuICAgICAgfSBlbHNlIGlmIChwYWdlTnVtYmVyICsgMiA+PSBsZW4pIHtcbiAgICAgICAgdGhpcy5wYWdlcyA9IFsxLCAwLCBsZW4gLSAzLCBsZW4gLSAyLCBsZW4gLSAxLCBsZW5dO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnBhZ2VTZWxlY3RlZC5lbWl0KHRoaXMuY29uZmlnLnBhZ2luYXRpb25Db25maWc/LnNlbGVjdGVkUGFnZSk7XG4gIH1cblxuICAvLyBNYWluIGNvbnRhaW5lciByZWxhdGVkIGZ1bmN0aW9uc1xuICBnZXRDb250YWluZXJIZWlnaHQoKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnPy5oZWlnaHQpIHJldHVybiB0aGlzLmNvbmZpZy5oZWlnaHQ7XG4gICAgZWxzZSByZXR1cm4gXCJcIjtcbiAgfVxuICBnZXRDb250YWluZXJXaWR0aCgpIHtcbiAgICBpZiAodGhpcy5jb25maWc/LndpZHRoKSByZXR1cm4gdGhpcy5jb25maWcud2lkdGg7XG4gICAgZWxzZSByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIC8vIENvbHVtbiBIZWFkZXJzIHJlbGF0ZWQgZnVuY3Rpb25zXG4gIGdldENvbEhlYWRlcnNSb3dIZWlnaHQoKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnLmNvbEhlYWRlcnNSb3dDb25maWcgJiYgdGhpcy5jb25maWcuY29sSGVhZGVyc1Jvd0NvbmZpZy5oZWlnaHQpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5jb2xIZWFkZXJzUm93Q29uZmlnLmhlaWdodDtcbiAgICB9IGVsc2UgcmV0dXJuIFwiNDRweFwiO1xuICB9XG4gIGdldENvbEhlYWRlcnNSb3dCb3JkZXJUb3AoKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnLmNvbEhlYWRlcnNSb3dDb25maWcgJiYgdGhpcy5jb25maWcuY29sSGVhZGVyc1Jvd0NvbmZpZy5zdHlsZT8uYm9yZGVyVG9wKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb25maWcuY29sSGVhZGVyc1Jvd0NvbmZpZy5zdHlsZT8uYm9yZGVyVG9wO1xuICAgIH0gZWxzZSByZXR1cm4gXCJcIjtcbiAgfVxuICBnZXRDb2xIZWFkZXJzUm93Qm9yZGVyQm90dG9tKCkge1xuICAgIGlmICh0aGlzLmNvbmZpZy5jb2xIZWFkZXJzUm93Q29uZmlnICYmIHRoaXMuY29uZmlnLmNvbEhlYWRlcnNSb3dDb25maWcuc3R5bGU/LmJvcmRlckJvdHRvbSkge1xuICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmNvbEhlYWRlcnNSb3dDb25maWcuc3R5bGU/LmJvcmRlckJvdHRvbTtcbiAgICB9IGVsc2UgcmV0dXJuIFwiMXB4IHNvbGlkICNFMEUwRTBcIjtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29uZmlnIHtcbiAgaGVpZ2h0OiBzdHJpbmcgfCBcIjEwMCVcIjtcbiAgd2lkdGg6IHN0cmluZyB8IFwiMTAwJVwiO1xuICBwYWdpbmF0aW9uQ29uZmlnPzogUGFnaW5hdGlvbkNvbmZpZyB8IHVuZGVmaW5lZCB8IG51bGw7XG4gIGNvbEhlYWRlcnNSb3dDb25maWc6IFJvd0NvbmZpZyB8IHVuZGVmaW5lZCB8IG51bGw7XG4gIHJvd0NvbmZpZzogUm93Q29uZmlnIHwgdW5kZWZpbmVkIHwgbnVsbDtcbiAgY29sSGVhZGVyQ29uZmlnOiBBcnJheTxDb2xIZWFkZXJDb25maWc+O1xuICBjb2xDb25maWc6IEFycmF5PENvbENvbmZpZz47XG4gIGNhbkV4cGFuZD86IGJvb2xlYW47XG4gIGNhblNjcm9sbEhvcml6b250YWxseT86IGJvb2xlYW47XG4gIGNlbGxIb3Zlcj86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRpb25Db25maWcge1xuICBub09mUGFnZXM6IG51bWJlcjtcbiAgcm93c1BlclBhZ2U6IG51bWJlcjtcbiAgdG90YWxOb09mUm93czogbnVtYmVyO1xuICBzZWxlY3RlZFBhZ2U/OiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIFJvd0NvbmZpZyB7XG4gIGhlaWdodD86IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGw7XG4gIHN0eWxlPzoge307XG59XG5leHBvcnQgaW50ZXJmYWNlIENvbEhlYWRlckNvbmZpZyB7XG4gIHR5cGU6IFwidGV4dFwiIHwgXCJudW1iZXJcIiB8IFwiY3VzdG9tXCI7XG4gIGRhdGE6IGFueTtcbiAgY29tcG9uZW50UmVmPzogYW55O1xuICBmaWx0ZXJzPzogQXJyYXk8RmlsdGVyPiB8IG51bGw7XG4gIHN0eWxlPzoge307XG4gIGFjdGlvbj86IGFueTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29sQ29uZmlnIHtcbiAgdHlwZTogXCJ0ZXh0XCIgfCBcIm51bWJlclwiIHwgXCJjdXN0b21cIjtcbiAgY29tcG9uZW50UmVmPzogYW55O1xuICBzdHlsZT86IHt9O1xuICBhY3Rpb24/OiBhbnk7XG59XG4iLCI8ZGl2XG4gIFtuZ1N0eWxlXT1cIntcbiAgICBoZWlnaHQ6IGdldENvbnRhaW5lckhlaWdodCgpLFxuICAgIHdpZHRoOiBnZXRDb250YWluZXJXaWR0aCgpLFxuICAgICdvdmVyZmxvdy14JzogY29uZmlnLmNhblNjcm9sbEhvcml6b250YWxseSA/ICdhdXRvJyA6ICd1bnNldCdcbiAgfVwiXG4gIGlkPVwibWFpbi1jb250YWluZXJcIlxuPlxuICA8bWlzLXRhYmxlLWZpbHRlclxuICAgICNmaWx0ZXJcbiAgICAoZmlsdGVyc0FwcGxpZWQpPVwidXBkYXRlQXBwbGllZEZpbHRlcnMoJGV2ZW50KVwiXG4gICAgKm5nSWY9XCJzaG93RmlsdGVyXCJcbiAgICBbY29udGFpbmVyU3R5bGVzXT1cImZpbHRlckNvbnRhaW5lclN0eWxlc1wiXG4gICAgW2ZpbHRlcnNEYXRhXT1cImZpbHRlckRhdGFcIlxuICA+PC9taXMtdGFibGUtZmlsdGVyPlxuICA8ZGl2XG4gICAgI3RhYmxlXG4gICAgaWQ9XCJ0YWJsZS1jb250YWluZXJcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ25vLXNjcm9sbGJhcic6IGV4cGFuZGVkSW5kZXggPCAwLCBzY3JvbGxiYXI6ICEoZXhwYW5kZWRJbmRleCA8IDApLCAnc2Nyb2xsLWhvcml6b250YWxseSc6IGNvbmZpZy5jYW5TY3JvbGxIb3Jpem9udGFsbHkgfVwiXG4gID5cbiAgICA8ZGl2XG4gICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICdtaW4taGVpZ2h0JzogZ2V0Q29sSGVhZGVyc1Jvd0hlaWdodCgpLFxuICAgICAgICAnYm9yZGVyLXRvcCc6IGdldENvbEhlYWRlcnNSb3dCb3JkZXJUb3AoKSxcbiAgICAgICAgJ2JvcmRlci1ib3R0b20nOiBnZXRDb2xIZWFkZXJzUm93Qm9yZGVyQm90dG9tKClcbiAgICAgIH1cIlxuICAgICAgaWQ9XCJjb2wtaGVhZGVycy1jb250YWluZXJcIlxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgI2NvbEhlYWRlclJlZlxuICAgICAgICAoY2xpY2spPVwiY29sSGVhZGVyPy5hY3Rpb24gPyBjb2xIZWFkZXI/LmFjdGlvbihjb2xIZWFkZXIpIDogbnVsbFwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBjb2xIZWFkZXIgb2YgY29uZmlnPy5jb2xIZWFkZXJDb25maWdcIlxuICAgICAgICBjbGFzcz1cImNvbC1oZWFkZXJcIlxuICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgd2lkdGg6IGNvbEhlYWRlcj8uc3R5bGU/LndpZHRoIHx8ICcnLFxuICAgICAgICAgIGN1cnNvcjogY29sSGVhZGVyLmFjdGlvbiA/ICdwb2ludGVyJyA6ICdkZWZhdWx0JyxcbiAgICAgICAgICAnanVzdGlmeS1jb250ZW50JzogY29sSGVhZGVyPy5zdHlsZT8uanVzdGlmeUNvbnRlbnRcbiAgICAgICAgICAgID8gY29sSGVhZGVyPy5zdHlsZT8uanVzdGlmeUNvbnRlbnRcbiAgICAgICAgICAgIDogY29sSGVhZGVyLnR5cGUgPT09ICdudW1iZXInXG4gICAgICAgICAgICA/ICdmbGV4LWVuZCdcbiAgICAgICAgICAgIDogJ3NwYWNlLWJldHdlZW4nXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICA8cCAqbmdJZj1cImNvbEhlYWRlcj8udHlwZSAhPT0gJ2N1c3RvbSdcIiBjbGFzcz1cImNvbC1oZWFkZXItdGV4dFwiPlxuICAgICAgICAgIHt7IGNvbEhlYWRlcj8uZGF0YSB8fCBcIiBcIiB9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgKGNsaWNrKT1cImZpbHRlckRhdGEgPSBjb2xIZWFkZXIuZmlsdGVyczsgdG9nZ2xlRmlsdGVyKGNvbEhlYWRlci5kYXRhKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAqbmdJZj1cImNvbEhlYWRlcj8udHlwZSAhPT0gJ2N1c3RvbScgJiYgY29sSGVhZGVyPy5maWx0ZXJzICYmIGNvbEhlYWRlcj8uZmlsdGVycz8ubGVuZ3RoID4gMFwiXG4gICAgICAgICAgY2xhc3M9XCJmaWx0ZXItaWNvblwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImFwcGxpZWRGaWx0ZXJzW2NvbEhlYWRlci5kYXRhXT8ubGVuZ3RoID4gMFwiIGlkPVwiZmlsdGVyLWFjdGl2ZVwiPjwvc3Bhbj5cbiAgICAgICAgICA8c3ZnIGZpbGw9XCJub25lXCIgaGVpZ2h0PVwiMTBcIiB2aWV3Qm94PVwiMCAwIDEzIDEwXCIgd2lkdGg9XCIxM1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICBkPVwiTTQuOTc1NDYgMTBINy42NDIxM1Y4SDQuOTc1NDZWMTBaTTAuMzA4NDcyIDBWMkgxMi4zMDg1VjBIMC4zMDg0NzJaTTIuMzA4NDcgNkgxMC4zMDg1VjRIMi4zMDg0N1Y2WlwiXG4gICAgICAgICAgICAgIGZpbGw9XCIjMTgxRjMzXCJcbiAgICAgICAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICpuZ0lmPVwiY29sSGVhZGVyPy50eXBlID09PSAnY3VzdG9tJ1wiXG4gICAgICAgICAgW2N1c3RvbUNvbXBvbmVudF09XCJjb2xIZWFkZXI/LmNvbXBvbmVudFJlZlwiXG4gICAgICAgICAgW2RhdGFdPVwiY29sSGVhZGVyLmRhdGFcIlxuICAgICAgICAgIGN1c3RvbVRhYmxlQ2VsbFxuICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgaWQ9XCJkYXRhLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJvdy13cmFwcGVyXCIgKm5nRm9yPVwibGV0IHJvdyBvZiB0YWJsZURhdGE7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwidC1yb3dcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3Qtcm93LWhvdmVyJzogY29uZmlnLmNlbGxIb3ZlciB9XCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJ7ICdtaW4taGVpZ2h0JzogY29uZmlnPy5yb3dDb25maWc/LmhlaWdodCA/IGNvbmZpZy5yb3dDb25maWcuaGVpZ2h0IDogJzQ0cHgnIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKGNsaWNrKT1cImNvbmZpZz8uY29sQ29uZmlnW2ldPy5hY3Rpb24gPyBjb25maWc/LmNvbENvbmZpZ1tpXT8uYWN0aW9uKGNvbCkgOiBudWxsXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2wgb2Ygcm93OyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgd2lkdGg6IGNvbmZpZz8uY29sQ29uZmlnW2ldPy5zdHlsZT8ud2lkdGggfHwgY29uZmlnPy5jb2xIZWFkZXJDb25maWdbaV0/LnN0eWxlPy53aWR0aCB8fCAnJ1xuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtY29sLWNvbnRhaW5lclwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICd0LWNvbC1jb250YWluZXItaG92ZXInOiBjb25maWcuY2VsbEhvdmVyIH1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNvbFwiXG4gICAgICAgICAgICAgIFtzdHlsZV09XCJjb25maWcuY29sQ29uZmlnW2ldPy5zdHlsZVwiXG4gICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICAgIGN1cnNvcjogY29uZmlnLmNvbENvbmZpZ1tpXT8uYWN0aW9uID8gJ3BvaW50ZXInIDogJ2RlZmF1bHQnLFxuICAgICAgICAgICAgICAgICdqdXN0aWZ5LWNvbnRlbnQnOiBjb25maWcuY29sQ29uZmlnW2ldPy5zdHlsZT8uanVzdGlmeUNvbnRlbnRcbiAgICAgICAgICAgICAgICAgID8gY29uZmlnLmNvbENvbmZpZ1tpXT8uc3R5bGU/Lmp1c3RpZnlDb250ZW50XG4gICAgICAgICAgICAgICAgICA6IGNvbmZpZy5jb2xDb25maWdbaV0/LnR5cGUgPT09ICdudW1iZXInXG4gICAgICAgICAgICAgICAgICA/ICdmbGV4LWVuZCdcbiAgICAgICAgICAgICAgICAgIDogJ3NwYWNlLWJldHdlZW4nXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICpuZ0lmPVwiY29uZmlnLmNvbENvbmZpZ1tpXT8udHlwZSAhPT0gJ2N1c3RvbSdcIlxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb25maWc/LmNvbENvbmZpZ1tpXT8uc3R5bGU/LmNvbG9yID8gY29uZmlnPy5jb2xDb25maWdbaV0/LnN0eWxlPy5jb2xvciA6ICcnXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNvbC10ZXh0XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGNvbCB9fVxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICpuZ0lmPVwiY29uZmlnLmNvbENvbmZpZ1tpXT8udHlwZSA9PT0gJ2N1c3RvbSdcIlxuICAgICAgICAgICAgICAgIFtjdXN0b21Db21wb25lbnRdPVwiY29uZmlnLmNvbENvbmZpZ1tpXS5jb21wb25lbnRSZWZcIlxuICAgICAgICAgICAgICAgIFtkYXRhXT1cImNvbFwiXG4gICAgICAgICAgICAgICAgY3VzdG9tVGFibGVDZWxsXG4gICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiY29uZmlnPy5jYW5FeHBhbmQgJiYgZXhwYW5kZWRJbmRleCA9PT0gaVwiIGNsYXNzPVwic3ViLXJvd1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdWJUYWJsZURhdGFMb2FkaW5nXCI+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHBhZGRpbmc6IDE2cHhcIj5Mb2FkaW5nLi4uPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzdWJUYWJsZURhdGFMb2FkaW5nICYmIHN1YlRhYmxlRGF0YS5sZW5ndGggPT09IDBcIj5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgcGFkZGluZzogMTZweFwiPk5vIERhdGEgQXZhaWxhYmxlLi4uPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzdWJUYWJsZURhdGFMb2FkaW5nICYmIHN1YlRhYmxlRGF0YS5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICA8c3ViLXRhYmxlIFtjb25maWddPVwic3ViVGFibGVjb25maWdcIiBbdGFibGVEYXRhXT1cInN1YlRhYmxlRGF0YVwiPjwvc3ViLXRhYmxlPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiY29uZmlnPy5wYWdpbmF0aW9uQ29uZmlnICYmICh0YWJsZUxlbmd0aCA+PSBjb25maWcucGFnaW5hdGlvbkNvbmZpZy5yb3dzUGVyUGFnZSB8fCBjb25maWcucGFnaW5hdGlvbkNvbmZpZz8uc2VsZWN0ZWRQYWdlICE9PSAxKVwiXG4gICAgaWQ9XCJwYWdpbmF0aW9uLWNvbnRhaW5lclwiXG4gID5cbiAgICA8cCBpZD1cInBhZ2luYXRpb24tdGV4dFwiPlxuICAgICAgU2hvd2luZ1xuICAgICAge3sgKGNvbmZpZy5wYWdpbmF0aW9uQ29uZmlnPy5zZWxlY3RlZFBhZ2UgLSAxKSAqIGNvbmZpZy5wYWdpbmF0aW9uQ29uZmlnLnJvd3NQZXJQYWdlICsgMSB9fS17e1xuICAgICAgICAoY29uZmlnLnBhZ2luYXRpb25Db25maWc/LnNlbGVjdGVkUGFnZSAtIDEpICogY29uZmlnLnBhZ2luYXRpb25Db25maWcucm93c1BlclBhZ2UgKyB0YWJsZUxlbmd0aFxuICAgICAgfX1cbiAgICAgIG9mIHt7IGNvbmZpZy5wYWdpbmF0aW9uQ29uZmlnLnRvdGFsTm9PZlJvd3MgfX0gaXRlbXNcbiAgICA8L3A+XG4gICAgPGRpdiBpZD1cInBhZ2VzLWNvbnRhaW5lclwiPlxuICAgICAgPHNwYW4gKGNsaWNrKT1cInVwZGF0ZVNlbGVjdGVkUGFnZShjb25maWcucGFnaW5hdGlvbkNvbmZpZz8uc2VsZWN0ZWRQYWdlIC0gMSlcIiBjbGFzcz1cInBhZ2VcIj5cbiAgICAgICAgPHN2ZyBmaWxsPVwibm9uZVwiIGhlaWdodD1cIjEwXCIgdmlld0JveD1cIjAgMCA3IDEwXCIgd2lkdGg9XCI3XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgIGQ9XCJNMC44NTc0MDUgNS41NjI5NUMwLjg1NTc5NCA1LjU2MTM5IDAuODU0MTg4IDUuNTU5ODIgMC44NTI1ODggNS41NTgyNEMwLjY5NTk1NSA1LjQwNDA4IDAuNjE3NjQxIDUuMjAyMDMgMC42MTc2NDcgNC45OTk5OEMwLjYxNzY0MSA0Ljc5NzkzIDAuNjk1OTU1IDQuNTk1ODggMC44NTI1ODggNC40NDE3MkMwLjg1NDE4OCA0LjQ0MDE0IDAuODU1Nzk0IDQuNDM4NTggMC44NTc0MDQgNC40MzcwMkw1LjEzMDY2IDAuMjMxMjMxQzUuNDQzOTIgLTAuMDc3MDc3MSA1Ljk1MTggLTAuMDc3MDc3MSA2LjI2NTA2IDAuMjMxMjMxQzYuNTc4MzEgMC41Mzk1NCA2LjU3ODMxIDEuMDM5NDEgNi4yNjUwNiAxLjM0NzcyTDIuNTU0MiA0Ljk5OTk4TDYuMjY1MDYgOC42NTIyNUM2LjU3ODMxIDguOTYwNTUgNi41NzgzMSA5LjQ2MDQyIDYuMjY1MDYgOS43Njg3M0M1Ljk1MTggMTAuMDc3IDUuNDQzOTIgMTAuMDc3IDUuMTMwNjYgOS43Njg3M0wwLjg1NzQwNSA1LjU2Mjk1WlwiXG4gICAgICAgICAgICBmaWxsPVwiIzE4MUYzM1wiXG4gICAgICAgICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHBhZ2VOdW1iZXIgb2YgcGFnZXNcIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAoY2xpY2spPVwidXBkYXRlU2VsZWN0ZWRQYWdlKHBhZ2VOdW1iZXIpXCJcbiAgICAgICAgICAqbmdJZj1cInBhZ2VOdW1iZXIgIT0gMFwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyAncGFnZS1hY3RpdmUnOiBwYWdlTnVtYmVyID09IGNvbmZpZy5wYWdpbmF0aW9uQ29uZmlnPy5zZWxlY3RlZFBhZ2UgfVwiXG4gICAgICAgICAgY2xhc3M9XCJwYWdlXCJcbiAgICAgICAgICA+e3sgcGFnZU51bWJlciB9fTwvc3BhblxuICAgICAgICA+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwicGFnZU51bWJlciA9PSAwXCIgY2xhc3M9XCJwYWdlLXNlcGVyYXRvclwiPlxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRvdFwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiA0cHhcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRvdFwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiA0cHhcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRvdFwiPjwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8c3BhbiAoY2xpY2spPVwidXBkYXRlU2VsZWN0ZWRQYWdlKGNvbmZpZy5wYWdpbmF0aW9uQ29uZmlnPy5zZWxlY3RlZFBhZ2UgKyAxKVwiIGNsYXNzPVwicGFnZVwiPlxuICAgICAgICA8c3ZnIGZpbGw9XCJub25lXCIgaGVpZ2h0PVwiMTBcIiB2aWV3Qm94PVwiMCAwIDcgMTBcIiB3aWR0aD1cIjdcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgZD1cIk02LjE0MjYgNS41NjI5NUM2LjE0NDIxIDUuNTYxMzkgNi4xNDU4MSA1LjU1OTgyIDYuMTQ3NDEgNS41NTgyNEM2LjMwNDA1IDUuNDA0MDggNi4zODIzNiA1LjIwMjAzIDYuMzgyMzYgNC45OTk5OEM2LjM4MjM2IDQuNzk3OTMgNi4zMDQwNSA0LjU5NTg4IDYuMTQ3NDEgNC40NDE3MkM2LjE0NTgxIDQuNDQwMTQgNi4xNDQyMSA0LjQzODU4IDYuMTQyNiA0LjQzNzAyTDEuODY5MzQgMC4yMzEyMzFDMS41NTYwOCAtMC4wNzcwNzcxIDEuMDQ4MiAtMC4wNzcwNzcxIDAuNzM0OTQyIDAuMjMxMjMxQzAuNDIxNjg4IDAuNTM5NTQgMC40MjE2ODggMS4wMzk0MSAwLjczNDk0MiAxLjM0NzcyTDQuNDQ1OCA0Ljk5OTk4TDAuNzM0OTQxIDguNjUyMjVDMC40MjE2ODYgOC45NjA1NSAwLjQyMTY4NiA5LjQ2MDQyIDAuNzM0OTQxIDkuNzY4NzNDMS4wNDgyIDEwLjA3NyAxLjU1NjA4IDEwLjA3NyAxLjg2OTM0IDkuNzY4NzNMNi4xNDI2IDUuNTYyOTVaXCJcbiAgICAgICAgICAgIGZpbGw9XCIjMTgxRjMzXCJcbiAgICAgICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,26 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { TableComponent } from "./table.component";
3
+ import { CustomTableCellDirective } from "./custom-table-cell.directive";
4
+ import { SubTableComponent } from "./sub-table/sub-table.component";
5
+ import { CommonModule } from "@angular/common";
6
+ import { TableFilterComponent } from "./filter/filter.component";
7
+ import { CheckboxModule } from "mis-crystal-design-system/checkbox";
8
+ import { ScrollingModule } from "@angular/cdk/scrolling";
9
+ import * as i0 from "@angular/core";
10
+ export class TableModule {
11
+ static forRoot() {
12
+ return { ngModule: TableModule, providers: [] };
13
+ }
14
+ }
15
+ TableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
+ TableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: TableModule, declarations: [TableComponent, SubTableComponent, TableFilterComponent, CustomTableCellDirective], imports: [CommonModule, CheckboxModule, ScrollingModule], exports: [TableComponent, SubTableComponent, TableFilterComponent, CustomTableCellDirective] });
17
+ TableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableModule, imports: [CommonModule, CheckboxModule, ScrollingModule] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableModule, decorators: [{
19
+ type: NgModule,
20
+ args: [{
21
+ declarations: [TableComponent, SubTableComponent, TableFilterComponent, CustomTableCellDirective],
22
+ imports: [CommonModule, CheckboxModule, ScrollingModule],
23
+ exports: [TableComponent, SubTableComponent, TableFilterComponent, CustomTableCellDirective]
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdGFibGUvdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFPekQsTUFBTSxPQUFPLFdBQVc7SUFDdEIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDbEQsQ0FBQzs7eUdBSFUsV0FBVzswR0FBWCxXQUFXLGlCQUpQLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSx3QkFBd0IsYUFDdEYsWUFBWSxFQUFFLGNBQWMsRUFBRSxlQUFlLGFBQzdDLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSx3QkFBd0I7MEdBRWhGLFdBQVcsWUFIWixZQUFZLEVBQUUsY0FBYyxFQUFFLGVBQWU7NEZBRzVDLFdBQVc7a0JBTHZCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsY0FBYyxFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLHdCQUF3QixDQUFDO29CQUNqRyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLGVBQWUsQ0FBQztvQkFDeEQsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLHdCQUF3QixDQUFDO2lCQUM3RiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRhYmxlQ29tcG9uZW50IH0gZnJvbSBcIi4vdGFibGUuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDdXN0b21UYWJsZUNlbGxEaXJlY3RpdmUgfSBmcm9tIFwiLi9jdXN0b20tdGFibGUtY2VsbC5kaXJlY3RpdmVcIjtcbmltcG9ydCB7IFN1YlRhYmxlQ29tcG9uZW50IH0gZnJvbSBcIi4vc3ViLXRhYmxlL3N1Yi10YWJsZS5jb21wb25lbnRcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IFRhYmxlRmlsdGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vZmlsdGVyL2ZpbHRlci5jb21wb25lbnRcIjtcbmltcG9ydCB7IENoZWNrYm94TW9kdWxlIH0gZnJvbSBcIm1pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0vY2hlY2tib3hcIjtcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvc2Nyb2xsaW5nXCI7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1RhYmxlQ29tcG9uZW50LCBTdWJUYWJsZUNvbXBvbmVudCwgVGFibGVGaWx0ZXJDb21wb25lbnQsIEN1c3RvbVRhYmxlQ2VsbERpcmVjdGl2ZV0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIENoZWNrYm94TW9kdWxlLCBTY3JvbGxpbmdNb2R1bGVdLFxuICBleHBvcnRzOiBbVGFibGVDb21wb25lbnQsIFN1YlRhYmxlQ29tcG9uZW50LCBUYWJsZUZpbHRlckNvbXBvbmVudCwgQ3VzdG9tVGFibGVDZWxsRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZU1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VGFibGVNb2R1bGU+IHtcbiAgICByZXR1cm4geyBuZ01vZHVsZTogVGFibGVNb2R1bGUsIHByb3ZpZGVyczogW10gfTtcbiAgfVxufVxuIl19
@@ -2,5 +2,4 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './index';
5
- export { ToastComponent as ɵa } from './toast.component';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS10b2FzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3RvYXN0L21pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0tdG9hc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcblxuZXhwb3J0IHtUb2FzdENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vdG9hc3QuY29tcG9uZW50JzsiXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS10b2FzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3RvYXN0L21pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0tdG9hc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,33 @@
1
+ import { animate, style, transition, trigger } from "@angular/animations";
2
+ import { Component } from "@angular/core";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./toast.data.service";
5
+ import * as i2 from "@angular/common";
6
+ export class ToastComponent {
7
+ constructor(data) {
8
+ this.data = data;
9
+ }
10
+ }
11
+ ToastComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToastComponent, deps: [{ token: i1.ToastDataService }], target: i0.ɵɵFactoryTarget.Component });
12
+ ToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ToastComponent, selector: "mis-teams-toast", ngImport: i0, template: "<div class=\"toast-container\">\n <div *ngFor=\"let msg of data.messages\" @fadeInOut>\n <div class=\"toast-wrapper\">\n <div class=\"msg\">{{ msg }}</div>\n </div>\n </div>\n</div>\n", styles: [".toast-container{transition:max-height .3s ease-in}.toast-container>div{position:relative;display:flex;justify-content:center}.toast-wrapper{display:flex;flex-direction:row;align-items:center;gap:20px;padding:14px 12px;background:#181f33;box-shadow:0 12px 17px #00000024,0 5px 22px #0000001f,0 7px 8px #0003;border-radius:4px;transition:all .3s ease-in;min-height:44px;transform-origin:top}.toast-wrapper .msg{color:#fff;max-width:314px;flex:1 1 314px;font-size:14px;line-height:20px;letter-spacing:.2px}@media screen and (max-width: 360px){.toast-wrapper .msg{max-width:90vw;flex:1 1 90vw}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], animations: [
13
+ trigger("fadeInOut", [
14
+ transition(":enter", [
15
+ style({ opacity: "0", transform: "translateY(-50%)", height: "0" }),
16
+ animate("300ms ease-in", style({ opacity: "1", transform: "translateY(0)", height: "*" }))
17
+ ]),
18
+ transition(":leave", [animate("300ms ease-in", style({ opacity: "0", transform: "translateY(50%)" }))])
19
+ ])
20
+ ] });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToastComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: "mis-teams-toast", animations: [
24
+ trigger("fadeInOut", [
25
+ transition(":enter", [
26
+ style({ opacity: "0", transform: "translateY(-50%)", height: "0" }),
27
+ animate("300ms ease-in", style({ opacity: "1", transform: "translateY(0)", height: "*" }))
28
+ ]),
29
+ transition(":leave", [animate("300ms ease-in", style({ opacity: "0", transform: "translateY(50%)" }))])
30
+ ])
31
+ ], template: "<div class=\"toast-container\">\n <div *ngFor=\"let msg of data.messages\" @fadeInOut>\n <div class=\"toast-wrapper\">\n <div class=\"msg\">{{ msg }}</div>\n </div>\n </div>\n</div>\n", styles: [".toast-container{transition:max-height .3s ease-in}.toast-container>div{position:relative;display:flex;justify-content:center}.toast-wrapper{display:flex;flex-direction:row;align-items:center;gap:20px;padding:14px 12px;background:#181f33;box-shadow:0 12px 17px #00000024,0 5px 22px #0000001f,0 7px 8px #0003;border-radius:4px;transition:all .3s ease-in;min-height:44px;transform-origin:top}.toast-wrapper .msg{color:#fff;max-width:314px;flex:1 1 314px;font-size:14px;line-height:20px;letter-spacing:.2px}@media screen and (max-width: 360px){.toast-wrapper .msg{max-width:90vw;flex:1 1 90vw}}\n"] }]
32
+ }], ctorParameters: function () { return [{ type: i1.ToastDataService }]; } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFpQjFDLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQW1CLElBQXNCO1FBQXRCLFNBQUksR0FBSixJQUFJLENBQWtCO0lBQUcsQ0FBQzs7NEdBRGxDLGNBQWM7Z0dBQWQsY0FBYyx1RENsQjNCLHNNQU9BLDB2QkRDYztRQUNWLE9BQU8sQ0FBQyxXQUFXLEVBQUU7WUFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQkFDbkIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO2dCQUNuRSxPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQzthQUMzRixDQUFDO1lBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN4RyxDQUFDO0tBQ0g7NEZBRVUsY0FBYztrQkFkMUIsU0FBUzsrQkFDRSxpQkFBaUIsY0FHZjt3QkFDVixPQUFPLENBQUMsV0FBVyxFQUFFOzRCQUNuQixVQUFVLENBQUMsUUFBUSxFQUFFO2dDQUNuQixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7Z0NBQ25FLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDOzZCQUMzRixDQUFDOzRCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7eUJBQ3hHLENBQUM7cUJBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVG9hc3REYXRhU2VydmljZSB9IGZyb20gXCIuL3RvYXN0LmRhdGEuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWlzLXRlYW1zLXRvYXN0XCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vdG9hc3QuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3RvYXN0LmNvbXBvbmVudC5zY3NzXCJdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcihcImZhZGVJbk91dFwiLCBbXG4gICAgICB0cmFuc2l0aW9uKFwiOmVudGVyXCIsIFtcbiAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiBcIjBcIiwgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoLTUwJSlcIiwgaGVpZ2h0OiBcIjBcIiB9KSxcbiAgICAgICAgYW5pbWF0ZShcIjMwMG1zIGVhc2UtaW5cIiwgc3R5bGUoeyBvcGFjaXR5OiBcIjFcIiwgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoMClcIiwgaGVpZ2h0OiBcIipcIiB9KSlcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbihcIjpsZWF2ZVwiLCBbYW5pbWF0ZShcIjMwMG1zIGVhc2UtaW5cIiwgc3R5bGUoeyBvcGFjaXR5OiBcIjBcIiwgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoNTAlKVwiIH0pKV0pXG4gICAgXSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRhOiBUb2FzdERhdGFTZXJ2aWNlKSB7fVxufVxuIiwiPGRpdiBjbGFzcz1cInRvYXN0LWNvbnRhaW5lclwiPlxuICA8ZGl2ICpuZ0Zvcj1cImxldCBtc2cgb2YgZGF0YS5tZXNzYWdlc1wiIEBmYWRlSW5PdXQ+XG4gICAgPGRpdiBjbGFzcz1cInRvYXN0LXdyYXBwZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtc2dcIj57eyBtc2cgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,30 @@
1
+ import { Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class ToastDataService {
4
+ constructor() {
5
+ this.messageMap = new Map();
6
+ }
7
+ get messages() {
8
+ return Array.from(this.messageMap.values()).reverse();
9
+ }
10
+ updateMessage(msg) {
11
+ const id = new Date().getTime();
12
+ this.messageMap.set(id, msg);
13
+ return id;
14
+ }
15
+ removeMessage(id) {
16
+ this.messageMap.delete(id);
17
+ }
18
+ hasMessage() {
19
+ return this.messageMap.size > 0;
20
+ }
21
+ }
22
+ ToastDataService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToastDataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
23
+ ToastDataService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToastDataService, providedIn: "root" });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToastDataService, decorators: [{
25
+ type: Injectable,
26
+ args: [{
27
+ providedIn: "root"
28
+ }]
29
+ }], ctorParameters: function () { return []; } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFNM0I7UUFMUSxlQUFVLEdBQXdCLElBQUksR0FBRyxFQUFFLENBQUM7SUFLckMsQ0FBQztJQUpoQixJQUFJLFFBQVE7UUFDVixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFJRCxhQUFhLENBQUMsR0FBVztRQUN2QixNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM3QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxhQUFhLENBQUMsRUFBVTtRQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OzhHQXBCVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQixjQUZmLE1BQU07NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0RGF0YVNlcnZpY2Uge1xuICBwcml2YXRlIG1lc3NhZ2VNYXA6IE1hcDxudW1iZXIsIHN0cmluZz4gPSBuZXcgTWFwKCk7XG4gIGdldCBtZXNzYWdlcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5tZXNzYWdlTWFwLnZhbHVlcygpKS5yZXZlcnNlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgdXBkYXRlTWVzc2FnZShtc2c6IHN0cmluZyk6IG51bWJlciB7XG4gICAgY29uc3QgaWQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICB0aGlzLm1lc3NhZ2VNYXAuc2V0KGlkLCBtc2cpO1xuICAgIHJldHVybiBpZDtcbiAgfVxuXG4gIHJlbW92ZU1lc3NhZ2UoaWQ6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMubWVzc2FnZU1hcC5kZWxldGUoaWQpO1xuICB9XG5cbiAgaGFzTWVzc2FnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlTWFwLnNpemUgPiAwO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,32 @@
1
+ import { OverlayModule } from "@angular/cdk/overlay";
2
+ import { CommonModule } from "@angular/common";
3
+ import { NgModule } from "@angular/core";
4
+ import { ToastComponent } from "./toast.component";
5
+ import { ToastDataService } from "./toast.data.service";
6
+ import { ToastService } from "./toast.service";
7
+ import * as i0 from "@angular/core";
8
+ export class ToastModule {
9
+ static forRoot() {
10
+ return {
11
+ ngModule: ToastModule,
12
+ providers: [ToastDataService, ToastService]
13
+ };
14
+ }
15
+ static forChild() {
16
+ return {
17
+ ngModule: ToastModule,
18
+ providers: [ToastDataService, ToastService]
19
+ };
20
+ }
21
+ }
22
+ ToastModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
23
+ ToastModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: ToastModule, declarations: [ToastComponent], imports: [CommonModule, OverlayModule] });
24
+ ToastModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToastModule, imports: [CommonModule, OverlayModule] });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToastModule, decorators: [{
26
+ type: NgModule,
27
+ args: [{
28
+ declarations: [ToastComponent],
29
+ imports: [CommonModule, OverlayModule]
30
+ }]
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFNL0MsTUFBTSxPQUFPLFdBQVc7SUFDdEIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLFdBQVc7WUFDckIsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDO1NBQzVDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVE7UUFDYixPQUFPO1lBQ0wsUUFBUSxFQUFFLFdBQVc7WUFDckIsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDO1NBQzVDLENBQUM7SUFDSixDQUFDOzt5R0FiVSxXQUFXOzBHQUFYLFdBQVcsaUJBSEwsY0FBYyxhQUNuQixZQUFZLEVBQUUsYUFBYTswR0FFNUIsV0FBVyxZQUZWLFlBQVksRUFBRSxhQUFhOzRGQUU1QixXQUFXO2tCQUp2QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDOUIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztpQkFDekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUb2FzdENvbXBvbmVudCB9IGZyb20gXCIuL3RvYXN0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgVG9hc3REYXRhU2VydmljZSB9IGZyb20gXCIuL3RvYXN0LmRhdGEuc2VydmljZVwiO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSBcIi4vdG9hc3Quc2VydmljZVwiO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1RvYXN0Q29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBPdmVybGF5TW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VG9hc3RNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFRvYXN0TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbVG9hc3REYXRhU2VydmljZSwgVG9hc3RTZXJ2aWNlXVxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZm9yQ2hpbGQoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxUb2FzdE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogVG9hc3RNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtUb2FzdERhdGFTZXJ2aWNlLCBUb2FzdFNlcnZpY2VdXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,91 @@
1
+ import { OverlayConfig } from "@angular/cdk/overlay";
2
+ import { ComponentPortal } from "@angular/cdk/portal";
3
+ import { Injectable } from "@angular/core";
4
+ import { ToastComponent } from "./toast.component";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/cdk/overlay";
7
+ import * as i2 from "./toast.data.service";
8
+ export class ToastService {
9
+ constructor(overlay, data) {
10
+ this.overlay = overlay;
11
+ this.data = data;
12
+ this.messagePromises = [];
13
+ this.messageBuilder = {
14
+ error: {
15
+ simple: "Something went wrong. Please try again later.",
16
+ 400: "Bad Request! We are working to fix this.",
17
+ 401: "UNAUTHORISED",
18
+ 403: "Sorry for the interruption but seems like your session has expired. Please login again and continue",
19
+ 404: "Unable to find resource. Please try again later"
20
+ },
21
+ item: (item) => {
22
+ return {
23
+ action: (act = "updated") => {
24
+ const success = `Successfully ${act} ${item}.`;
25
+ const failure = `Failed to ${act} ${item}.`;
26
+ return {
27
+ success,
28
+ failure
29
+ };
30
+ }
31
+ };
32
+ },
33
+ short: (act = "updated") => {
34
+ const success = `Successfully ${act}.`;
35
+ const failure = `Failed to ${act}.`;
36
+ return {
37
+ success,
38
+ failure
39
+ };
40
+ },
41
+ simple: (...args) => args.join(" "),
42
+ simplest: "Done!"
43
+ };
44
+ this.userProfilePortal = new ComponentPortal(ToastComponent);
45
+ }
46
+ displayMsg(msg, timeout = 3000) {
47
+ const positionStrategy = this.overlay.position().global().centerHorizontally();
48
+ if (window?.innerWidth < 600) {
49
+ positionStrategy.bottom("48px");
50
+ }
51
+ else {
52
+ positionStrategy.top("80px");
53
+ }
54
+ const config = new OverlayConfig({
55
+ hasBackdrop: false,
56
+ positionStrategy
57
+ });
58
+ if (!this.toastWrapperRef?.hasAttached()) {
59
+ this.toastWrapperRef = this.overlay.create(config);
60
+ this.toastWrapperRef.attach(this.userProfilePortal);
61
+ }
62
+ const messageId = this.data.updateMessage(msg);
63
+ this.messagePromises.push(new Promise((resolve, reject) => {
64
+ setTimeout(() => {
65
+ resolve(this.data.removeMessage(messageId));
66
+ if (!this.data.hasMessage()) {
67
+ this.closeToastOverlay();
68
+ }
69
+ // adding 300ms for entry animation
70
+ }, timeout + 300);
71
+ }));
72
+ Promise.race(this.messagePromises).then(() => { });
73
+ }
74
+ // tslint:disable-next-line
75
+ closeToastOverlay() {
76
+ return setTimeout(() => {
77
+ this.messagePromises = [];
78
+ this.toastWrapperRef?.detach();
79
+ // adding 300ms for exit animation
80
+ }, 300);
81
+ }
82
+ }
83
+ ToastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToastService, deps: [{ token: i1.Overlay }, { token: i2.ToastDataService }], target: i0.ɵɵFactoryTarget.Injectable });
84
+ ToastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToastService, providedIn: "root" });
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToastService, decorators: [{
86
+ type: Injectable,
87
+ args: [{
88
+ providedIn: "root"
89
+ }]
90
+ }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i2.ToastDataService }]; } });
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3RvYXN0L3RvYXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFXLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQVFuRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUFvQixPQUFnQixFQUFVLElBQXNCO1FBQWhELFlBQU8sR0FBUCxPQUFPLENBQVM7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFrQjtRQUk1RCxvQkFBZSxHQUFvQixFQUFFLENBQUM7UUFHOUMsbUJBQWMsR0FBRztZQUNmLEtBQUssRUFBRTtnQkFDTCxNQUFNLEVBQUUsK0NBQStDO2dCQUN2RCxHQUFHLEVBQUUsMENBQTBDO2dCQUMvQyxHQUFHLEVBQUUsY0FBYztnQkFDbkIsR0FBRyxFQUFFLHFHQUFxRztnQkFDMUcsR0FBRyxFQUFFLGlEQUFpRDthQUN2RDtZQUNELElBQUksRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFO2dCQUNyQixPQUFPO29CQUNMLE1BQU0sRUFBRSxDQUFDLE1BQWtCLFNBQVMsRUFBRSxFQUFFO3dCQUN0QyxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsR0FBRyxJQUFJLElBQUksR0FBRyxDQUFDO3dCQUMvQyxNQUFNLE9BQU8sR0FBRyxhQUFhLEdBQUcsSUFBSSxJQUFJLEdBQUcsQ0FBQzt3QkFDNUMsT0FBTzs0QkFDTCxPQUFPOzRCQUNQLE9BQU87eUJBQ1IsQ0FBQztvQkFDSixDQUFDO2lCQUNGLENBQUM7WUFDSixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsTUFBa0IsU0FBUyxFQUFFLEVBQUU7Z0JBQ3JDLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztnQkFDdkMsTUFBTSxPQUFPLEdBQUcsYUFBYSxHQUFHLEdBQUcsQ0FBQztnQkFDcEMsT0FBTztvQkFDTCxPQUFPO29CQUNQLE9BQU87aUJBQ1IsQ0FBQztZQUNKLENBQUM7WUFDRCxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQWMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDN0MsUUFBUSxFQUFFLE9BQU87U0FDbEIsQ0FBQztRQXBDQSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQXFDRCxVQUFVLENBQUMsR0FBVyxFQUFFLE9BQU8sR0FBRyxJQUFJO1FBQ3BDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRS9FLElBQUksTUFBTSxFQUFFLFVBQVUsR0FBRyxHQUFHLEVBQUU7WUFDNUIsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2pDO2FBQU07WUFDTCxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUI7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLGFBQWEsQ0FBQztZQUMvQixXQUFXLEVBQUUsS0FBSztZQUNsQixnQkFBZ0I7U0FDakIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUNyRDtRQUNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUN2QixJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUM5QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRTtvQkFDM0IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7aUJBQzFCO2dCQUNELG1DQUFtQztZQUNyQyxDQUFDLEVBQUUsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDRixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELDJCQUEyQjtJQUNuQixpQkFBaUI7UUFDdkIsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDL0Isa0NBQWtDO1FBQ3BDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7OzBHQTlFVSxZQUFZOzhHQUFaLFlBQVksY0FGWCxNQUFNOzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVG9hc3RDb21wb25lbnQgfSBmcm9tIFwiLi90b2FzdC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRvYXN0RGF0YVNlcnZpY2UgfSBmcm9tIFwiLi90b2FzdC5kYXRhLnNlcnZpY2VcIjtcblxudHlwZSBPcGVyYXRpb25zID0gXCJjcmVhdGVkXCIgfCBcInVwZGF0ZWRcIiB8IFwiZGVsZXRlZFwiIHwgXCJjcmVhdGVcIiB8IFwidXBkYXRlXCIgfCBcImRlbGV0ZVwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSwgcHJpdmF0ZSBkYXRhOiBUb2FzdERhdGFTZXJ2aWNlKSB7XG4gICAgdGhpcy51c2VyUHJvZmlsZVBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoVG9hc3RDb21wb25lbnQpO1xuICB9XG4gIHByaXZhdGUgdG9hc3RXcmFwcGVyUmVmOiBPdmVybGF5UmVmO1xuICBwcml2YXRlIG1lc3NhZ2VQcm9taXNlczogUHJvbWlzZTx2b2lkPltdID0gW107XG4gIHByaXZhdGUgdXNlclByb2ZpbGVQb3J0YWw6IENvbXBvbmVudFBvcnRhbDxUb2FzdENvbXBvbmVudD47XG5cbiAgbWVzc2FnZUJ1aWxkZXIgPSB7XG4gICAgZXJyb3I6IHtcbiAgICAgIHNpbXBsZTogXCJTb21ldGhpbmcgd2VudCB3cm9uZy4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci5cIixcbiAgICAgIDQwMDogXCJCYWQgUmVxdWVzdCEgV2UgYXJlIHdvcmtpbmcgdG8gZml4IHRoaXMuXCIsXG4gICAgICA0MDE6IFwiVU5BVVRIT1JJU0VEXCIsXG4gICAgICA0MDM6IFwiU29ycnkgZm9yIHRoZSBpbnRlcnJ1cHRpb24gYnV0IHNlZW1zIGxpa2UgeW91ciBzZXNzaW9uIGhhcyBleHBpcmVkLiBQbGVhc2UgbG9naW4gYWdhaW4gYW5kIGNvbnRpbnVlXCIsXG4gICAgICA0MDQ6IFwiVW5hYmxlIHRvIGZpbmQgcmVzb3VyY2UuIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXJcIlxuICAgIH0sXG4gICAgaXRlbTogKGl0ZW06IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWN0aW9uOiAoYWN0OiBPcGVyYXRpb25zID0gXCJ1cGRhdGVkXCIpID0+IHtcbiAgICAgICAgICBjb25zdCBzdWNjZXNzID0gYFN1Y2Nlc3NmdWxseSAke2FjdH0gJHtpdGVtfS5gO1xuICAgICAgICAgIGNvbnN0IGZhaWx1cmUgPSBgRmFpbGVkIHRvICR7YWN0fSAke2l0ZW19LmA7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHN1Y2Nlc3MsXG4gICAgICAgICAgICBmYWlsdXJlXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9LFxuICAgIHNob3J0OiAoYWN0OiBPcGVyYXRpb25zID0gXCJ1cGRhdGVkXCIpID0+IHtcbiAgICAgIGNvbnN0IHN1Y2Nlc3MgPSBgU3VjY2Vzc2Z1bGx5ICR7YWN0fS5gO1xuICAgICAgY29uc3QgZmFpbHVyZSA9IGBGYWlsZWQgdG8gJHthY3R9LmA7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzLFxuICAgICAgICBmYWlsdXJlXG4gICAgICB9O1xuICAgIH0sXG4gICAgc2ltcGxlOiAoLi4uYXJnczogc3RyaW5nW10pID0+IGFyZ3Muam9pbihcIiBcIiksXG4gICAgc2ltcGxlc3Q6IFwiRG9uZSFcIlxuICB9O1xuXG4gIGRpc3BsYXlNc2cobXNnOiBzdHJpbmcsIHRpbWVvdXQgPSAzMDAwKTogdm9pZCB7XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLmNlbnRlckhvcml6b250YWxseSgpO1xuXG4gICAgaWYgKHdpbmRvdz8uaW5uZXJXaWR0aCA8IDYwMCkge1xuICAgICAgcG9zaXRpb25TdHJhdGVneS5ib3R0b20oXCI0OHB4XCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LnRvcChcIjgwcHhcIik7XG4gICAgfVxuICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3lcbiAgICB9KTtcbiAgICBpZiAoIXRoaXMudG9hc3RXcmFwcGVyUmVmPy5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICB0aGlzLnRvYXN0V3JhcHBlclJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoY29uZmlnKTtcbiAgICAgIHRoaXMudG9hc3RXcmFwcGVyUmVmLmF0dGFjaCh0aGlzLnVzZXJQcm9maWxlUG9ydGFsKTtcbiAgICB9XG4gICAgY29uc3QgbWVzc2FnZUlkID0gdGhpcy5kYXRhLnVwZGF0ZU1lc3NhZ2UobXNnKTtcbiAgICB0aGlzLm1lc3NhZ2VQcm9taXNlcy5wdXNoKFxuICAgICAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICByZXNvbHZlKHRoaXMuZGF0YS5yZW1vdmVNZXNzYWdlKG1lc3NhZ2VJZCkpO1xuICAgICAgICAgIGlmICghdGhpcy5kYXRhLmhhc01lc3NhZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZVRvYXN0T3ZlcmxheSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBhZGRpbmcgMzAwbXMgZm9yIGVudHJ5IGFuaW1hdGlvblxuICAgICAgICB9LCB0aW1lb3V0ICsgMzAwKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICBQcm9taXNlLnJhY2UodGhpcy5tZXNzYWdlUHJvbWlzZXMpLnRoZW4oKCkgPT4ge30pO1xuICB9XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gIHByaXZhdGUgY2xvc2VUb2FzdE92ZXJsYXkoKTogYW55IHtcbiAgICByZXR1cm4gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm1lc3NhZ2VQcm9taXNlcyA9IFtdO1xuICAgICAgdGhpcy50b2FzdFdyYXBwZXJSZWY/LmRldGFjaCgpO1xuICAgICAgLy8gYWRkaW5nIDMwMG1zIGZvciBleGl0IGFuaW1hdGlvblxuICAgIH0sIDMwMCk7XG4gIH1cbn1cbiJdfQ==