mis-crystal-design-system 2.4.9 → 2.5.2

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 (308) hide show
  1. package/action-list/action-list.component.d.ts +0 -1
  2. package/action-list/index.d.ts +1 -1
  3. package/action-list/mis-crystal-design-system-action-list.metadata.json +1 -1
  4. package/action-list/public_api.d.ts +2 -2
  5. package/async-search-dropdown/async-dropdown.component.d.ts +4 -4
  6. package/async-search-dropdown/index.d.ts +1 -1
  7. package/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.metadata.json +1 -1
  8. package/async-search-dropdown/public_api.d.ts +2 -2
  9. package/bundles/mis-crystal-design-system-action-list.umd.js +3 -11
  10. package/bundles/mis-crystal-design-system-action-list.umd.js.map +1 -1
  11. package/bundles/mis-crystal-design-system-action-list.umd.min.js +1 -1
  12. package/bundles/mis-crystal-design-system-action-list.umd.min.js.map +1 -1
  13. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.js +15 -15
  14. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.js.map +1 -1
  15. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.min.js +1 -1
  16. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.min.js.map +1 -1
  17. package/bundles/mis-crystal-design-system-button.umd.js +25 -25
  18. package/bundles/mis-crystal-design-system-button.umd.js.map +1 -1
  19. package/bundles/mis-crystal-design-system-button.umd.min.js +1 -1
  20. package/bundles/mis-crystal-design-system-button.umd.min.js.map +1 -1
  21. package/bundles/mis-crystal-design-system-checkbox.umd.js +5 -6
  22. package/bundles/mis-crystal-design-system-checkbox.umd.js.map +1 -1
  23. package/bundles/mis-crystal-design-system-checkbox.umd.min.js.map +1 -1
  24. package/bundles/mis-crystal-design-system-chip.umd.js +6 -7
  25. package/bundles/mis-crystal-design-system-chip.umd.js.map +1 -1
  26. package/bundles/mis-crystal-design-system-chip.umd.min.js +1 -1
  27. package/bundles/mis-crystal-design-system-chip.umd.min.js.map +1 -1
  28. package/bundles/mis-crystal-design-system-datepicker_v2.umd.js +28 -45
  29. package/bundles/mis-crystal-design-system-datepicker_v2.umd.js.map +1 -1
  30. package/bundles/mis-crystal-design-system-datepicker_v2.umd.min.js +2 -2
  31. package/bundles/mis-crystal-design-system-datepicker_v2.umd.min.js.map +1 -1
  32. package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.js +28 -60
  33. package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.js.map +1 -1
  34. package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.min.js +1 -1
  35. package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.min.js.map +1 -1
  36. package/bundles/mis-crystal-design-system-drawer.umd.js +9 -12
  37. package/bundles/mis-crystal-design-system-drawer.umd.js.map +1 -1
  38. package/bundles/mis-crystal-design-system-drawer.umd.min.js.map +1 -1
  39. package/bundles/mis-crystal-design-system-dropdown.umd.js +384 -29
  40. package/bundles/mis-crystal-design-system-dropdown.umd.js.map +1 -1
  41. package/bundles/mis-crystal-design-system-dropdown.umd.min.js +15 -1
  42. package/bundles/mis-crystal-design-system-dropdown.umd.min.js.map +1 -1
  43. package/bundles/mis-crystal-design-system-fab.umd.js +11 -14
  44. package/bundles/mis-crystal-design-system-fab.umd.js.map +1 -1
  45. package/bundles/mis-crystal-design-system-fab.umd.min.js.map +1 -1
  46. package/bundles/mis-crystal-design-system-input.umd.js +7 -7
  47. package/bundles/mis-crystal-design-system-input.umd.js.map +1 -1
  48. package/bundles/mis-crystal-design-system-input.umd.min.js +1 -1
  49. package/bundles/mis-crystal-design-system-input.umd.min.js.map +1 -1
  50. package/bundles/mis-crystal-design-system-loader.umd.js +3 -4
  51. package/bundles/mis-crystal-design-system-loader.umd.js.map +1 -1
  52. package/bundles/mis-crystal-design-system-loader.umd.min.js +1 -1
  53. package/bundles/mis-crystal-design-system-loader.umd.min.js.map +1 -1
  54. package/bundles/mis-crystal-design-system-modal.umd.js +8 -12
  55. package/bundles/mis-crystal-design-system-modal.umd.js.map +1 -1
  56. package/bundles/mis-crystal-design-system-modal.umd.min.js.map +1 -1
  57. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.js +61 -29
  58. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.js.map +1 -1
  59. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.min.js +2 -2
  60. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.min.js.map +1 -1
  61. package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.js +71 -32
  62. package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.js.map +1 -1
  63. package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.min.js +2 -2
  64. package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.min.js.map +1 -1
  65. package/bundles/mis-crystal-design-system-radio-button.umd.js +6 -7
  66. package/bundles/mis-crystal-design-system-radio-button.umd.js.map +1 -1
  67. package/bundles/mis-crystal-design-system-radio-button.umd.min.js +1 -1
  68. package/bundles/mis-crystal-design-system-radio-button.umd.min.js.map +1 -1
  69. package/bundles/mis-crystal-design-system-switch.umd.js +3 -4
  70. package/bundles/mis-crystal-design-system-switch.umd.js.map +1 -1
  71. package/bundles/mis-crystal-design-system-switch.umd.min.js +1 -1
  72. package/bundles/mis-crystal-design-system-switch.umd.min.js.map +1 -1
  73. package/bundles/mis-crystal-design-system-table.umd.js +40 -58
  74. package/bundles/mis-crystal-design-system-table.umd.js.map +1 -1
  75. package/bundles/mis-crystal-design-system-table.umd.min.js +1 -1
  76. package/bundles/mis-crystal-design-system-table.umd.min.js.map +1 -1
  77. package/bundles/mis-crystal-design-system-toast.umd.js +28 -33
  78. package/bundles/mis-crystal-design-system-toast.umd.js.map +1 -1
  79. package/bundles/mis-crystal-design-system-toast.umd.min.js +1 -1
  80. package/bundles/mis-crystal-design-system-toast.umd.min.js.map +1 -1
  81. package/bundles/mis-crystal-design-system-tooltip.umd.js +1 -1
  82. package/bundles/mis-crystal-design-system-tooltip.umd.js.map +1 -1
  83. package/bundles/mis-crystal-design-system-tooltip.umd.min.js +1 -1
  84. package/bundles/mis-crystal-design-system-tooltip.umd.min.js.map +1 -1
  85. package/bundles/mis-crystal-design-system.umd.js.map +1 -1
  86. package/button/button.component.d.ts +4 -4
  87. package/button/button.directive.d.ts +3 -3
  88. package/button/button.directive.scss +1 -1
  89. package/button/button.module.d.ts +1 -1
  90. package/button/index.d.ts +1 -1
  91. package/button/mis-crystal-design-system-button.metadata.json +1 -1
  92. package/button/public_api.d.ts +2 -2
  93. package/checkbox/checkbox.component.d.ts +3 -3
  94. package/checkbox/checkbox.module.d.ts +1 -1
  95. package/checkbox/index.d.ts +1 -1
  96. package/checkbox/mis-crystal-design-system-checkbox.metadata.json +1 -1
  97. package/checkbox/public_api.d.ts +2 -2
  98. package/chip/chip.component.d.ts +2 -2
  99. package/chip/chip.module.d.ts +1 -1
  100. package/chip/index.d.ts +1 -1
  101. package/chip/mis-crystal-design-system-chip.metadata.json +1 -1
  102. package/chip/public_api.d.ts +2 -2
  103. package/datepicker_v2/index.d.ts +1 -1
  104. package/datepicker_v2/mis-crystal-design-system-datepicker_v2.metadata.json +1 -1
  105. package/datepicker_v2/public_api.d.ts +3 -3
  106. package/datepicker_v2/tz-datepicker.directive.d.ts +0 -2
  107. package/daterangepicker_v2/index.d.ts +1 -1
  108. package/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.metadata.json +1 -1
  109. package/daterangepicker_v2/public_api.d.ts +3 -3
  110. package/daterangepicker_v2/tz-daterangepicker.directive.d.ts +0 -1
  111. package/drawer/index.d.ts +1 -1
  112. package/drawer/mis-crystal-design-system-drawer.metadata.json +1 -1
  113. package/drawer/public_api.d.ts +4 -4
  114. package/dropdown/dropdown.component.d.ts +10 -4
  115. package/dropdown/dropdown.module.d.ts +1 -1
  116. package/dropdown/index.d.ts +1 -1
  117. package/dropdown/mis-crystal-design-system-dropdown.metadata.json +1 -1
  118. package/dropdown/public_api.d.ts +2 -2
  119. package/esm2015/action-list/action-list.component.js +4 -12
  120. package/esm2015/action-list/action-list.module.js +3 -2
  121. package/esm2015/action-list/index.js +2 -2
  122. package/esm2015/action-list/public_api.js +3 -3
  123. package/esm2015/async-search-dropdown/async-dropdown.component.js +25 -25
  124. package/esm2015/async-search-dropdown/async-dropdown.module.js +7 -7
  125. package/esm2015/async-search-dropdown/index.js +2 -2
  126. package/esm2015/async-search-dropdown/public_api.js +3 -3
  127. package/esm2015/button/button.component.js +10 -10
  128. package/esm2015/button/button.directive.js +19 -19
  129. package/esm2015/button/button.module.js +5 -5
  130. package/esm2015/button/index.js +2 -2
  131. package/esm2015/button/public_api.js +3 -3
  132. package/esm2015/checkbox/checkbox.component.js +8 -9
  133. package/esm2015/checkbox/checkbox.module.js +5 -5
  134. package/esm2015/checkbox/index.js +2 -2
  135. package/esm2015/checkbox/public_api.js +3 -3
  136. package/esm2015/chip/chip.component.js +8 -9
  137. package/esm2015/chip/chip.module.js +4 -4
  138. package/esm2015/chip/index.js +2 -2
  139. package/esm2015/chip/public_api.js +3 -3
  140. package/esm2015/datepicker_v2/datepicker-constants.js +2 -2
  141. package/esm2015/datepicker_v2/datepicker.module.js +5 -4
  142. package/esm2015/datepicker_v2/index.js +2 -2
  143. package/esm2015/datepicker_v2/models/dp-config.model.js +1 -1
  144. package/esm2015/datepicker_v2/public_api.js +3 -3
  145. package/esm2015/datepicker_v2/tz-datepicker.directive.js +4 -24
  146. package/esm2015/datepicker_v2/tz-dp-container/tz-dp-container.component.js +12 -9
  147. package/esm2015/datepicker_v2/utils/index.js +13 -13
  148. package/esm2015/daterangepicker_v2/daterangepicker-constants.js +2 -2
  149. package/esm2015/daterangepicker_v2/daterangepicker.module.js +4 -3
  150. package/esm2015/daterangepicker_v2/index.js +2 -2
  151. package/esm2015/daterangepicker_v2/public_api.js +3 -3
  152. package/esm2015/daterangepicker_v2/tz-daterangepicker.directive.js +3 -12
  153. package/esm2015/daterangepicker_v2/tz-drp-container/tz-drp-container.component.js +15 -38
  154. package/esm2015/daterangepicker_v2/utils/index.js +13 -13
  155. package/esm2015/drawer/drawer-body/drawer-body.component.js +4 -7
  156. package/esm2015/drawer/drawer.module.js +4 -4
  157. package/esm2015/drawer/drawer.service.js +4 -4
  158. package/esm2015/drawer/index.js +2 -2
  159. package/esm2015/drawer/public_api.js +5 -5
  160. package/esm2015/dropdown/dropdown.component.js +67 -26
  161. package/esm2015/dropdown/dropdown.module.js +7 -6
  162. package/esm2015/dropdown/index.js +2 -2
  163. package/esm2015/dropdown/public_api.js +3 -3
  164. package/esm2015/fab/fab.component.js +11 -14
  165. package/esm2015/fab/fab.module.js +3 -3
  166. package/esm2015/fab/index.js +2 -2
  167. package/esm2015/fab/public_api.js +3 -3
  168. package/esm2015/index.js +2 -2
  169. package/esm2015/input/directives/input/input.directive.js +7 -7
  170. package/esm2015/input/index.js +2 -2
  171. package/esm2015/input/mis-input.component.js +8 -8
  172. package/esm2015/input/mis-input.module.js +7 -7
  173. package/esm2015/input/public_api.js +4 -4
  174. package/esm2015/loader/index.js +2 -2
  175. package/esm2015/loader/loader.component.js +5 -6
  176. package/esm2015/loader/loader.module.js +4 -4
  177. package/esm2015/loader/public_api.js +3 -3
  178. package/esm2015/menu/index.js +2 -2
  179. package/esm2015/modal/index.js +2 -2
  180. package/esm2015/modal/modal.module.js +10 -14
  181. package/esm2015/modal/modal.service.js +3 -3
  182. package/esm2015/modal/module-wrapper/module-wrapper.component.js +4 -4
  183. package/esm2015/modal/public_api.js +5 -5
  184. package/esm2015/multi-select-dropdown/index.js +2 -2
  185. package/esm2015/multi-select-dropdown/multi-select-dropdown.component.js +80 -44
  186. package/esm2015/multi-select-dropdown/multi-select-dropdown.module.js +9 -8
  187. package/esm2015/multi-select-dropdown/public_api.js +3 -3
  188. package/esm2015/nested-multi-select-dropdown/index.js +2 -2
  189. package/esm2015/nested-multi-select-dropdown/nested-multi-select-dropdown.component.js +72 -29
  190. package/esm2015/nested-multi-select-dropdown/nested-multi-select-dropdown.module.js +9 -8
  191. package/esm2015/nested-multi-select-dropdown/public_api.js +3 -3
  192. package/esm2015/public-api.js +1 -1
  193. package/esm2015/radio-button/index.js +2 -2
  194. package/esm2015/radio-button/public_api.js +3 -3
  195. package/esm2015/radio-button/radio-button.component.js +9 -10
  196. package/esm2015/radio-button/radio-button.module.js +5 -5
  197. package/esm2015/switch/index.js +2 -2
  198. package/esm2015/switch/public_api.js +3 -3
  199. package/esm2015/switch/switch.component.js +6 -7
  200. package/esm2015/switch/switch.module.js +5 -5
  201. package/esm2015/table/custom-table-cell.directive.js +3 -3
  202. package/esm2015/table/filter/filter.component.js +11 -13
  203. package/esm2015/table/index.js +2 -2
  204. package/esm2015/table/public_api.js +5 -5
  205. package/esm2015/table/sub-table/sub-table.component.js +12 -13
  206. package/esm2015/table/table.component.js +21 -22
  207. package/esm2015/table/table.module.js +7 -21
  208. package/esm2015/toast/index.js +2 -2
  209. package/esm2015/toast/toast.component.js +12 -14
  210. package/esm2015/toast/toast.data.service.js +3 -3
  211. package/esm2015/toast/toast.module.js +9 -9
  212. package/esm2015/toast/toast.service.js +23 -26
  213. package/esm2015/tooltip/tooltip.directive.js +1 -1
  214. package/esm2015/tooltip/tooltip.module.js +3 -2
  215. package/fab/index.d.ts +1 -1
  216. package/fab/mis-crystal-design-system-fab.metadata.json +1 -1
  217. package/fab/public_api.d.ts +2 -2
  218. package/fesm2015/mis-crystal-design-system-action-list.js +5 -13
  219. package/fesm2015/mis-crystal-design-system-action-list.js.map +1 -1
  220. package/fesm2015/mis-crystal-design-system-async-search-dropdown.js +20 -20
  221. package/fesm2015/mis-crystal-design-system-async-search-dropdown.js.map +1 -1
  222. package/fesm2015/mis-crystal-design-system-button.js +25 -25
  223. package/fesm2015/mis-crystal-design-system-button.js.map +1 -1
  224. package/fesm2015/mis-crystal-design-system-checkbox.js +5 -6
  225. package/fesm2015/mis-crystal-design-system-checkbox.js.map +1 -1
  226. package/fesm2015/mis-crystal-design-system-chip.js +6 -7
  227. package/fesm2015/mis-crystal-design-system-chip.js.map +1 -1
  228. package/fesm2015/mis-crystal-design-system-datepicker_v2.js +28 -45
  229. package/fesm2015/mis-crystal-design-system-datepicker_v2.js.map +1 -1
  230. package/fesm2015/mis-crystal-design-system-daterangepicker_v2.js +32 -64
  231. package/fesm2015/mis-crystal-design-system-daterangepicker_v2.js.map +1 -1
  232. package/fesm2015/mis-crystal-design-system-drawer.js +9 -12
  233. package/fesm2015/mis-crystal-design-system-drawer.js.map +1 -1
  234. package/fesm2015/mis-crystal-design-system-dropdown.js +67 -26
  235. package/fesm2015/mis-crystal-design-system-dropdown.js.map +1 -1
  236. package/fesm2015/mis-crystal-design-system-fab.js +11 -14
  237. package/fesm2015/mis-crystal-design-system-fab.js.map +1 -1
  238. package/fesm2015/mis-crystal-design-system-input.js +8 -8
  239. package/fesm2015/mis-crystal-design-system-input.js.map +1 -1
  240. package/fesm2015/mis-crystal-design-system-loader.js +3 -4
  241. package/fesm2015/mis-crystal-design-system-loader.js.map +1 -1
  242. package/fesm2015/mis-crystal-design-system-modal.js +8 -12
  243. package/fesm2015/mis-crystal-design-system-modal.js.map +1 -1
  244. package/fesm2015/mis-crystal-design-system-multi-select-dropdown.js +80 -44
  245. package/fesm2015/mis-crystal-design-system-multi-select-dropdown.js.map +1 -1
  246. package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.js +72 -29
  247. package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.js.map +1 -1
  248. package/fesm2015/mis-crystal-design-system-radio-button.js +6 -7
  249. package/fesm2015/mis-crystal-design-system-radio-button.js.map +1 -1
  250. package/fesm2015/mis-crystal-design-system-switch.js +3 -4
  251. package/fesm2015/mis-crystal-design-system-switch.js.map +1 -1
  252. package/fesm2015/mis-crystal-design-system-table.js +42 -60
  253. package/fesm2015/mis-crystal-design-system-table.js.map +1 -1
  254. package/fesm2015/mis-crystal-design-system-toast.js +28 -33
  255. package/fesm2015/mis-crystal-design-system-toast.js.map +1 -1
  256. package/fesm2015/mis-crystal-design-system-tooltip.js +2 -2
  257. package/fesm2015/mis-crystal-design-system-tooltip.js.map +1 -1
  258. package/fesm2015/mis-crystal-design-system.js.map +1 -1
  259. package/index.d.ts +1 -1
  260. package/input/directives/input/input.directive.d.ts +3 -3
  261. package/input/index.d.ts +1 -1
  262. package/input/mis-crystal-design-system-input.metadata.json +1 -1
  263. package/input/mis-input.component.d.ts +4 -4
  264. package/input/public_api.d.ts +3 -3
  265. package/loader/index.d.ts +1 -1
  266. package/loader/loader.component.d.ts +1 -1
  267. package/loader/loader.module.d.ts +1 -1
  268. package/loader/mis-crystal-design-system-loader.metadata.json +1 -1
  269. package/loader/public_api.d.ts +2 -2
  270. package/menu/index.d.ts +1 -1
  271. package/modal/index.d.ts +1 -1
  272. package/modal/mis-crystal-design-system-modal.metadata.json +1 -1
  273. package/modal/modal.module.d.ts +1 -1
  274. package/modal/public_api.d.ts +4 -4
  275. package/multi-select-dropdown/index.d.ts +1 -1
  276. package/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.metadata.json +1 -1
  277. package/multi-select-dropdown/multi-select-dropdown.component.d.ts +9 -3
  278. package/multi-select-dropdown/multi-select-dropdown.module.d.ts +1 -1
  279. package/multi-select-dropdown/public_api.d.ts +2 -2
  280. package/nested-multi-select-dropdown/index.d.ts +1 -1
  281. package/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.metadata.json +1 -1
  282. package/nested-multi-select-dropdown/nested-multi-select-dropdown.component.d.ts +10 -4
  283. package/nested-multi-select-dropdown/nested-multi-select-dropdown.module.d.ts +1 -1
  284. package/nested-multi-select-dropdown/public_api.d.ts +2 -2
  285. package/package.json +1 -1
  286. package/radio-button/index.d.ts +1 -1
  287. package/radio-button/mis-crystal-design-system-radio-button.metadata.json +1 -1
  288. package/radio-button/public_api.d.ts +2 -2
  289. package/radio-button/radio-button.component.d.ts +2 -2
  290. package/radio-button/radio-button.module.d.ts +1 -1
  291. package/switch/index.d.ts +1 -1
  292. package/switch/mis-crystal-design-system-switch.metadata.json +1 -1
  293. package/switch/public_api.d.ts +2 -2
  294. package/switch/switch.component.d.ts +2 -2
  295. package/switch/switch.module.d.ts +1 -1
  296. package/table/custom-table-cell.directive.d.ts +1 -1
  297. package/table/filter/filter.component.d.ts +1 -1
  298. package/table/index.d.ts +1 -1
  299. package/table/mis-crystal-design-system-table.metadata.json +1 -1
  300. package/table/public_api.d.ts +7 -7
  301. package/table/sub-table/sub-table.component.d.ts +6 -6
  302. package/table/table.component.d.ts +6 -6
  303. package/toast/index.d.ts +1 -1
  304. package/toast/mis-crystal-design-system-toast.metadata.json +1 -1
  305. package/toast/toast.component.d.ts +1 -1
  306. package/toast/toast.module.d.ts +1 -1
  307. package/toast/toast.service.d.ts +3 -3
  308. package/tooltip/mis-crystal-design-system-tooltip.metadata.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/mis-components/action-list/action-list.component.ts","../../../projects/mis-components/action-list/action-list.module.ts"],"names":["Object","create","__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","ActionListComponent","eRef","overlay","viewContainerRef","this","isOpen","subItems","data","height","width","label","dropdownListHeight","dropdownListWidth","dropdownListPosition","searchEnabled","noDataMessage","selectedItems","onChange","EventEmitter","prototype","ngOnInit","_this","forEach","q","children","w","checked","_a","clickout","event","nativeElement","contains","target","overlayRef","hasAttached","onCancel","filterByValue","array","string","filter","toLowerCase","includes","toggleDropdown","openDropdown","popupContainer","selectElement","template","origin","openRight","positionsBottom","ConnectionPositionPair","originX","originY","overlayX","overlayY","positionsTop","positions","arguments","length","concat","__spread","reverse","positionStrategy","position","flexibleConnectedTo","withPositions","withPush","configs","OverlayConfig","hasBackdrop","backdropClass","scrollStrategy","scrollStrategies","reposition","clientWidth","subOverlayRef","updateSize","attach","TemplatePortal","backdropClick","subscribe","selectItem","item","some","type","map","assign","_b","find","emit","onHover","isHovered","element","detach","parentValue","subPopupContainer","_c","Component","args","selector","ElementRef","Overlay","ViewContainerRef","Input","Output","ViewChild","static","HostListener","ActionListModule","forRoot","ngModule","providers","NgModule","declarations","imports","CommonModule","FormsModule","CheckboxModule","exports"],"mappings":";;;;;;;;;;;;;;oFA2G6BA,OAAOC,gBAwBpBC,EAAOC,EAAGC,GACtB,IAAIC,EAAsB,mBAAXC,QAAyBH,EAAEG,OAAOC,UACjD,IAAKF,EAAG,OAAOF,EACf,IAAmBK,EAAYC,EAA3BC,EAAIL,EAAEM,KAAKR,GAAOS,EAAK,GAC3B,IACI,WAAc,IAANR,GAAgBA,KAAM,MAAQI,EAAIE,EAAEG,QAAQC,MAAMF,EAAGG,KAAKP,EAAEQ,OAExE,MAAOC,GAASR,EAAI,CAAEQ,MAAOA,WAEzB,IACQT,IAAMA,EAAEM,OAAST,EAAIK,EAAU,SAAIL,EAAEM,KAAKD,WAExC,GAAID,EAAG,MAAMA,EAAEQ,OAE7B,OAAOL,EAgEcZ,OAAOC,wBC9K9B,SAAAiB,EAAoBC,EAA0BC,EAA0BC,GAApDC,KAAAH,KAAAA,EAA0BG,KAAAF,QAAAA,EAA0BE,KAAAD,iBAAAA,EAzBxEC,KAAAC,QAAS,EAETD,KAAAE,SAAyB,GAEhBF,KAAAG,KAAsB,GACtBH,KAAAI,OAAiB,GACjBJ,KAAAK,MAAgB,GAChBL,KAAAM,MAAgB,SAEhBN,KAAAO,mBAA6B,GAC7BP,KAAAQ,kBAA4B,GAC5BR,KAAAS,qBAAyC,OAEzCT,KAAAU,eAAyB,EACzBV,KAAAW,cAAwB,UACjCX,KAAAY,cAA8B,GAEpBZ,KAAAa,SAA8B,IAAIC,EAAAA,oBAS5ClB,EAAAmB,UAAAC,SAAA,WAAA,MAAAC,EAAAjB,KACEA,KAAKY,cAAgB,GACrBZ,KAAKG,KAAKe,SAAQ,SAAAC,GAChB,OAAAA,EAAEC,SAASF,SAAQ,SAAAG,GACbA,EAAEC,SAASL,EAAKL,cAAcnB,KAAK4B,SAG3CrB,KAAKM,MAA6B,QAAxBiB,EAAGvB,KAAKY,cAAc,UAAE,IAAAW,OAAA,EAAAA,EAAEjB,OAItCV,EAAAmB,UAAAS,SAAA,SAASC,UACmBzB,KAAKH,KAAK6B,cAAcC,SAASF,EAAMG,WAE/C,QAAhBL,EAACvB,KAAK6B,kBAAU,IAAAN,OAAA,EAAAA,EAAEO,gBAAiB9B,KAAK+B,YAG5CnC,EAAAmB,UAAAiB,cAAA,SAAcC,EAAqBC,GACjC,OAAOD,EAAME,QAAO,SAAAtD,GAAK,OAAAA,EAAEyB,MAAM8B,cAAcC,SAASH,EAAOE,mBAEjExC,EAAAmB,UAAAuB,eAAA,WACEtC,KAAKC,QAAUD,KAAKC,OAChBD,KAAKC,OAAQD,KAAKuC,aAAavC,KAAKwC,eAAgBxC,KAAKyC,cAAcf,eAAe,GACrF1B,KAAK+B,YAEJnC,EAAAmB,UAAAwB,aAAA,SAAaG,EAAgCC,EAAqBC,GAAlE,IAAA3B,EAAAjB,KACA6C,EAAkB,CACtB,IAAIC,EAAAA,uBAAuB,CAAEC,QAAS,QAASC,QAAS,UAAY,CAAEC,SAAU,QAASC,SAAU,OAAS,EAAG,GAC/G,IAAIJ,EAAAA,uBAAuB,CAAEC,QAAS,MAAOC,QAAS,UAAY,CAAEC,SAAU,MAAOC,SAAU,OAAS,EAAG,IAEvGC,EAAe,CACnB,IAAIL,EAAAA,uBAAuB,CAAEC,QAAS,QAASC,QAAS,OAAS,CAAEC,SAAU,QAASC,SAAU,UAAY,GAAI,GAChH,IAAIJ,EAAAA,uBAAuB,CAAEC,QAAS,MAAOC,QAAS,OAAS,CAAEC,SAAU,MAAOC,SAAU,UAAY,GAAI,IAExGE,aDgFN,IAAK,IAAI9D,EAAK,GAAIF,EAAI,EAAGA,EAAIiE,UAAUC,OAAQlE,IAC3CE,EAAKA,EAAGiE,OAAO3E,EAAOyE,UAAUjE,KACpC,OAAOE,EClFQkE,CACqB,UAA9BxD,KAAKS,qBAAmCoC,EAAgBY,UAAYZ,EACtC,UAA9B7C,KAAKS,qBAAmC0C,EAAaM,UAAYN,GAEjEO,EAAmB1D,KAAKF,QAC3B6D,WACAC,oBAAoBjB,GACpBkB,cACCjB,EAAY,CAAC,IAAIE,EAAAA,uBAAuB,CAAEC,QAAS,MAAOC,QAAS,OAAS,CAAEC,SAAU,QAASC,SAAU,OAAS,IAAME,GAE3HU,UAAS,GACNC,EAAU,IAAIC,EAAAA,cAAc,CAChCC,aAAcrB,EACdsB,cAAe,mCACfC,eAAgBnE,KAAKF,QAAQsE,iBAAiBC,aAC9CX,iBAAgBA,EAChBrD,MAAOsC,EAAO2B,aAAe,MAE/B,GAAI1B,EAQF,OAPA5C,KAAKuE,cAAgBvE,KAAKF,QAAQnB,OAAOoF,GACrC/D,KAAKQ,mBAAmBR,KAAKuE,cAAcC,WAAW,CAAEnE,MAAOL,KAAKQ,oBACpER,KAAKO,oBAAoBP,KAAKuE,cAAcC,WAAW,CAAEpE,OAAQJ,KAAKO,qBAC1EP,KAAKuE,cAAcE,OAAO,IAAIC,EAAAA,eAAehC,EAAU1C,KAAKD,wBAC5DC,KAAKuE,cAAcI,gBAAgBC,WAAU,WAC3C3D,EAAKc,cAIT/B,KAAK6B,WAAa7B,KAAKF,QAAQnB,OAAOoF,GAClC/D,KAAKQ,mBAAmBR,KAAK6B,WAAW2C,WAAW,CAAEnE,MAAOL,KAAKQ,oBACjER,KAAKO,oBAAoBP,KAAK6B,WAAW2C,WAAW,CAAEpE,OAAQJ,KAAKO,qBACvEP,KAAK6B,WAAW4C,OAAO,IAAIC,EAAAA,eAAehC,EAAU1C,KAAKD,mBACzDC,KAAK6B,WAAW8C,gBAAgBC,WAAU,WACxC3D,EAAKc,eAGTnC,EAAAmB,UAAA8D,WAAA,SAAWC,WACL9E,KAAKG,KAAK4E,MAAK,SAAA5D,GAAK,OAAAA,EAAEC,SAAS2D,MAAK,SAAA1D,GAAK,OAAAA,EAAE3B,QAAUoF,EAAKpF,OAAS2B,EAAEC,eACrD,aAAdwD,EAAKE,OAAqBhF,KAAKY,cAAgBZ,KAAKY,cAAcuB,QAAO,SAAAhB,GAAK,OAAAA,EAAEzB,QAAUoF,EAAKpF,UACnGM,KAAKG,KAAOH,KAAKG,KAAK8E,KAAI,SAAA9D,SAAK,OAAAzC,OAAAwG,OAAAxG,OAAAwG,OAAA,GAC1B/D,GAAC,CACJC,SAAqB,QAAbG,EAAEJ,MAAAA,OAAC,EAADA,EAAGC,gBAAQ,IAAAG,OAAA,EAAAA,EAAE0D,KAAI,SAAA9F,GAAK,OAAAT,OAAAwG,OAAAxG,OAAAwG,OAAA,GAC3B/F,GAAC,CACJmC,QAASnC,EAAEmC,SAAWnC,EAAEO,QAAUoF,EAAKpF,kBAI3CM,KAAKG,KAAOH,KAAKG,KAAK8E,KAAI,SAAA9D,SAAK,OAAAzC,OAAAwG,OAAAxG,OAAAwG,OAAA,GAC1B/D,GAAC,CACJC,SAAqB,QAAbG,EAAEJ,MAAAA,OAAC,EAADA,EAAGC,gBAAQ,IAAAG,OAAA,EAAAA,EAAE0D,KAAI,SAAA9F,GAAK,OAAAT,OAAAwG,OAAAxG,OAAAwG,OAAA,GAC3B/F,GAAC,CACJmC,QAAqB,aAAXnC,EAAE6F,OAAwB7F,EAAEmC,SAAWnC,EAAEO,QAAUoF,EAAKpF,QAAuB,WAAXP,EAAE6F,MAAqB7F,EAAEO,QAAUoF,EAAKpF,gBAGxG,aAAdoF,EAAKE,MAAqBhF,KAAKY,cAAcnB,KAAIf,OAAAwG,OAAAxG,OAAAwG,OAAA,GAAMJ,GAAI,CAAExD,SAAS,MAE5EtB,KAAKM,MACW,aAAdwE,EAAKE,KAAuBhF,KAAKY,cAAc0C,OAAS,EAAyB,QAAxB/B,EAAGvB,KAAKY,cAAc,UAAE,IAAAW,OAAA,EAAAA,EAAEjB,MAAQ,SAAYwE,EAAKxD,QAAU,SAAWwD,EAAKxE,MACxIN,KAAKE,UAA6E,QAAlEiF,EAAAnF,KAAKG,KAAKiF,MAAK,SAAAjE,GAAC,IAAAI,EAAA,OAAc,QAAdA,EAAIJ,EAAEC,gBAAQ,IAAAG,OAAA,EAAAA,EAAEwD,MAAK,SAAA1D,GAAK,OAAAA,EAAE3B,QAAUoF,EAAKpF,mBAAO,IAAAyF,OAAA,EAAAA,EAAE/D,WAAY,GAChGpB,KAAKa,SAASwE,KAAKrF,KAAKG,MACN,WAAd2E,EAAKE,MAAmBhF,KAAKsC,kBAEnC1C,EAAAmB,UAAAuE,QAAA,SAAQR,EAAkBS,EAAWC,aAC/BD,GACFvF,KAAKE,SAASoD,OAAS,IAAuB,QAAtB/B,EAAIvB,KAAKuE,qBAAa,IAAAhD,GAAAA,EAAEkE,UAChDzF,KAAKE,UAAsF,QAA3EiF,EAAAnF,KAAKG,KAAKiF,MAAK,SAAAjE,GAAC,IAAAI,EAAA,OAAe,QAAfA,EAAIJ,MAAAA,OAAC,EAADA,EAAGC,gBAAQ,IAAAG,OAAA,EAAAA,EAAEwD,MAAK,SAAA1D,GAAK,OAAAA,MAAAA,OAAC,EAADA,EAAGqE,gBAAgBZ,MAAAA,OAAI,EAAJA,EAAMpF,oBAAO,IAAAyF,OAAA,EAAAA,EAAE/D,WAAY,GACzGpB,KAAKE,SAASoD,OAAS,GAAKtD,KAAKuC,aAAavC,KAAK2F,mBAAmBH,MAAAA,OAAO,EAAPA,EAAS9D,gBAAiB8D,GAAS,KAEzGxF,KAAKE,SAAW,GACE,QAAlB0F,EAAA5F,KAAKuE,qBAAa,IAAAqB,GAAAA,EAAEH,WAGxB7F,EAAAmB,UAAAgB,SAAA,mBACE/B,KAAKC,QAAS,EACC,QAAfsB,EAAAvB,KAAK6B,kBAAU,IAAAN,GAAAA,EAAEkE,SACC,QAAlBN,EAAAnF,KAAKuE,qBAAa,IAAAY,GAAAA,EAAEM,mCA7IvBI,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,kBACVrD,SAAA,i6OAJkBsD,EAAAA,kBAFaC,EAAAA,eAE0EC,EAAAA,kDAYxGC,EAAAA,sBACAA,EAAAA,qBACAA,EAAAA,qBACAA,EAAAA,kCAEAA,EAAAA,iCACAA,EAAAA,oCACAA,EAAAA,6BAEAA,EAAAA,6BACAA,EAAAA,wBAGAC,EAAAA,8BAEAC,EAAAA,UAASP,KAAA,CAAC,SAAU,CAAEQ,QAAQ,4BAC9BD,EAAAA,UAASP,KAAA,CAAC,iBAAkB,CAAEQ,QAAQ,+BACtCD,EAAAA,UAASP,KAAA,CAAC,oBAAqB,CAAEQ,QAAQ,sBAezCC,EAAAA,aAAYT,KAAA,CAAC,iBAAkB,CAAC,+BCnCnC,SAAAU,YACSA,EAAAC,QAAP,WACE,MAAO,CAAEC,SAAUF,EAAkBG,UAAW,8BAPnDC,EAAAA,SAAQd,KAAA,CAAC,CACRe,aAAc,CAACjH,GACfkH,QAAS,CAACC,EAAAA,aAAcC,EAAAA,YAAaC,EAAAA,gBACrCC,QAAS,CAACtH","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { ConnectionPositionPair, Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { TemplatePortal } from \"@angular/cdk/portal\";\nimport { Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output, TemplateRef, ViewChild, ViewContainerRef } from \"@angular/core\";\n\n@Component({\n selector: \"mis-action-list\",\n templateUrl: \"./action-list.component.html\",\n styleUrls: [\"./action-list.component.scss\"]\n})\nexport class ActionListComponent implements OnInit {\n isOpen = false;\n\n subItems: ActionItem[] = [];\n\n @Input() data: ActionItems[] = [];\n @Input() height: string = \"\";\n @Input() width: string = \"\";\n @Input() label: string = \"Select\";\n\n @Input() dropdownListHeight: string = \"\";\n @Input() dropdownListWidth: string = \"\";\n @Input() dropdownListPosition: \"Left\" | \"Right\" = \"Left\";\n\n @Input() searchEnabled: boolean = true;\n @Input() noDataMessage: string = \"No Data\";\n selectedItems: ActionItem[] = [];\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @ViewChild(\"select\", { static: false }) selectElement: ElementRef;\n @ViewChild(\"popupContainer\", { static: false }) popupContainer: TemplateRef<Element>;\n @ViewChild(\"subPopupContainer\", { static: false }) subPopupContainer: TemplateRef<Element>;\n private overlayRef: OverlayRef;\n private subOverlayRef: OverlayRef;\n\n constructor(private eRef: ElementRef, private overlay: Overlay, private viewContainerRef: ViewContainerRef) {}\n ngOnInit() {\n this.selectedItems = [];\n this.data.forEach(q =>\n q.children.forEach(w => {\n if (w.checked) this.selectedItems.push(w);\n })\n );\n this.label = this.selectedItems[0]?.label;\n }\n\n @HostListener(\"document:click\", [\"$event\"])\n clickout(event) {\n const isClickedOutside = !this.eRef.nativeElement.contains(event.target);\n if (isClickedOutside) {\n !this.overlayRef?.hasAttached() && this.onCancel();\n }\n }\n filterByValue(array: ActionItem[], string: string) {\n return array.filter(o => o.label.toLowerCase().includes(string.toLowerCase()));\n }\n toggleDropdown() {\n this.isOpen = !this.isOpen;\n if (this.isOpen) this.openDropdown(this.popupContainer, this.selectElement.nativeElement, false);\n else this.onCancel();\n }\n private openDropdown(template: TemplateRef<Element>, origin: HTMLElement, openRight: boolean): void {\n const positionsBottom = [\n new ConnectionPositionPair({ originX: \"start\", originY: \"bottom\" }, { overlayX: \"start\", overlayY: \"top\" }, 0, 4),\n new ConnectionPositionPair({ originX: \"end\", originY: \"bottom\" }, { overlayX: \"end\", overlayY: \"top\" }, 0, 4)\n ];\n const positionsTop = [\n new ConnectionPositionPair({ originX: \"start\", originY: \"top\" }, { overlayX: \"start\", overlayY: \"bottom\" }, 0, -4),\n new ConnectionPositionPair({ originX: \"end\", originY: \"top\" }, { overlayX: \"end\", overlayY: \"bottom\" }, 0, -4)\n ];\n const positions = [\n ...(this.dropdownListPosition === \"Right\" ? positionsBottom.reverse() : positionsBottom),\n ...(this.dropdownListPosition === \"Right\" ? positionsTop.reverse() : positionsTop)\n ];\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(origin)\n .withPositions(\n openRight ? [new ConnectionPositionPair({ originX: \"end\", originY: \"top\" }, { overlayX: \"start\", overlayY: \"top\" }, 8)] : positions\n )\n .withPush(true);\n const configs = new OverlayConfig({\n hasBackdrop: !openRight,\n backdropClass: \"cdk-overlay-transparent-backdrop\",\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy,\n width: origin.clientWidth || 140\n });\n if (openRight) {\n this.subOverlayRef = this.overlay.create(configs);\n if (this.dropdownListWidth) this.subOverlayRef.updateSize({ width: this.dropdownListWidth });\n if (this.dropdownListHeight) this.subOverlayRef.updateSize({ height: this.dropdownListHeight });\n this.subOverlayRef.attach(new TemplatePortal(template, this.viewContainerRef));\n this.subOverlayRef.backdropClick().subscribe(() => {\n this.onCancel();\n });\n return;\n }\n this.overlayRef = this.overlay.create(configs);\n if (this.dropdownListWidth) this.overlayRef.updateSize({ width: this.dropdownListWidth });\n if (this.dropdownListHeight) this.overlayRef.updateSize({ height: this.dropdownListHeight });\n this.overlayRef.attach(new TemplatePortal(template, this.viewContainerRef));\n this.overlayRef.backdropClick().subscribe(() => {\n this.onCancel();\n });\n }\n selectItem(item: ActionItem) {\n if (this.data.some(q => q.children.some(w => w.value === item.value && w.checked))) {\n if (item.type === \"MULTIPLE\") this.selectedItems = this.selectedItems.filter(q => q.value !== item.value);\n this.data = this.data.map(q => ({\n ...q,\n children: q?.children?.map(e => ({\n ...e,\n checked: e.checked && e.value !== item.value\n }))\n }));\n } else {\n this.data = this.data.map(q => ({\n ...q,\n children: q?.children?.map(e => ({\n ...e,\n checked: (e.type === \"MULTIPLE\" && (e.checked || e.value === item.value)) || (e.type === \"SINGLE\" && e.value === item.value)\n }))\n }));\n if (item.type === \"MULTIPLE\") this.selectedItems.push({ ...item, checked: true });\n }\n this.label =\n item.type === \"MULTIPLE\" ? (this.selectedItems.length > 0 ? this.selectedItems[0]?.label : \"Select\") : item.checked ? \"Select\" : item.label;\n this.subItems = this.data.find(q => q.children?.some(w => w.value === item.value))?.children || [];\n this.onChange.emit(this.data);\n if (item.type === \"SINGLE\") this.toggleDropdown();\n }\n onHover(item: ActionItem, isHovered, element?: any) {\n if (isHovered) {\n this.subItems.length > 0 && this.subOverlayRef?.detach();\n this.subItems = this.data.find(q => q?.children?.some(w => w?.parentValue === item?.value))?.children || [];\n this.subItems.length > 0 && this.openDropdown(this.subPopupContainer, element?.nativeElement || element, true);\n } else {\n this.subItems = [];\n this.subOverlayRef?.detach();\n }\n }\n onCancel() {\n this.isOpen = false;\n this.overlayRef?.detach();\n this.subOverlayRef?.detach();\n }\n}\n\nexport interface ActionItems {\n label: string;\n value: string;\n icon?: string;\n disabled?: boolean;\n children?: ActionItem[];\n}\n\nexport interface ActionItem {\n type: \"SINGLE\" | \"MULTIPLE\";\n label: string;\n value: string;\n parentValue: string;\n icon?: string;\n checked: boolean;\n disabled?: boolean;\n}\n","import { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { ActionListComponent } from \"./action-list.component\";\nimport { CheckboxModule } from \"mis-crystal-design-system/checkbox\";\n\n@NgModule({\n declarations: [ActionListComponent],\n imports: [CommonModule, FormsModule, CheckboxModule],\n exports: [ActionListComponent]\n})\nexport class ActionListModule {\n static forRoot(): ModuleWithProviders<ActionListModule> {\n return { ngModule: ActionListModule, providers: [] };\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/mis-components/action-list/action-list.component.ts","../../../projects/mis-components/action-list/action-list.module.ts"],"names":["Object","create","__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","ActionListComponent","eRef","overlay","viewContainerRef","this","isOpen","subItems","data","height","width","label","dropdownListHeight","dropdownListWidth","dropdownListPosition","searchEnabled","noDataMessage","selectedItems","onChange","EventEmitter","prototype","ngOnInit","_this","forEach","q","children","w","checked","_a","filterByValue","array","string","filter","toLowerCase","includes","toggleDropdown","openDropdown","popupContainer","selectElement","nativeElement","onCancel","template","origin","openRight","positionsBottom","ConnectionPositionPair","originX","originY","overlayX","overlayY","positionsTop","positions","arguments","length","concat","__spread","reverse","positionStrategy","position","flexibleConnectedTo","withPositions","withPush","configs","OverlayConfig","hasBackdrop","backdropClass","scrollStrategy","scrollStrategies","reposition","clientWidth","subOverlayRef","updateSize","attach","TemplatePortal","backdropClick","subscribe","overlayRef","selectItem","item","some","type","map","assign","_b","find","emit","onHover","isHovered","element","detach","parentValue","subPopupContainer","_c","Component","args","selector","ElementRef","Overlay","ViewContainerRef","Input","Output","ViewChild","static","ActionListModule","forRoot","ngModule","providers","NgModule","declarations","imports","CommonModule","FormsModule","OverlayModule","CheckboxModule","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { ConnectionPositionPair, Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { TemplatePortal } from \"@angular/cdk/portal\";\nimport { Component, ElementRef, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild, ViewContainerRef } from \"@angular/core\";\n\n@Component({\n selector: \"mis-action-list\",\n templateUrl: \"./action-list.component.html\",\n styleUrls: [\"./action-list.component.scss\"]\n})\nexport class ActionListComponent implements OnInit {\n isOpen = false;\n\n subItems: ActionItem[] = [];\n\n @Input() data: ActionItems[] = [];\n @Input() height: string = \"\";\n @Input() width: string = \"\";\n @Input() label: string = \"Select\";\n\n @Input() dropdownListHeight: string = \"\";\n @Input() dropdownListWidth: string = \"\";\n @Input() dropdownListPosition: \"Left\" | \"Right\" = \"Left\";\n\n @Input() searchEnabled: boolean = true;\n @Input() noDataMessage: string = \"No Data\";\n selectedItems: ActionItem[] = [];\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @ViewChild(\"select\", { static: false }) selectElement: ElementRef;\n @ViewChild(\"popupContainer\", { static: false }) popupContainer: TemplateRef<Element>;\n @ViewChild(\"subPopupContainer\", { static: false }) subPopupContainer: TemplateRef<Element>;\n private overlayRef: OverlayRef;\n private subOverlayRef: OverlayRef;\n\n constructor(private eRef: ElementRef, private overlay: Overlay, private viewContainerRef: ViewContainerRef) {}\n ngOnInit() {\n this.selectedItems = [];\n this.data.forEach(q =>\n q.children.forEach(w => {\n if (w.checked) this.selectedItems.push(w);\n })\n );\n this.label = this.selectedItems[0]?.label || this.label;\n }\n\n filterByValue(array: ActionItem[], string: string) {\n return array.filter(o => o.label.toLowerCase().includes(string.toLowerCase()));\n }\n toggleDropdown() {\n this.isOpen = !this.isOpen;\n if (this.isOpen) this.openDropdown(this.popupContainer, this.selectElement.nativeElement, false);\n else this.onCancel();\n }\n private openDropdown(template: TemplateRef<Element>, origin: HTMLElement, openRight: boolean): void {\n const positionsBottom = [\n new ConnectionPositionPair({ originX: \"start\", originY: \"bottom\" }, { overlayX: \"start\", overlayY: \"top\" }, 0, 4),\n new ConnectionPositionPair({ originX: \"end\", originY: \"bottom\" }, { overlayX: \"end\", overlayY: \"top\" }, 0, 4)\n ];\n const positionsTop = [\n new ConnectionPositionPair({ originX: \"start\", originY: \"top\" }, { overlayX: \"start\", overlayY: \"bottom\" }, 0, -4),\n new ConnectionPositionPair({ originX: \"end\", originY: \"top\" }, { overlayX: \"end\", overlayY: \"bottom\" }, 0, -4)\n ];\n const positions = [\n ...(this.dropdownListPosition === \"Right\" ? positionsBottom.reverse() : positionsBottom),\n ...(this.dropdownListPosition === \"Right\" ? positionsTop.reverse() : positionsTop)\n ];\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(origin)\n .withPositions(\n openRight ? [new ConnectionPositionPair({ originX: \"end\", originY: \"top\" }, { overlayX: \"start\", overlayY: \"top\" }, 8)] : positions\n )\n .withPush(true);\n const configs = new OverlayConfig({\n hasBackdrop: !openRight,\n backdropClass: \"cdk-overlay-transparent-backdrop\",\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy,\n width: origin.clientWidth || 140\n });\n if (openRight) {\n this.subOverlayRef = this.overlay.create(configs);\n if (this.dropdownListWidth) this.subOverlayRef.updateSize({ width: this.dropdownListWidth });\n if (this.dropdownListHeight) this.subOverlayRef.updateSize({ height: this.dropdownListHeight });\n this.subOverlayRef.attach(new TemplatePortal(template, this.viewContainerRef));\n this.subOverlayRef.backdropClick().subscribe(() => {\n this.onCancel();\n });\n return;\n }\n this.overlayRef = this.overlay.create(configs);\n if (this.dropdownListWidth) this.overlayRef.updateSize({ width: this.dropdownListWidth });\n if (this.dropdownListHeight) this.overlayRef.updateSize({ height: this.dropdownListHeight });\n this.overlayRef.attach(new TemplatePortal(template, this.viewContainerRef));\n this.overlayRef.backdropClick().subscribe(() => {\n this.onCancel();\n });\n }\n selectItem(item: ActionItem) {\n if (this.data.some(q => q.children.some(w => w.value === item.value && w.checked))) {\n if (item.type === \"MULTIPLE\") this.selectedItems = this.selectedItems.filter(q => q.value !== item.value);\n this.data = this.data.map(q => ({\n ...q,\n children: q?.children?.map(e => ({\n ...e,\n checked: e.checked && e.value !== item.value\n }))\n }));\n } else {\n this.data = this.data.map(q => ({\n ...q,\n children: q?.children?.map(e => ({\n ...e,\n checked: (e.type === \"MULTIPLE\" && (e.checked || e.value === item.value)) || (e.type === \"SINGLE\" && e.value === item.value)\n }))\n }));\n if (item.type === \"MULTIPLE\") this.selectedItems.push({ ...item, checked: true });\n }\n this.label =\n item.type === \"MULTIPLE\" ? (this.selectedItems.length > 0 ? this.selectedItems[0]?.label : \"Select\") : item.checked ? \"Select\" : item.label;\n this.subItems = this.data.find(q => q.children?.some(w => w.value === item.value))?.children || [];\n this.onChange.emit(this.data);\n if (item.type === \"SINGLE\") this.toggleDropdown();\n }\n onHover(item: ActionItem, isHovered, element?: any) {\n if (isHovered) {\n this.subItems.length > 0 && this.subOverlayRef?.detach();\n this.subItems = this.data.find(q => q?.children?.some(w => w?.parentValue === item?.value))?.children || [];\n this.subItems.length > 0 && this.openDropdown(this.subPopupContainer, element?.nativeElement || element, true);\n } else {\n this.subItems = [];\n this.subOverlayRef?.detach();\n }\n }\n onCancel() {\n this.isOpen = false;\n this.overlayRef?.detach();\n this.subOverlayRef?.detach();\n }\n}\n\nexport interface ActionItems {\n label: string;\n value: string;\n icon?: string;\n disabled?: boolean;\n children?: ActionItem[];\n}\n\nexport interface ActionItem {\n type: \"SINGLE\" | \"MULTIPLE\";\n label: string;\n value: string;\n parentValue: string;\n icon?: string;\n checked: boolean;\n disabled?: boolean;\n}\n","import { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { ActionListComponent } from \"./action-list.component\";\nimport { CheckboxModule } from \"mis-crystal-design-system/checkbox\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\n\n@NgModule({\n declarations: [ActionListComponent],\n imports: [CommonModule, FormsModule, OverlayModule, CheckboxModule],\n exports: [ActionListComponent]\n})\nexport class ActionListModule {\n static forRoot(): ModuleWithProviders<ActionListModule> {\n return { ngModule: ActionListModule, providers: [] };\n }\n}\n"]}
@@ -9,7 +9,7 @@
9
9
  var _this = this;
10
10
  this.overlay = overlay;
11
11
  this.viewContainerRef = viewContainerRef;
12
- this.placeholder = 'Select'; // placeholder for input
12
+ this.placeholder = "Select"; // placeholder for input
13
13
  this.debounceTime = 400; // wait time till which API call is paused
14
14
  this.minInputLength = 2; // min length after which API call is made
15
15
  this.multi = false; // maintain a list or emit value
@@ -31,7 +31,7 @@
31
31
  var _this = this;
32
32
  var _a, _b;
33
33
  if (this.multi && !this.uniqueKey) {
34
- throw new Error('[uniqueKey] required in multi mode.');
34
+ throw new Error("[uniqueKey] required in multi mode.");
35
35
  }
36
36
  if (this.disabled) {
37
37
  this.searchInput.disable();
@@ -70,16 +70,16 @@
70
70
  .position()
71
71
  .flexibleConnectedTo(origin)
72
72
  .withPositions([
73
- new overlay.ConnectionPositionPair({ originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' }),
74
- new overlay.ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' }),
73
+ new overlay.ConnectionPositionPair({ originX: "start", originY: "bottom" }, { overlayX: "start", overlayY: "top" }),
74
+ new overlay.ConnectionPositionPair({ originX: "start", originY: "top" }, { overlayX: "start", overlayY: "bottom" })
75
75
  ])
76
76
  .withPush(true);
77
77
  var configs = new overlay.OverlayConfig({
78
78
  hasBackdrop: true,
79
- backdropClass: 'cdk-overlay-transparent-backdrop',
79
+ backdropClass: "cdk-overlay-transparent-backdrop",
80
80
  scrollStrategy: this.overlay.scrollStrategies.reposition(),
81
81
  positionStrategy: positionStrategy,
82
- width: origin.clientWidth,
82
+ width: origin.clientWidth
83
83
  });
84
84
  this.overlayRef = this.overlay.create(configs);
85
85
  this.overlayRef.attach(new portal.TemplatePortal(template, this.viewContainerRef));
@@ -123,7 +123,7 @@
123
123
  _this.input.nativeElement.scrollIntoView();
124
124
  }, 10);
125
125
  }
126
- this.searchInput.patchValue('');
126
+ this.searchInput.patchValue("");
127
127
  this.data = [];
128
128
  }
129
129
  this.closeDropdown();
@@ -136,7 +136,7 @@
136
136
  this.selections.delete(item[this.uniqueKey]);
137
137
  this.setControlValue(this.selectedItems);
138
138
  // tslint:disable-next-line
139
- this.input['nativeElement'].focus();
139
+ this.input["nativeElement"].focus();
140
140
  };
141
141
  AsyncDropdownComponent.prototype.setControlValue = function (value) {
142
142
  var _a;
@@ -157,8 +157,8 @@
157
157
  }());
158
158
  AsyncDropdownComponent.decorators = [
159
159
  { type: core.Component, args: [{
160
- selector: 'mis-async-search-dropdown',
161
- template: "<div\n class=\"dd-wrapper\"\n [ngClass]=\"{ opened: opened, disabled: disabled, readonly: readonly }\"\n #ddBtn\n>\n <div class=\"selected-list\" *ngIf=\"multi && selections.size > 0\">\n <span *ngFor=\"let item of selectedItems\" (click)=\"removeItem(item)\">{{item[displayKey]}} <span class=\"ic-navigation-cancel-24\"></span> </span>\n </div>\n <div class=\"search-input\">\n <span class=\"ic-action-search-24\"></span>\n <input\n tabindex=\"0\"\n type=\"text\"\n class=\"black-text\"\n #input\n [placeholder]=\"placeholder\"\n [formControl]=\"searchInput\"\n />\n </div>\n</div>\n\n<ng-template #dd>\n <div class=\"dd-list\" *ngIf=\"data.length\">\n <ng-container *ngFor=\"let item of data\">\n <div (click)=\"selectData(item, false)\">\n <ng-container *ngIf=\"customItem; else standardItem\" [ngTemplateOutlet]=\"customItem\" [ngTemplateOutletContext]=\"{$implicit:item}\"></ng-container>\n <ng-template #standardItem>\n <div class=\"item\">\n <div class=\"value\">\n <div class=\"primary\">\n {{ item[displayKey] }}\n </div>\n <div class=\"secondary\">\n {{item[secondaryDisplayKey]}}\n </div>\n </div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </div>\n</ng-template>\n",
160
+ selector: "mis-async-search-dropdown",
161
+ template: "<div class=\"dd-wrapper\" [ngClass]=\"{ opened: opened, disabled: disabled, readonly: readonly }\" #ddBtn>\n <div class=\"selected-list\" *ngIf=\"multi && selections.size > 0\">\n <span *ngFor=\"let item of selectedItems\" (click)=\"removeItem(item)\">{{ item[displayKey] }} <span class=\"ic-navigation-cancel-24\"></span> </span>\n </div>\n <div class=\"search-input\">\n <span class=\"ic-action-search-24\"></span>\n <input tabindex=\"0\" type=\"text\" class=\"black-text\" #input [placeholder]=\"placeholder\" [formControl]=\"searchInput\" />\n </div>\n</div>\n\n<ng-template #dd>\n <div class=\"dd-list\" *ngIf=\"data.length\">\n <ng-container *ngFor=\"let item of data\">\n <div (click)=\"selectData(item, false)\">\n <ng-container\n *ngIf=\"customItem; else standardItem\"\n [ngTemplateOutlet]=\"customItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n <ng-template #standardItem>\n <div class=\"item\">\n <div class=\"value\">\n <div class=\"primary\">\n {{ item[displayKey] }}\n </div>\n <div class=\"secondary\">\n {{ item[secondaryDisplayKey] }}\n </div>\n </div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </div>\n</ng-template>\n",
162
162
  styles: [".dd-wrapper{background:#fff;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:4px;display:block;cursor:pointer;outline:none}.dd-wrapper.opened,.dd-wrapper:hover{background:#f5f5f5}.dd-wrapper .selected-list{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:4px;padding:8px 16px}.dd-wrapper .selected-list>span{display:inline-block;background:#e0e0e0;border-radius:16px;padding:6px 12px;cursor:pointer;vertical-align:middle}.dd-wrapper:focus-within{border-color:#0937b2;background:#f5f5f5}.dd-wrapper.disabled,.dd-wrapper.readonly{pointer-events:none}.search-input{position:relative;border-radius:8px}.search-input input{outline:none;padding:10px 12px 10px 48px;background-color:transparent;font-size:15px;line-height:20px;color:#181f33;border-radius:inherit;border:1px solid transparent;width:100%}.search-input span{position:absolute;top:50%;transform:translateY(-50%);font-size:24px;width:24;line-height:24px;height:24px;left:10px}.dd-list{padding:8px 0;max-height:200px;background:#fff;box-shadow:0 12px 24px rgba(0,0,0,.12),0 4px 8px rgba(0,0,0,.12);border-radius:8px;min-width:100%;overflow-y:auto}.dd-list::-webkit-scrollbar{width:8px;border-radius:4px}.dd-list::-webkit-scrollbar-track{background:#fff;border-radius:4px}.dd-list::-webkit-scrollbar-thumb{background:#929dab;border-radius:4px}.dd-list::-webkit-scrollbar-thumb:hover{background:#929dab}.dd-list .item{padding:8px 16px;cursor:pointer}.dd-list .item .disabled{color:#6a737d!important;pointer-events:none}.dd-list .item .value{display:flex;justify-content:space-between;align-items:center}.dd-list .item .value .primary,.dd-list .item .value .secondary{font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.dd-list .item .reason{font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#6a737d}.dd-list .item:hover:not(.disabled){background:#f5f7fc}"]
163
163
  },] }
164
164
  ];
@@ -178,10 +178,10 @@
178
178
  control: [{ type: core.Input }],
179
179
  disabled: [{ type: core.Input }],
180
180
  readonly: [{ type: core.Input }],
181
- origin: [{ type: core.ViewChild, args: ['ddBtn', { static: false },] }],
182
- input: [{ type: core.ViewChild, args: ['input', { static: false },] }],
183
- dd: [{ type: core.ViewChild, args: ['dd', { static: false },] }],
184
- customItem: [{ type: core.ContentChild, args: ['misCustomItem', { static: false },] }],
181
+ origin: [{ type: core.ViewChild, args: ["ddBtn", { static: false },] }],
182
+ input: [{ type: core.ViewChild, args: ["input", { static: false },] }],
183
+ dd: [{ type: core.ViewChild, args: ["dd", { static: false },] }],
184
+ customItem: [{ type: core.ContentChild, args: ["misCustomItem", { static: false },] }],
185
185
  onSelect: [{ type: core.Output }]
186
186
  };
187
187
 
@@ -194,7 +194,7 @@
194
194
  { type: core.NgModule, args: [{
195
195
  declarations: [AsyncDropdownComponent],
196
196
  imports: [common.CommonModule, overlay.OverlayModule, forms.ReactiveFormsModule, forms.FormsModule],
197
- exports: [AsyncDropdownComponent],
197
+ exports: [AsyncDropdownComponent]
198
198
  },] }
199
199
  ];
200
200
 
@@ -1 +1 @@
1
- {"version":3,"file":"mis-crystal-design-system-async-search-dropdown.umd.js","sources":["../../../projects/mis-components/async-search-dropdown/async-dropdown.component.ts","../../../projects/mis-components/async-search-dropdown/async-dropdown.module.ts","../../../projects/mis-components/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.ts"],"sourcesContent":["import {\n ConnectionPositionPair,\n Overlay,\n OverlayConfig,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { AbstractControl, FormControl } from '@angular/forms';\nimport { Observable, Subscription } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter } from 'rxjs/operators';\n\n// tslint:disable-next-line\ntype IListData = any;\n\n@Component({\n selector: 'mis-async-search-dropdown',\n templateUrl: './async-dropdown.component.html',\n styleUrls: ['./async-dropdown.component.scss'],\n})\nexport class AsyncDropdownComponent implements OnInit, OnChanges, OnDestroy {\n constructor(\n private overlay: Overlay,\n private viewContainerRef: ViewContainerRef\n ) {}\n\n @Input() httpStream!: (searchKey: string) => Observable<IListData>; // function that returns an httpobservable\n @Input() displayKey!: string; // string to show value in list\n @Input() secondaryDisplayKey!: string; // string to display secondary value\n @Input() placeholder = 'Select'; // placeholder for input\n @Input() debounceTime = 400; // wait time till which API call is paused\n @Input() minInputLength = 2; // min length after which API call is made\n @Input() multi = false; // maintain a list or emit value\n @Input() uniqueKey: string; // for identifying unique values\n @Input() control: AbstractControl | null; // form control for reactive forms\n @Input() disabled: boolean; // disable actions on component\n @Input() readonly: boolean; // make component readonly\n @ViewChild('ddBtn', { static: false }) origin: ElementRef;\n @ViewChild('input', { static: false }) input: ElementRef;\n @ViewChild('dd', { static: false }) dd: TemplateRef<Element>;\n @ContentChild('misCustomItem', { static: false })\n customItem: TemplateRef<Element>;\n // tslint:disable-next-line\n @Output() onSelect: EventEmitter<IListData | IListData[]> = new EventEmitter(\n true\n ); // emit selected values\n searchInput: FormControl = new FormControl();\n data: IListData[] = [];\n opened = false;\n // tslint:disable-next-line\n selections: Map<string, any> = new Map();\n private searchSubscription: Subscription;\n private overlayRef: OverlayRef;\n controlSubscription: Subscription | undefined;\n\n ngOnInit(): void {\n if (this.multi && !this.uniqueKey) {\n throw new Error('[uniqueKey] required in multi mode.');\n }\n if (this.disabled) {\n this.searchInput.disable();\n }\n this.searchSubscription = this.searchInput.valueChanges\n .pipe(\n filter((val) => val && val.length >= this.minInputLength),\n debounceTime(this.debounceTime),\n distinctUntilChanged()\n )\n .subscribe((res) => {\n this.httpStream(res).subscribe((list) => {\n this.data = list;\n if (!this.overlayRef?.hasAttached() && list.length > 0) {\n this.openDropdown(this.dd, this.origin.nativeElement);\n }\n });\n });\n if (this.control?.value) {\n this.handleControlChanges(this.control.value);\n }\n this.controlSubscription = this.control?.valueChanges.subscribe(\n this.handleControlChanges\n );\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes.disabled) {\n this.searchInput.enable();\n if (this.disabled) {\n this.searchInput.disable();\n }\n }\n }\n\n ngOnDestroy(): void {\n this.searchSubscription?.unsubscribe();\n }\n\n private handleControlChanges = (values: IListData[]) => {\n values.forEach((el) => {\n this.selectData(el, true);\n });\n // tslint:disable-next-line\n };\n\n private openDropdown(\n template: TemplateRef<Element>,\n origin: HTMLElement\n ): void {\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(origin)\n .withPositions([\n new ConnectionPositionPair(\n { originX: 'start', originY: 'bottom' },\n { overlayX: 'start', overlayY: 'top' }\n ),\n new ConnectionPositionPair(\n { originX: 'start', originY: 'top' },\n { overlayX: 'start', overlayY: 'bottom' }\n ),\n ])\n .withPush(true);\n\n const configs = new OverlayConfig({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy,\n width: origin.clientWidth,\n });\n this.overlayRef = this.overlay.create(configs);\n this.overlayRef.attach(new TemplatePortal(template, this.viewContainerRef));\n this.overlayRef.backdropClick().subscribe((res) => {\n this.closeDropdown();\n });\n }\n\n /**\n * closes the dropdown\n */\n closeDropdown(): void {\n this.opened = false;\n this.overlayRef?.detach();\n this.data = [];\n }\n\n /**\n *\n * @param item item to select\n * if item property disabled is set to true, selection will be disabled\n * @param effectedFromOutside set to true if calling from parent component, if true will focus on search input\n */\n selectData(item: IListData, effectedFromOutside = true): void {\n if (item.disabled) {\n return;\n }\n if (!this.multi) {\n this.searchInput.patchValue(item[this.displayKey], { emitEvent: false });\n this.setControlValue(item);\n } else {\n if (!this.selections.has(item[this.uniqueKey])) {\n this.selections.set(item[this.uniqueKey], item);\n }\n this.setControlValue(this.selectedItems);\n if (!effectedFromOutside) {\n setTimeout(() => {\n this.input.nativeElement.focus();\n this.input.nativeElement.scrollIntoView();\n }, 10);\n }\n this.searchInput.patchValue('');\n this.data = [];\n }\n this.closeDropdown();\n }\n\n /**\n *\n * @param item remove item from selected list\n */\n removeItem(item: IListData): void {\n this.selections.delete(item[this.uniqueKey]);\n this.setControlValue(this.selectedItems);\n // tslint:disable-next-line\n this.input['nativeElement'].focus();\n }\n\n private setControlValue(value: IListData): void {\n this.onSelect.emit(value);\n this.control?.patchValue(value, { emitEvent: false });\n }\n\n /**\n * @returns list of selected items\n */\n get selectedItems(): Array<IListData> {\n return Array.from(this.selections.values());\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { AsyncDropdownComponent } from './async-dropdown.component';\n\n@NgModule({\n declarations: [AsyncDropdownComponent],\n imports: [CommonModule, OverlayModule, ReactiveFormsModule, FormsModule],\n exports: [AsyncDropdownComponent],\n})\nexport class AsyncDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["EventEmitter","FormControl","filter","debounceTime","distinctUntilChanged","ConnectionPositionPair","OverlayConfig","TemplatePortal","Component","Overlay","ViewContainerRef","Input","ViewChild","ContentChild","Output","NgModule","CommonModule","OverlayModule","ReactiveFormsModule","FormsModule"],"mappings":"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"}
1
+ {"version":3,"file":"mis-crystal-design-system-async-search-dropdown.umd.js","sources":["../../../projects/mis-components/async-search-dropdown/async-dropdown.component.ts","../../../projects/mis-components/async-search-dropdown/async-dropdown.module.ts","../../../projects/mis-components/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.ts"],"sourcesContent":["import { ConnectionPositionPair, Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { TemplatePortal } from \"@angular/cdk/portal\";\nimport {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from \"@angular/core\";\nimport { AbstractControl, FormControl } from \"@angular/forms\";\nimport { Observable, Subscription } from \"rxjs\";\nimport { debounceTime, distinctUntilChanged, filter } from \"rxjs/operators\";\n\n// tslint:disable-next-line\ntype IListData = any;\n\n@Component({\n selector: \"mis-async-search-dropdown\",\n templateUrl: \"./async-dropdown.component.html\",\n styleUrls: [\"./async-dropdown.component.scss\"]\n})\nexport class AsyncDropdownComponent implements OnInit, OnChanges, OnDestroy {\n constructor(private overlay: Overlay, private viewContainerRef: ViewContainerRef) {}\n\n @Input() httpStream!: (searchKey: string) => Observable<IListData>; // function that returns an httpobservable\n @Input() displayKey!: string; // string to show value in list\n @Input() secondaryDisplayKey!: string; // string to display secondary value\n @Input() placeholder = \"Select\"; // placeholder for input\n @Input() debounceTime = 400; // wait time till which API call is paused\n @Input() minInputLength = 2; // min length after which API call is made\n @Input() multi = false; // maintain a list or emit value\n @Input() uniqueKey: string; // for identifying unique values\n @Input() control: AbstractControl | null; // form control for reactive forms\n @Input() disabled: boolean; // disable actions on component\n @Input() readonly: boolean; // make component readonly\n @ViewChild(\"ddBtn\", { static: false }) origin: ElementRef;\n @ViewChild(\"input\", { static: false }) input: ElementRef;\n @ViewChild(\"dd\", { static: false }) dd: TemplateRef<Element>;\n @ContentChild(\"misCustomItem\", { static: false })\n customItem: TemplateRef<Element>;\n // tslint:disable-next-line\n @Output() onSelect: EventEmitter<IListData | IListData[]> = new EventEmitter(true); // emit selected values\n searchInput: FormControl = new FormControl();\n data: IListData[] = [];\n opened = false;\n // tslint:disable-next-line\n selections: Map<string, any> = new Map();\n private searchSubscription: Subscription;\n private overlayRef: OverlayRef;\n controlSubscription: Subscription | undefined;\n\n ngOnInit(): void {\n if (this.multi && !this.uniqueKey) {\n throw new Error(\"[uniqueKey] required in multi mode.\");\n }\n if (this.disabled) {\n this.searchInput.disable();\n }\n this.searchSubscription = this.searchInput.valueChanges\n .pipe(\n filter(val => val && val.length >= this.minInputLength),\n debounceTime(this.debounceTime),\n distinctUntilChanged()\n )\n .subscribe(res => {\n this.httpStream(res).subscribe(list => {\n this.data = list;\n if (!this.overlayRef?.hasAttached() && list.length > 0) {\n this.openDropdown(this.dd, this.origin.nativeElement);\n }\n });\n });\n if (this.control?.value) {\n this.handleControlChanges(this.control.value);\n }\n this.controlSubscription = this.control?.valueChanges.subscribe(this.handleControlChanges);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes.disabled) {\n this.searchInput.enable();\n if (this.disabled) {\n this.searchInput.disable();\n }\n }\n }\n\n ngOnDestroy(): void {\n this.searchSubscription?.unsubscribe();\n }\n\n private handleControlChanges = (values: IListData[]) => {\n values.forEach(el => {\n this.selectData(el, true);\n });\n // tslint:disable-next-line\n };\n\n private openDropdown(template: TemplateRef<Element>, origin: HTMLElement): void {\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(origin)\n .withPositions([\n new ConnectionPositionPair({ originX: \"start\", originY: \"bottom\" }, { overlayX: \"start\", overlayY: \"top\" }),\n new ConnectionPositionPair({ originX: \"start\", originY: \"top\" }, { overlayX: \"start\", overlayY: \"bottom\" })\n ])\n .withPush(true);\n\n const configs = new OverlayConfig({\n hasBackdrop: true,\n backdropClass: \"cdk-overlay-transparent-backdrop\",\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy,\n width: origin.clientWidth\n });\n this.overlayRef = this.overlay.create(configs);\n this.overlayRef.attach(new TemplatePortal(template, this.viewContainerRef));\n this.overlayRef.backdropClick().subscribe(res => {\n this.closeDropdown();\n });\n }\n\n /**\n * closes the dropdown\n */\n closeDropdown(): void {\n this.opened = false;\n this.overlayRef?.detach();\n this.data = [];\n }\n\n /**\n *\n * @param item item to select\n * if item property disabled is set to true, selection will be disabled\n * @param effectedFromOutside set to true if calling from parent component, if true will focus on search input\n */\n selectData(item: IListData, effectedFromOutside = true): void {\n if (item.disabled) {\n return;\n }\n if (!this.multi) {\n this.searchInput.patchValue(item[this.displayKey], { emitEvent: false });\n this.setControlValue(item);\n } else {\n if (!this.selections.has(item[this.uniqueKey])) {\n this.selections.set(item[this.uniqueKey], item);\n }\n this.setControlValue(this.selectedItems);\n if (!effectedFromOutside) {\n setTimeout(() => {\n this.input.nativeElement.focus();\n this.input.nativeElement.scrollIntoView();\n }, 10);\n }\n this.searchInput.patchValue(\"\");\n this.data = [];\n }\n this.closeDropdown();\n }\n\n /**\n *\n * @param item remove item from selected list\n */\n removeItem(item: IListData): void {\n this.selections.delete(item[this.uniqueKey]);\n this.setControlValue(this.selectedItems);\n // tslint:disable-next-line\n this.input[\"nativeElement\"].focus();\n }\n\n private setControlValue(value: IListData): void {\n this.onSelect.emit(value);\n this.control?.patchValue(value, { emitEvent: false });\n }\n\n /**\n * @returns list of selected items\n */\n get selectedItems(): Array<IListData> {\n return Array.from(this.selections.values());\n }\n}\n","import { OverlayModule } from \"@angular/cdk/overlay\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { AsyncDropdownComponent } from \"./async-dropdown.component\";\n\n@NgModule({\n declarations: [AsyncDropdownComponent],\n imports: [CommonModule, OverlayModule, ReactiveFormsModule, FormsModule],\n exports: [AsyncDropdownComponent]\n})\nexport class AsyncDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["EventEmitter","FormControl","filter","debounceTime","distinctUntilChanged","ConnectionPositionPair","OverlayConfig","TemplatePortal","Component","Overlay","ViewContainerRef","Input","ViewChild","ContentChild","Output","NgModule","CommonModule","OverlayModule","ReactiveFormsModule","FormsModule"],"mappings":";;;;;;;QA8BE,gCAAoB,OAAgB,EAAU,gBAAkC;YAAhF,iBAAoF;YAAhE,YAAO,GAAP,OAAO,CAAS;YAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;YAKvE,gBAAW,GAAG,QAAQ,CAAC;YACvB,iBAAY,GAAG,GAAG,CAAC;YACnB,mBAAc,GAAG,CAAC,CAAC;YACnB,UAAK,GAAG,KAAK,CAAC;;YAWb,aAAQ,GAA0C,IAAIA,iBAAY,CAAC,IAAI,CAAC,CAAC;YACnF,gBAAW,GAAgB,IAAIC,iBAAW,EAAE,CAAC;YAC7C,SAAI,GAAgB,EAAE,CAAC;YACvB,WAAM,GAAG,KAAK,CAAC;;YAEf,eAAU,GAAqB,IAAI,GAAG,EAAE,CAAC;YA6CjC,yBAAoB,GAAG,UAAC,MAAmB;gBACjD,MAAM,CAAC,OAAO,CAAC,UAAA,EAAE;oBACf,KAAI,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;iBAC3B,CAAC,CAAC;;aAEJ,CAAC;SA1EkF;QA6BpF,yCAAQ,GAAR;YAAA,iBAyBC;;YAxBC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACjC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aACxD;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;aAC5B;YACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY;iBACpD,IAAI,CACHC,gBAAM,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,KAAI,CAAC,cAAc,GAAA,CAAC,EACvDC,sBAAY,CAAC,IAAI,CAAC,YAAY,CAAC,EAC/BC,8BAAoB,EAAE,CACvB;iBACA,SAAS,CAAC,UAAA,GAAG;gBACZ,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,UAAA,IAAI;;oBACjC,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oBACjB,IAAI,QAAC,KAAI,CAAC,UAAU,0CAAE,WAAW,GAAE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;wBACtD,KAAI,CAAC,YAAY,CAAC,KAAI,CAAC,EAAE,EAAE,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;qBACvD;iBACF,CAAC,CAAC;aACJ,CAAC,CAAC;YACL,UAAI,IAAI,CAAC,OAAO,0CAAE,KAAK,EAAE;gBACvB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aAC/C;YACD,IAAI,CAAC,mBAAmB,SAAG,IAAI,CAAC,OAAO,0CAAE,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;SAC5F;QAED,4CAAW,GAAX,UAAY,OAAsB;YAChC,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE;gBAC/B,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACjB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;iBAC5B;aACF;SACF;QAED,4CAAW,GAAX;;YACE,MAAA,IAAI,CAAC,kBAAkB,0CAAE,WAAW,GAAG;SACxC;QASO,6CAAY,GAAZ,UAAa,QAA8B,EAAE,MAAmB;YAAhE,iBAsBP;YArBC,IAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO;iBAClC,QAAQ,EAAE;iBACV,mBAAmB,CAAC,MAAM,CAAC;iBAC3B,aAAa,CAAC;gBACb,IAAIC,8BAAsB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;gBAC3G,IAAIA,8BAAsB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;aAC5G,CAAC;iBACD,QAAQ,CAAC,IAAI,CAAC,CAAC;YAElB,IAAM,OAAO,GAAG,IAAIC,qBAAa,CAAC;gBAChC,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,kCAAkC;gBACjD,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE;gBAC1D,gBAAgB,kBAAA;gBAChB,KAAK,EAAE,MAAM,CAAC,WAAW;aAC1B,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAIC,qBAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC5E,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,UAAA,GAAG;gBAC3C,KAAI,CAAC,aAAa,EAAE,CAAC;aACtB,CAAC,CAAC;SACJ;;;;QAKD,8CAAa,GAAb;;YACE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,MAAA,IAAI,CAAC,UAAU,0CAAE,MAAM,GAAG;YAC1B,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;SAChB;;;;;;;QAQD,2CAAU,GAAV,UAAW,IAAe,EAAE,mBAA0B;YAAtD,iBAsBC;YAtB2B,oCAAA,EAAA,0BAA0B;YACpD,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,OAAO;aACR;YACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACf,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;aAC5B;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE;oBAC9C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;iBACjD;gBACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACzC,IAAI,CAAC,mBAAmB,EAAE;oBACxB,UAAU,CAAC;wBACT,KAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;wBACjC,KAAI,CAAC,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;qBAC3C,EAAE,EAAE,CAAC,CAAC;iBACR;gBACD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAChC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;aAChB;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;;;;;QAMD,2CAAU,GAAV,UAAW,IAAe;YACxB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;;YAEzC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;SACrC;QAEO,gDAAe,GAAf,UAAgB,KAAgB;;YACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,MAAA,IAAI,CAAC,OAAO,0CAAE,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;SACvD;QAKD,sBAAI,iDAAa;;;;iBAAjB;gBACE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;aAC7C;;;WAAA;;;;gBAtKFC,cAAS,SAAC;oBACT,QAAQ,EAAE,2BAA2B;oBACrC,03CAA8C;;iBAE/C;;;gBA5BgCC,eAAO;gBAetCC,qBAAgB;;;6BAiBfC,UAAK;6BACLA,UAAK;sCACLA,UAAK;8BACLA,UAAK;+BACLA,UAAK;iCACLA,UAAK;wBACLA,UAAK;4BACLA,UAAK;0BACLA,UAAK;2BACLA,UAAK;2BACLA,UAAK;yBACLC,cAAS,SAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;wBACpCA,cAAS,SAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;qBACpCA,cAAS,SAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;6BACjCC,iBAAY,SAAC,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;2BAG/CC,WAAM;;;;QCtCT;;;;;gBALCC,aAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;oBACtC,OAAO,EAAE,CAACC,mBAAY,EAAEC,qBAAa,EAAEC,yBAAmB,EAAEC,iBAAW,CAAC;oBACxE,OAAO,EAAE,CAAC,sBAAsB,CAAC;iBAClC;;;ICVD;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/cdk/overlay"),require("@angular/cdk/portal"),require("@angular/core"),require("@angular/forms"),require("rxjs/operators"),require("@angular/common")):"function"==typeof define&&define.amd?define("mis-crystal-design-system/async-search-dropdown",["exports","@angular/cdk/overlay","@angular/cdk/portal","@angular/core","@angular/forms","rxjs/operators","@angular/common"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self)["mis-crystal-design-system"]=e["mis-crystal-design-system"]||{},e["mis-crystal-design-system"]["async-search-dropdown"]={}),e.ng.cdk.overlay,e.ng.cdk.portal,e.ng.core,e.ng.forms,e.rxjs.operators,e.ng.common)}(this,(function(e,t,n,i,o,r,s){"use strict";var a=function(){function e(e,t){var n=this;this.overlay=e,this.viewContainerRef=t,this.placeholder="Select",this.debounceTime=400,this.minInputLength=2,this.multi=!1,this.onSelect=new i.EventEmitter(!0),this.searchInput=new o.FormControl,this.data=[],this.opened=!1,this.selections=new Map,this.handleControlChanges=function(e){e.forEach((function(e){n.selectData(e,!0)}))}}return e.prototype.ngOnInit=function(){var e,t,n=this;if(this.multi&&!this.uniqueKey)throw new Error("[uniqueKey] required in multi mode.");this.disabled&&this.searchInput.disable(),this.searchSubscription=this.searchInput.valueChanges.pipe(r.filter((function(e){return e&&e.length>=n.minInputLength})),r.debounceTime(this.debounceTime),r.distinctUntilChanged()).subscribe((function(e){n.httpStream(e).subscribe((function(e){var t;n.data=e,!(null===(t=n.overlayRef)||void 0===t?void 0:t.hasAttached())&&e.length>0&&n.openDropdown(n.dd,n.origin.nativeElement)}))})),(null===(e=this.control)||void 0===e?void 0:e.value)&&this.handleControlChanges(this.control.value),this.controlSubscription=null===(t=this.control)||void 0===t?void 0:t.valueChanges.subscribe(this.handleControlChanges)},e.prototype.ngOnChanges=function(e){e&&e.disabled&&(this.searchInput.enable(),this.disabled&&this.searchInput.disable())},e.prototype.ngOnDestroy=function(){var e;null===(e=this.searchSubscription)||void 0===e||e.unsubscribe()},e.prototype.openDropdown=function(e,i){var o=this,r=this.overlay.position().flexibleConnectedTo(i).withPositions([new t.ConnectionPositionPair({originX:"start",originY:"bottom"},{overlayX:"start",overlayY:"top"}),new t.ConnectionPositionPair({originX:"start",originY:"top"},{overlayX:"start",overlayY:"bottom"})]).withPush(!0),s=new t.OverlayConfig({hasBackdrop:!0,backdropClass:"cdk-overlay-transparent-backdrop",scrollStrategy:this.overlay.scrollStrategies.reposition(),positionStrategy:r,width:i.clientWidth});this.overlayRef=this.overlay.create(s),this.overlayRef.attach(new n.TemplatePortal(e,this.viewContainerRef)),this.overlayRef.backdropClick().subscribe((function(e){o.closeDropdown()}))},e.prototype.closeDropdown=function(){var e;this.opened=!1,null===(e=this.overlayRef)||void 0===e||e.detach(),this.data=[]},e.prototype.selectData=function(e,t){var n=this;void 0===t&&(t=!0),e.disabled||(this.multi?(this.selections.has(e[this.uniqueKey])||this.selections.set(e[this.uniqueKey],e),this.setControlValue(this.selectedItems),t||setTimeout((function(){n.input.nativeElement.focus(),n.input.nativeElement.scrollIntoView()}),10),this.searchInput.patchValue(""),this.data=[]):(this.searchInput.patchValue(e[this.displayKey],{emitEvent:!1}),this.setControlValue(e)),this.closeDropdown())},e.prototype.removeItem=function(e){this.selections.delete(e[this.uniqueKey]),this.setControlValue(this.selectedItems),this.input.nativeElement.focus()},e.prototype.setControlValue=function(e){var t;this.onSelect.emit(e),null===(t=this.control)||void 0===t||t.patchValue(e,{emitEvent:!1})},Object.defineProperty(e.prototype,"selectedItems",{get:function(){return Array.from(this.selections.values())},enumerable:!1,configurable:!0}),e}();a.decorators=[{type:i.Component,args:[{selector:"mis-async-search-dropdown",template:'<div\n class="dd-wrapper"\n [ngClass]="{ opened: opened, disabled: disabled, readonly: readonly }"\n #ddBtn\n>\n <div class="selected-list" *ngIf="multi && selections.size > 0">\n <span *ngFor="let item of selectedItems" (click)="removeItem(item)">{{item[displayKey]}} <span class="ic-navigation-cancel-24"></span> </span>\n </div>\n <div class="search-input">\n <span class="ic-action-search-24"></span>\n <input\n tabindex="0"\n type="text"\n class="black-text"\n #input\n [placeholder]="placeholder"\n [formControl]="searchInput"\n />\n </div>\n</div>\n\n<ng-template #dd>\n <div class="dd-list" *ngIf="data.length">\n <ng-container *ngFor="let item of data">\n <div (click)="selectData(item, false)">\n <ng-container *ngIf="customItem; else standardItem" [ngTemplateOutlet]="customItem" [ngTemplateOutletContext]="{$implicit:item}"></ng-container>\n <ng-template #standardItem>\n <div class="item">\n <div class="value">\n <div class="primary">\n {{ item[displayKey] }}\n </div>\n <div class="secondary">\n {{item[secondaryDisplayKey]}}\n </div>\n </div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </div>\n</ng-template>\n',styles:[".dd-wrapper{background:#fff;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:4px;display:block;cursor:pointer;outline:none}.dd-wrapper.opened,.dd-wrapper:hover{background:#f5f5f5}.dd-wrapper .selected-list{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:4px;padding:8px 16px}.dd-wrapper .selected-list>span{display:inline-block;background:#e0e0e0;border-radius:16px;padding:6px 12px;cursor:pointer;vertical-align:middle}.dd-wrapper:focus-within{border-color:#0937b2;background:#f5f5f5}.dd-wrapper.disabled,.dd-wrapper.readonly{pointer-events:none}.search-input{position:relative;border-radius:8px}.search-input input{outline:none;padding:10px 12px 10px 48px;background-color:transparent;font-size:15px;line-height:20px;color:#181f33;border-radius:inherit;border:1px solid transparent;width:100%}.search-input span{position:absolute;top:50%;transform:translateY(-50%);font-size:24px;width:24;line-height:24px;height:24px;left:10px}.dd-list{padding:8px 0;max-height:200px;background:#fff;box-shadow:0 12px 24px rgba(0,0,0,.12),0 4px 8px rgba(0,0,0,.12);border-radius:8px;min-width:100%;overflow-y:auto}.dd-list::-webkit-scrollbar{width:8px;border-radius:4px}.dd-list::-webkit-scrollbar-track{background:#fff;border-radius:4px}.dd-list::-webkit-scrollbar-thumb{background:#929dab;border-radius:4px}.dd-list::-webkit-scrollbar-thumb:hover{background:#929dab}.dd-list .item{padding:8px 16px;cursor:pointer}.dd-list .item .disabled{color:#6a737d!important;pointer-events:none}.dd-list .item .value{display:flex;justify-content:space-between;align-items:center}.dd-list .item .value .primary,.dd-list .item .value .secondary{font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.dd-list .item .reason{font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#6a737d}.dd-list .item:hover:not(.disabled){background:#f5f7fc}"]}]}],a.ctorParameters=function(){return[{type:t.Overlay},{type:i.ViewContainerRef}]},a.propDecorators={httpStream:[{type:i.Input}],displayKey:[{type:i.Input}],secondaryDisplayKey:[{type:i.Input}],placeholder:[{type:i.Input}],debounceTime:[{type:i.Input}],minInputLength:[{type:i.Input}],multi:[{type:i.Input}],uniqueKey:[{type:i.Input}],control:[{type:i.Input}],disabled:[{type:i.Input}],readonly:[{type:i.Input}],origin:[{type:i.ViewChild,args:["ddBtn",{static:!1}]}],input:[{type:i.ViewChild,args:["input",{static:!1}]}],dd:[{type:i.ViewChild,args:["dd",{static:!1}]}],customItem:[{type:i.ContentChild,args:["misCustomItem",{static:!1}]}],onSelect:[{type:i.Output}]};var l=function(){};l.decorators=[{type:i.NgModule,args:[{declarations:[a],imports:[s.CommonModule,t.OverlayModule,o.ReactiveFormsModule,o.FormsModule],exports:[a]}]}],e.AsyncDropdownComponent=a,e.AsyncDropdownModule=l,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/cdk/overlay"),require("@angular/cdk/portal"),require("@angular/core"),require("@angular/forms"),require("rxjs/operators"),require("@angular/common")):"function"==typeof define&&define.amd?define("mis-crystal-design-system/async-search-dropdown",["exports","@angular/cdk/overlay","@angular/cdk/portal","@angular/core","@angular/forms","rxjs/operators","@angular/common"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self)["mis-crystal-design-system"]=e["mis-crystal-design-system"]||{},e["mis-crystal-design-system"]["async-search-dropdown"]={}),e.ng.cdk.overlay,e.ng.cdk.portal,e.ng.core,e.ng.forms,e.rxjs.operators,e.ng.common)}(this,(function(e,t,n,i,o,r,s){"use strict";var a=function(){function e(e,t){var n=this;this.overlay=e,this.viewContainerRef=t,this.placeholder="Select",this.debounceTime=400,this.minInputLength=2,this.multi=!1,this.onSelect=new i.EventEmitter(!0),this.searchInput=new o.FormControl,this.data=[],this.opened=!1,this.selections=new Map,this.handleControlChanges=function(e){e.forEach((function(e){n.selectData(e,!0)}))}}return e.prototype.ngOnInit=function(){var e,t,n=this;if(this.multi&&!this.uniqueKey)throw new Error("[uniqueKey] required in multi mode.");this.disabled&&this.searchInput.disable(),this.searchSubscription=this.searchInput.valueChanges.pipe(r.filter((function(e){return e&&e.length>=n.minInputLength})),r.debounceTime(this.debounceTime),r.distinctUntilChanged()).subscribe((function(e){n.httpStream(e).subscribe((function(e){var t;n.data=e,!(null===(t=n.overlayRef)||void 0===t?void 0:t.hasAttached())&&e.length>0&&n.openDropdown(n.dd,n.origin.nativeElement)}))})),(null===(e=this.control)||void 0===e?void 0:e.value)&&this.handleControlChanges(this.control.value),this.controlSubscription=null===(t=this.control)||void 0===t?void 0:t.valueChanges.subscribe(this.handleControlChanges)},e.prototype.ngOnChanges=function(e){e&&e.disabled&&(this.searchInput.enable(),this.disabled&&this.searchInput.disable())},e.prototype.ngOnDestroy=function(){var e;null===(e=this.searchSubscription)||void 0===e||e.unsubscribe()},e.prototype.openDropdown=function(e,i){var o=this,r=this.overlay.position().flexibleConnectedTo(i).withPositions([new t.ConnectionPositionPair({originX:"start",originY:"bottom"},{overlayX:"start",overlayY:"top"}),new t.ConnectionPositionPair({originX:"start",originY:"top"},{overlayX:"start",overlayY:"bottom"})]).withPush(!0),s=new t.OverlayConfig({hasBackdrop:!0,backdropClass:"cdk-overlay-transparent-backdrop",scrollStrategy:this.overlay.scrollStrategies.reposition(),positionStrategy:r,width:i.clientWidth});this.overlayRef=this.overlay.create(s),this.overlayRef.attach(new n.TemplatePortal(e,this.viewContainerRef)),this.overlayRef.backdropClick().subscribe((function(e){o.closeDropdown()}))},e.prototype.closeDropdown=function(){var e;this.opened=!1,null===(e=this.overlayRef)||void 0===e||e.detach(),this.data=[]},e.prototype.selectData=function(e,t){var n=this;void 0===t&&(t=!0),e.disabled||(this.multi?(this.selections.has(e[this.uniqueKey])||this.selections.set(e[this.uniqueKey],e),this.setControlValue(this.selectedItems),t||setTimeout((function(){n.input.nativeElement.focus(),n.input.nativeElement.scrollIntoView()}),10),this.searchInput.patchValue(""),this.data=[]):(this.searchInput.patchValue(e[this.displayKey],{emitEvent:!1}),this.setControlValue(e)),this.closeDropdown())},e.prototype.removeItem=function(e){this.selections.delete(e[this.uniqueKey]),this.setControlValue(this.selectedItems),this.input.nativeElement.focus()},e.prototype.setControlValue=function(e){var t;this.onSelect.emit(e),null===(t=this.control)||void 0===t||t.patchValue(e,{emitEvent:!1})},Object.defineProperty(e.prototype,"selectedItems",{get:function(){return Array.from(this.selections.values())},enumerable:!1,configurable:!0}),e}();a.decorators=[{type:i.Component,args:[{selector:"mis-async-search-dropdown",template:'<div class="dd-wrapper" [ngClass]="{ opened: opened, disabled: disabled, readonly: readonly }" #ddBtn>\n <div class="selected-list" *ngIf="multi && selections.size > 0">\n <span *ngFor="let item of selectedItems" (click)="removeItem(item)">{{ item[displayKey] }} <span class="ic-navigation-cancel-24"></span> </span>\n </div>\n <div class="search-input">\n <span class="ic-action-search-24"></span>\n <input tabindex="0" type="text" class="black-text" #input [placeholder]="placeholder" [formControl]="searchInput" />\n </div>\n</div>\n\n<ng-template #dd>\n <div class="dd-list" *ngIf="data.length">\n <ng-container *ngFor="let item of data">\n <div (click)="selectData(item, false)">\n <ng-container\n *ngIf="customItem; else standardItem"\n [ngTemplateOutlet]="customItem"\n [ngTemplateOutletContext]="{ $implicit: item }"\n ></ng-container>\n <ng-template #standardItem>\n <div class="item">\n <div class="value">\n <div class="primary">\n {{ item[displayKey] }}\n </div>\n <div class="secondary">\n {{ item[secondaryDisplayKey] }}\n </div>\n </div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </div>\n</ng-template>\n',styles:[".dd-wrapper{background:#fff;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:4px;display:block;cursor:pointer;outline:none}.dd-wrapper.opened,.dd-wrapper:hover{background:#f5f5f5}.dd-wrapper .selected-list{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:4px;padding:8px 16px}.dd-wrapper .selected-list>span{display:inline-block;background:#e0e0e0;border-radius:16px;padding:6px 12px;cursor:pointer;vertical-align:middle}.dd-wrapper:focus-within{border-color:#0937b2;background:#f5f5f5}.dd-wrapper.disabled,.dd-wrapper.readonly{pointer-events:none}.search-input{position:relative;border-radius:8px}.search-input input{outline:none;padding:10px 12px 10px 48px;background-color:transparent;font-size:15px;line-height:20px;color:#181f33;border-radius:inherit;border:1px solid transparent;width:100%}.search-input span{position:absolute;top:50%;transform:translateY(-50%);font-size:24px;width:24;line-height:24px;height:24px;left:10px}.dd-list{padding:8px 0;max-height:200px;background:#fff;box-shadow:0 12px 24px rgba(0,0,0,.12),0 4px 8px rgba(0,0,0,.12);border-radius:8px;min-width:100%;overflow-y:auto}.dd-list::-webkit-scrollbar{width:8px;border-radius:4px}.dd-list::-webkit-scrollbar-track{background:#fff;border-radius:4px}.dd-list::-webkit-scrollbar-thumb{background:#929dab;border-radius:4px}.dd-list::-webkit-scrollbar-thumb:hover{background:#929dab}.dd-list .item{padding:8px 16px;cursor:pointer}.dd-list .item .disabled{color:#6a737d!important;pointer-events:none}.dd-list .item .value{display:flex;justify-content:space-between;align-items:center}.dd-list .item .value .primary,.dd-list .item .value .secondary{font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.dd-list .item .reason{font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#6a737d}.dd-list .item:hover:not(.disabled){background:#f5f7fc}"]}]}],a.ctorParameters=function(){return[{type:t.Overlay},{type:i.ViewContainerRef}]},a.propDecorators={httpStream:[{type:i.Input}],displayKey:[{type:i.Input}],secondaryDisplayKey:[{type:i.Input}],placeholder:[{type:i.Input}],debounceTime:[{type:i.Input}],minInputLength:[{type:i.Input}],multi:[{type:i.Input}],uniqueKey:[{type:i.Input}],control:[{type:i.Input}],disabled:[{type:i.Input}],readonly:[{type:i.Input}],origin:[{type:i.ViewChild,args:["ddBtn",{static:!1}]}],input:[{type:i.ViewChild,args:["input",{static:!1}]}],dd:[{type:i.ViewChild,args:["dd",{static:!1}]}],customItem:[{type:i.ContentChild,args:["misCustomItem",{static:!1}]}],onSelect:[{type:i.Output}]};var l=function(){};l.decorators=[{type:i.NgModule,args:[{declarations:[a],imports:[s.CommonModule,t.OverlayModule,o.ReactiveFormsModule,o.FormsModule],exports:[a]}]}],e.AsyncDropdownComponent=a,e.AsyncDropdownModule=l,Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=mis-crystal-design-system-async-search-dropdown.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../projects/mis-components/async-search-dropdown/async-dropdown.component.ts","../../../projects/mis-components/async-search-dropdown/async-dropdown.module.ts"],"names":["AsyncDropdownComponent","overlay","viewContainerRef","_this","this","placeholder","debounceTime","minInputLength","multi","onSelect","EventEmitter","searchInput","FormControl","data","opened","selections","Map","handleControlChanges","values","forEach","el","selectData","prototype","ngOnInit","uniqueKey","Error","disabled","disable","searchSubscription","valueChanges","pipe","filter","val","length","distinctUntilChanged","subscribe","res","httpStream","list","_a","overlayRef","hasAttached","openDropdown","dd","origin","nativeElement","control","value","controlSubscription","_b","ngOnChanges","changes","enable","ngOnDestroy","unsubscribe","template","positionStrategy","position","flexibleConnectedTo","withPositions","ConnectionPositionPair","originX","originY","overlayX","overlayY","withPush","configs","OverlayConfig","hasBackdrop","backdropClass","scrollStrategy","scrollStrategies","reposition","width","clientWidth","create","attach","TemplatePortal","backdropClick","closeDropdown","detach","item","effectedFromOutside","has","set","setControlValue","selectedItems","setTimeout","input","focus","scrollIntoView","patchValue","displayKey","emitEvent","removeItem","delete","emit","Object","defineProperty","Array","from","Component","args","selector","Overlay","ViewContainerRef","Input","ViewChild","static","ContentChild","Output","NgModule","declarations","imports","CommonModule","OverlayModule","ReactiveFormsModule","FormsModule","exports"],"mappings":"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","sourcesContent":["import {\n ConnectionPositionPair,\n Overlay,\n OverlayConfig,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { AbstractControl, FormControl } from '@angular/forms';\nimport { Observable, Subscription } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter } from 'rxjs/operators';\n\n// tslint:disable-next-line\ntype IListData = any;\n\n@Component({\n selector: 'mis-async-search-dropdown',\n templateUrl: './async-dropdown.component.html',\n styleUrls: ['./async-dropdown.component.scss'],\n})\nexport class AsyncDropdownComponent implements OnInit, OnChanges, OnDestroy {\n constructor(\n private overlay: Overlay,\n private viewContainerRef: ViewContainerRef\n ) {}\n\n @Input() httpStream!: (searchKey: string) => Observable<IListData>; // function that returns an httpobservable\n @Input() displayKey!: string; // string to show value in list\n @Input() secondaryDisplayKey!: string; // string to display secondary value\n @Input() placeholder = 'Select'; // placeholder for input\n @Input() debounceTime = 400; // wait time till which API call is paused\n @Input() minInputLength = 2; // min length after which API call is made\n @Input() multi = false; // maintain a list or emit value\n @Input() uniqueKey: string; // for identifying unique values\n @Input() control: AbstractControl | null; // form control for reactive forms\n @Input() disabled: boolean; // disable actions on component\n @Input() readonly: boolean; // make component readonly\n @ViewChild('ddBtn', { static: false }) origin: ElementRef;\n @ViewChild('input', { static: false }) input: ElementRef;\n @ViewChild('dd', { static: false }) dd: TemplateRef<Element>;\n @ContentChild('misCustomItem', { static: false })\n customItem: TemplateRef<Element>;\n // tslint:disable-next-line\n @Output() onSelect: EventEmitter<IListData | IListData[]> = new EventEmitter(\n true\n ); // emit selected values\n searchInput: FormControl = new FormControl();\n data: IListData[] = [];\n opened = false;\n // tslint:disable-next-line\n selections: Map<string, any> = new Map();\n private searchSubscription: Subscription;\n private overlayRef: OverlayRef;\n controlSubscription: Subscription | undefined;\n\n ngOnInit(): void {\n if (this.multi && !this.uniqueKey) {\n throw new Error('[uniqueKey] required in multi mode.');\n }\n if (this.disabled) {\n this.searchInput.disable();\n }\n this.searchSubscription = this.searchInput.valueChanges\n .pipe(\n filter((val) => val && val.length >= this.minInputLength),\n debounceTime(this.debounceTime),\n distinctUntilChanged()\n )\n .subscribe((res) => {\n this.httpStream(res).subscribe((list) => {\n this.data = list;\n if (!this.overlayRef?.hasAttached() && list.length > 0) {\n this.openDropdown(this.dd, this.origin.nativeElement);\n }\n });\n });\n if (this.control?.value) {\n this.handleControlChanges(this.control.value);\n }\n this.controlSubscription = this.control?.valueChanges.subscribe(\n this.handleControlChanges\n );\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes.disabled) {\n this.searchInput.enable();\n if (this.disabled) {\n this.searchInput.disable();\n }\n }\n }\n\n ngOnDestroy(): void {\n this.searchSubscription?.unsubscribe();\n }\n\n private handleControlChanges = (values: IListData[]) => {\n values.forEach((el) => {\n this.selectData(el, true);\n });\n // tslint:disable-next-line\n };\n\n private openDropdown(\n template: TemplateRef<Element>,\n origin: HTMLElement\n ): void {\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(origin)\n .withPositions([\n new ConnectionPositionPair(\n { originX: 'start', originY: 'bottom' },\n { overlayX: 'start', overlayY: 'top' }\n ),\n new ConnectionPositionPair(\n { originX: 'start', originY: 'top' },\n { overlayX: 'start', overlayY: 'bottom' }\n ),\n ])\n .withPush(true);\n\n const configs = new OverlayConfig({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy,\n width: origin.clientWidth,\n });\n this.overlayRef = this.overlay.create(configs);\n this.overlayRef.attach(new TemplatePortal(template, this.viewContainerRef));\n this.overlayRef.backdropClick().subscribe((res) => {\n this.closeDropdown();\n });\n }\n\n /**\n * closes the dropdown\n */\n closeDropdown(): void {\n this.opened = false;\n this.overlayRef?.detach();\n this.data = [];\n }\n\n /**\n *\n * @param item item to select\n * if item property disabled is set to true, selection will be disabled\n * @param effectedFromOutside set to true if calling from parent component, if true will focus on search input\n */\n selectData(item: IListData, effectedFromOutside = true): void {\n if (item.disabled) {\n return;\n }\n if (!this.multi) {\n this.searchInput.patchValue(item[this.displayKey], { emitEvent: false });\n this.setControlValue(item);\n } else {\n if (!this.selections.has(item[this.uniqueKey])) {\n this.selections.set(item[this.uniqueKey], item);\n }\n this.setControlValue(this.selectedItems);\n if (!effectedFromOutside) {\n setTimeout(() => {\n this.input.nativeElement.focus();\n this.input.nativeElement.scrollIntoView();\n }, 10);\n }\n this.searchInput.patchValue('');\n this.data = [];\n }\n this.closeDropdown();\n }\n\n /**\n *\n * @param item remove item from selected list\n */\n removeItem(item: IListData): void {\n this.selections.delete(item[this.uniqueKey]);\n this.setControlValue(this.selectedItems);\n // tslint:disable-next-line\n this.input['nativeElement'].focus();\n }\n\n private setControlValue(value: IListData): void {\n this.onSelect.emit(value);\n this.control?.patchValue(value, { emitEvent: false });\n }\n\n /**\n * @returns list of selected items\n */\n get selectedItems(): Array<IListData> {\n return Array.from(this.selections.values());\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { AsyncDropdownComponent } from './async-dropdown.component';\n\n@NgModule({\n declarations: [AsyncDropdownComponent],\n imports: [CommonModule, OverlayModule, ReactiveFormsModule, FormsModule],\n exports: [AsyncDropdownComponent],\n})\nexport class AsyncDropdownModule {}\n"]}
1
+ {"version":3,"sources":["../../../projects/mis-components/async-search-dropdown/async-dropdown.component.ts","../../../projects/mis-components/async-search-dropdown/async-dropdown.module.ts"],"names":["AsyncDropdownComponent","overlay","viewContainerRef","_this","this","placeholder","debounceTime","minInputLength","multi","onSelect","EventEmitter","searchInput","FormControl","data","opened","selections","Map","handleControlChanges","values","forEach","el","selectData","prototype","ngOnInit","uniqueKey","Error","disabled","disable","searchSubscription","valueChanges","pipe","filter","val","length","distinctUntilChanged","subscribe","res","httpStream","list","_a","overlayRef","hasAttached","openDropdown","dd","origin","nativeElement","control","value","controlSubscription","_b","ngOnChanges","changes","enable","ngOnDestroy","unsubscribe","template","positionStrategy","position","flexibleConnectedTo","withPositions","ConnectionPositionPair","originX","originY","overlayX","overlayY","withPush","configs","OverlayConfig","hasBackdrop","backdropClass","scrollStrategy","scrollStrategies","reposition","width","clientWidth","create","attach","TemplatePortal","backdropClick","closeDropdown","detach","item","effectedFromOutside","has","set","setControlValue","selectedItems","setTimeout","input","focus","scrollIntoView","patchValue","displayKey","emitEvent","removeItem","delete","emit","Object","defineProperty","Array","from","Component","args","selector","Overlay","ViewContainerRef","Input","ViewChild","static","ContentChild","Output","NgModule","declarations","imports","CommonModule","OverlayModule","ReactiveFormsModule","FormsModule","exports"],"mappings":"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","sourcesContent":["import { ConnectionPositionPair, Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { TemplatePortal } from \"@angular/cdk/portal\";\nimport {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from \"@angular/core\";\nimport { AbstractControl, FormControl } from \"@angular/forms\";\nimport { Observable, Subscription } from \"rxjs\";\nimport { debounceTime, distinctUntilChanged, filter } from \"rxjs/operators\";\n\n// tslint:disable-next-line\ntype IListData = any;\n\n@Component({\n selector: \"mis-async-search-dropdown\",\n templateUrl: \"./async-dropdown.component.html\",\n styleUrls: [\"./async-dropdown.component.scss\"]\n})\nexport class AsyncDropdownComponent implements OnInit, OnChanges, OnDestroy {\n constructor(private overlay: Overlay, private viewContainerRef: ViewContainerRef) {}\n\n @Input() httpStream!: (searchKey: string) => Observable<IListData>; // function that returns an httpobservable\n @Input() displayKey!: string; // string to show value in list\n @Input() secondaryDisplayKey!: string; // string to display secondary value\n @Input() placeholder = \"Select\"; // placeholder for input\n @Input() debounceTime = 400; // wait time till which API call is paused\n @Input() minInputLength = 2; // min length after which API call is made\n @Input() multi = false; // maintain a list or emit value\n @Input() uniqueKey: string; // for identifying unique values\n @Input() control: AbstractControl | null; // form control for reactive forms\n @Input() disabled: boolean; // disable actions on component\n @Input() readonly: boolean; // make component readonly\n @ViewChild(\"ddBtn\", { static: false }) origin: ElementRef;\n @ViewChild(\"input\", { static: false }) input: ElementRef;\n @ViewChild(\"dd\", { static: false }) dd: TemplateRef<Element>;\n @ContentChild(\"misCustomItem\", { static: false })\n customItem: TemplateRef<Element>;\n // tslint:disable-next-line\n @Output() onSelect: EventEmitter<IListData | IListData[]> = new EventEmitter(true); // emit selected values\n searchInput: FormControl = new FormControl();\n data: IListData[] = [];\n opened = false;\n // tslint:disable-next-line\n selections: Map<string, any> = new Map();\n private searchSubscription: Subscription;\n private overlayRef: OverlayRef;\n controlSubscription: Subscription | undefined;\n\n ngOnInit(): void {\n if (this.multi && !this.uniqueKey) {\n throw new Error(\"[uniqueKey] required in multi mode.\");\n }\n if (this.disabled) {\n this.searchInput.disable();\n }\n this.searchSubscription = this.searchInput.valueChanges\n .pipe(\n filter(val => val && val.length >= this.minInputLength),\n debounceTime(this.debounceTime),\n distinctUntilChanged()\n )\n .subscribe(res => {\n this.httpStream(res).subscribe(list => {\n this.data = list;\n if (!this.overlayRef?.hasAttached() && list.length > 0) {\n this.openDropdown(this.dd, this.origin.nativeElement);\n }\n });\n });\n if (this.control?.value) {\n this.handleControlChanges(this.control.value);\n }\n this.controlSubscription = this.control?.valueChanges.subscribe(this.handleControlChanges);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes.disabled) {\n this.searchInput.enable();\n if (this.disabled) {\n this.searchInput.disable();\n }\n }\n }\n\n ngOnDestroy(): void {\n this.searchSubscription?.unsubscribe();\n }\n\n private handleControlChanges = (values: IListData[]) => {\n values.forEach(el => {\n this.selectData(el, true);\n });\n // tslint:disable-next-line\n };\n\n private openDropdown(template: TemplateRef<Element>, origin: HTMLElement): void {\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(origin)\n .withPositions([\n new ConnectionPositionPair({ originX: \"start\", originY: \"bottom\" }, { overlayX: \"start\", overlayY: \"top\" }),\n new ConnectionPositionPair({ originX: \"start\", originY: \"top\" }, { overlayX: \"start\", overlayY: \"bottom\" })\n ])\n .withPush(true);\n\n const configs = new OverlayConfig({\n hasBackdrop: true,\n backdropClass: \"cdk-overlay-transparent-backdrop\",\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy,\n width: origin.clientWidth\n });\n this.overlayRef = this.overlay.create(configs);\n this.overlayRef.attach(new TemplatePortal(template, this.viewContainerRef));\n this.overlayRef.backdropClick().subscribe(res => {\n this.closeDropdown();\n });\n }\n\n /**\n * closes the dropdown\n */\n closeDropdown(): void {\n this.opened = false;\n this.overlayRef?.detach();\n this.data = [];\n }\n\n /**\n *\n * @param item item to select\n * if item property disabled is set to true, selection will be disabled\n * @param effectedFromOutside set to true if calling from parent component, if true will focus on search input\n */\n selectData(item: IListData, effectedFromOutside = true): void {\n if (item.disabled) {\n return;\n }\n if (!this.multi) {\n this.searchInput.patchValue(item[this.displayKey], { emitEvent: false });\n this.setControlValue(item);\n } else {\n if (!this.selections.has(item[this.uniqueKey])) {\n this.selections.set(item[this.uniqueKey], item);\n }\n this.setControlValue(this.selectedItems);\n if (!effectedFromOutside) {\n setTimeout(() => {\n this.input.nativeElement.focus();\n this.input.nativeElement.scrollIntoView();\n }, 10);\n }\n this.searchInput.patchValue(\"\");\n this.data = [];\n }\n this.closeDropdown();\n }\n\n /**\n *\n * @param item remove item from selected list\n */\n removeItem(item: IListData): void {\n this.selections.delete(item[this.uniqueKey]);\n this.setControlValue(this.selectedItems);\n // tslint:disable-next-line\n this.input[\"nativeElement\"].focus();\n }\n\n private setControlValue(value: IListData): void {\n this.onSelect.emit(value);\n this.control?.patchValue(value, { emitEvent: false });\n }\n\n /**\n * @returns list of selected items\n */\n get selectedItems(): Array<IListData> {\n return Array.from(this.selections.values());\n }\n}\n","import { OverlayModule } from \"@angular/cdk/overlay\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { AsyncDropdownComponent } from \"./async-dropdown.component\";\n\n@NgModule({\n declarations: [AsyncDropdownComponent],\n imports: [CommonModule, OverlayModule, ReactiveFormsModule, FormsModule],\n exports: [AsyncDropdownComponent]\n})\nexport class AsyncDropdownModule {}\n"]}
@@ -6,13 +6,13 @@
6
6
 
7
7
  var ButtonComponent = /** @class */ (function () {
8
8
  function ButtonComponent() {
9
- this.name = 'Enabled';
10
- this.type = 'Solid';
11
- this.size = 'Medium';
12
- this.width = '';
9
+ this.name = "Enabled";
10
+ this.type = "Solid";
11
+ this.size = "Medium";
12
+ this.width = "";
13
13
  this.showIcon = false;
14
- this.iconUrl = '';
15
- this.iconPosition = 'Left';
14
+ this.iconUrl = "";
15
+ this.iconPosition = "Left";
16
16
  this.disabled = false;
17
17
  this.disableLeftBorderRadius = false;
18
18
  this.disableRightBorderRadius = false;
@@ -27,8 +27,8 @@
27
27
  }());
28
28
  ButtonComponent.decorators = [
29
29
  { type: core.Component, args: [{
30
- selector: 'mis-button',
31
- template: "<button\n (click)=\"onClick($event);\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'solid': type === 'Solid',\n 'outline': type === 'Outline',\n 'text': type === 'Text',\n 'large': size === 'Large',\n 'medium': size === 'Medium',\n 'small': size === 'Small',\n 'large-mobile': size === 'Large-M',\n 'small-mobile': size === 'Small-M'\n }\"\n [ngStyle]=\"{\n 'border-top-left-radius': disableLeftBorderRadius ? '0px': '',\n 'border-bottom-left-radius': disableLeftBorderRadius ? '0px': '',\n 'border-top-right-radius': disableRightBorderRadius ? '0px': '',\n 'border-bottom-right-radius': disableRightBorderRadius ? '0px': '',\n 'width': width\n }\"\n>\n <span id=\"left-icon\" *ngIf=\"showIcon && iconPosition === 'Left'\">\n <img [src]=\"iconUrl\" alt=\"\">\n </span>\n {{name}}\n <span id=\"right-icon\" *ngIf=\"showIcon && iconPosition === 'Right'\">\n <img [src]=\"iconUrl\" alt=\"\">\n </span>\n</button>\n",
30
+ selector: "mis-button",
31
+ template: "<button\n (click)=\"onClick($event)\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n solid: type === 'Solid',\n outline: type === 'Outline',\n text: type === 'Text',\n large: size === 'Large',\n medium: size === 'Medium',\n small: size === 'Small',\n 'large-mobile': size === 'Large-M',\n 'small-mobile': size === 'Small-M'\n }\"\n [ngStyle]=\"{\n 'border-top-left-radius': disableLeftBorderRadius ? '0px' : '',\n 'border-bottom-left-radius': disableLeftBorderRadius ? '0px' : '',\n 'border-top-right-radius': disableRightBorderRadius ? '0px' : '',\n 'border-bottom-right-radius': disableRightBorderRadius ? '0px' : '',\n width: width\n }\"\n>\n <span id=\"left-icon\" *ngIf=\"showIcon && iconPosition === 'Left'\">\n <img [src]=\"iconUrl\" alt=\"\" />\n </span>\n {{ name }}\n <span id=\"right-icon\" *ngIf=\"showIcon && iconPosition === 'Right'\">\n <img [src]=\"iconUrl\" alt=\"\" />\n </span>\n</button>\n",
32
32
  styles: ["button{font-family:Lato,sans-serif!important;border:none;padding:0;margin:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#181f33;background-color:#fff}.solid{color:#fff;background:#0937b2}.solid:hover:enabled{background:#062a99}.solid:active:enabled{background:#041f80}.solid:disabled{color:#929dab;background:#f5f5f5}.outline{border:1px solid #0937b2;color:#0937b2;background:#fff}.outline:hover:enabled{background:#f0f3fa}.outline:active:enabled{background:#dae1f3}.outline:disabled{color:#929dab;border:1px solid #929dab}.text{color:#181f33;background:#fff}.text:hover:enabled{background:#f0f3fa}.text:active:enabled{background:#dae1f3}.text:disabled{color:#929dab}.large{height:56px;padding:16px;border-radius:10px;font-weight:700;letter-spacing:.5px}.large,.medium{font-style:normal;font-size:16px;line-height:24px}.medium{height:44px;padding:10px 16px;border-radius:8px;font-weight:400;letter-spacing:.2px}.small{height:32px;padding:6px 16px;border-radius:6px;font-weight:400;letter-spacing:.25px}.large-mobile,.small{font-style:normal;font-size:14px;line-height:20px}.large-mobile{height:44px;padding:12px}.large-mobile,.small-mobile{border-radius:8px;font-weight:700;letter-spacing:.1px}.small-mobile{height:32px;padding:6px 12px;font-style:normal;font-size:14px;line-height:20px}span{display:flex;justify-content:center;align-items:center}#left-icon{margin-right:8px}#right-icon{margin-left:8px}"]
33
33
  },] }
34
34
  ];
@@ -51,39 +51,39 @@
51
51
  function ButtonDirective(el, renderer) {
52
52
  this.el = el;
53
53
  this.renderer = renderer;
54
- this.type = 'none';
55
- this.size = 'md';
56
- this.elementClass = 'mis-btn';
54
+ this.type = "none";
55
+ this.size = "md";
56
+ this.elementClass = "mis-btn";
57
57
  }
58
58
  ButtonDirective.prototype.ngAfterViewInit = function () {
59
59
  this.bindTypeClass();
60
60
  this.bindSizeClass();
61
61
  };
62
62
  ButtonDirective.prototype.bindTypeClass = function () {
63
- var className = '';
63
+ var className = "";
64
64
  switch (this.type) {
65
- case 'primary':
66
- className = 'mis-primary';
65
+ case "primary":
66
+ className = "mis-primary";
67
67
  break;
68
- case 'outline':
69
- className = 'mis-outline';
68
+ case "outline":
69
+ className = "mis-outline";
70
70
  break;
71
71
  default:
72
- className = 'mis-none';
72
+ className = "mis-none";
73
73
  }
74
74
  this.renderer.addClass(this.el.nativeElement, className);
75
75
  };
76
76
  ButtonDirective.prototype.bindSizeClass = function () {
77
- var className = '';
77
+ var className = "";
78
78
  switch (this.size) {
79
- case 'lg':
80
- className = 'mis-btn-lg';
79
+ case "lg":
80
+ className = "mis-btn-lg";
81
81
  break;
82
- case 'sm':
83
- className = 'mis-btn-sm';
82
+ case "sm":
83
+ className = "mis-btn-sm";
84
84
  break;
85
85
  default:
86
- className = 'mis-btn-md';
86
+ className = "mis-btn-md";
87
87
  }
88
88
  this.renderer.addClass(this.el.nativeElement, className);
89
89
  };
@@ -91,7 +91,7 @@
91
91
  }());
92
92
  ButtonDirective.decorators = [
93
93
  { type: core.Directive, args: [{
94
- selector: '[mis-button]',
94
+ selector: "[mis-button]"
95
95
  },] }
96
96
  ];
97
97
  ButtonDirective.ctorParameters = function () { return [
@@ -101,7 +101,7 @@
101
101
  ButtonDirective.propDecorators = {
102
102
  type: [{ type: core.Input }],
103
103
  size: [{ type: core.Input }],
104
- elementClass: [{ type: core.HostBinding, args: ['class',] }]
104
+ elementClass: [{ type: core.HostBinding, args: ["class",] }]
105
105
  };
106
106
 
107
107
  var ButtonModule = /** @class */ (function () {
@@ -1 +1 @@
1
- {"version":3,"file":"mis-crystal-design-system-button.umd.js","sources":["../../../projects/mis-components/button/button.component.ts","../../../projects/mis-components/button/button.directive.ts","../../../projects/mis-components/button/button.module.ts","../../../projects/mis-components/button/mis-crystal-design-system-button.ts"],"sourcesContent":["import {Component, Input, OnInit, Output, EventEmitter, ContentChild, TemplateRef} from '@angular/core';\n\n@Component({\n selector: 'mis-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss']\n})\nexport class ButtonComponent implements OnInit{\n\n @Input() name: string = 'Enabled'\n @Input() type: 'Solid' | 'Outline' | 'Text' = 'Solid'\n @Input() size: 'Small' | 'Medium' | 'Large' | 'Small-M' | 'Large-M' = 'Medium'\n @Input() width: string = ''\n\n @Input() showIcon: boolean = false\n @Input() iconUrl: string = ''\n @Input() iconPosition: 'Left' | 'Right' = 'Left'\n\n @Input() disabled: boolean = false\n @Input() disableLeftBorderRadius: boolean = false\n @Input() disableRightBorderRadius: boolean = false\n\n /** Emits event when button is clicked */\n @Output() click = new EventEmitter<any>()\n\n constructor(){}\n\n ngOnInit(){}\n\n onClick(event){\n this.click.emit(event)\n }\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n HostBinding,\n Input,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: '[mis-button]',\n})\nexport class ButtonDirective implements AfterViewInit {\n @Input() type: 'primary' | 'outline' | 'none' = 'none';\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n @HostBinding('class') elementClass = 'mis-btn';\n\n constructor(private el: ElementRef, private renderer: Renderer2) { }\n\n ngAfterViewInit(): void {\n this.bindTypeClass();\n this.bindSizeClass();\n }\n\n private bindTypeClass(): void {\n let className = '';\n switch (this.type) {\n case 'primary':\n className = 'mis-primary';\n break;\n case 'outline':\n className = 'mis-outline';\n break;\n default:\n className = 'mis-none';\n }\n this.renderer.addClass(this.el.nativeElement, className);\n }\n\n private bindSizeClass(): void {\n let className = '';\n switch (this.size) {\n case 'lg':\n className = 'mis-btn-lg';\n break;\n case 'sm':\n className = 'mis-btn-sm';\n break;\n default:\n className = 'mis-btn-md';\n }\n this.renderer.addClass(this.el.nativeElement, className);\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonDirective } from './button.directive';\nimport { ButtonComponent } from './button.component';\n\n@NgModule({\n declarations: [ButtonComponent, ButtonDirective],\n imports: [CommonModule],\n exports: [ButtonComponent, ButtonDirective]\n})\nexport class ButtonModule {\n static forRoot(): ModuleWithProviders<ButtonModule> {\n return { ngModule: ButtonModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {ButtonDirective as ɵa} from './button.directive';"],"names":["EventEmitter","Component","Input","Output","Directive","ElementRef","Renderer2","HostBinding","NgModule","CommonModule"],"mappings":";;;;;;;QAyBE;YAhBS,SAAI,GAAW,SAAS,CAAA;YACxB,SAAI,GAAiC,OAAO,CAAA;YAC5C,SAAI,GAAyD,QAAQ,CAAA;YACrE,UAAK,GAAW,EAAE,CAAA;YAElB,aAAQ,GAAY,KAAK,CAAA;YACzB,YAAO,GAAW,EAAE,CAAA;YACpB,iBAAY,GAAqB,MAAM,CAAA;YAEvC,aAAQ,GAAY,KAAK,CAAA;YACzB,4BAAuB,GAAY,KAAK,CAAA;YACxC,6BAAwB,GAAY,KAAK,CAAA;;YAGxC,UAAK,GAAG,IAAIA,iBAAY,EAAO,CAAA;SAE1B;QAEf,kCAAQ,GAAR,eAAY;QAEZ,iCAAO,GAAP,UAAQ,KAAK;YACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;SACvB;;;;gBA7BFC,cAAS,SAAC;oBACT,QAAQ,EAAE,YAAY;oBACtB,m9BAAsC;;iBAEvC;;;;uBAGEC,UAAK;uBACLA,UAAK;uBACLA,UAAK;wBACLA,UAAK;2BAELA,UAAK;0BACLA,UAAK;+BACLA,UAAK;2BAELA,UAAK;0CACLA,UAAK;2CACLA,UAAK;wBAGLC,WAAM;;;;QCNP,yBAAoB,EAAc,EAAU,QAAmB;YAA3C,OAAE,GAAF,EAAE,CAAY;YAAU,aAAQ,GAAR,QAAQ,CAAW;YAJtD,SAAI,GAAmC,MAAM,CAAC;YAC9C,SAAI,GAAuB,IAAI,CAAC;YACnB,iBAAY,GAAG,SAAS,CAAC;SAEqB;QAEpE,yCAAe,GAAf;YACE,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;QAEO,uCAAa,GAAb;YACN,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,QAAQ,IAAI,CAAC,IAAI;gBACf,KAAK,SAAS;oBACZ,SAAS,GAAG,aAAa,CAAC;oBAC1B,MAAM;gBACR,KAAK,SAAS;oBACZ,SAAS,GAAG,aAAa,CAAC;oBAC1B,MAAM;gBACR;oBACE,SAAS,GAAG,UAAU,CAAC;aAC1B;YACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;SAC1D;QAEO,uCAAa,GAAb;YACN,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,QAAQ,IAAI,CAAC,IAAI;gBACf,KAAK,IAAI;oBACP,SAAS,GAAG,YAAY,CAAC;oBACzB,MAAM;gBACR,KAAK,IAAI;oBACP,SAAS,GAAG,YAAY,CAAC;oBACzB,MAAM;gBACR;oBACE,SAAS,GAAG,YAAY,CAAC;aAC5B;YACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;SAC1D;;;;gBA3CFC,cAAS,SAAC;oBACT,QAAQ,EAAE,cAAc;iBACzB;;;gBARCC,eAAU;gBAGVC,cAAS;;;uBAORJ,UAAK;uBACLA,UAAK;+BACLK,gBAAW,SAAC,OAAO;;;;QCLtB;;QACS,oBAAO,GAAd;YACE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;SAClD;;;;gBARFC,aAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;oBAChD,OAAO,EAAE,CAACC,mBAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;iBAC5C;;;ICTD;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"mis-crystal-design-system-button.umd.js","sources":["../../../projects/mis-components/button/button.component.ts","../../../projects/mis-components/button/button.directive.ts","../../../projects/mis-components/button/button.module.ts","../../../projects/mis-components/button/mis-crystal-design-system-button.ts"],"sourcesContent":["import { Component, Input, OnInit, Output, EventEmitter, ContentChild, TemplateRef } from \"@angular/core\";\n\n@Component({\n selector: \"mis-button\",\n templateUrl: \"./button.component.html\",\n styleUrls: [\"./button.component.scss\"]\n})\nexport class ButtonComponent implements OnInit {\n @Input() name: string = \"Enabled\";\n @Input() type: \"Solid\" | \"Outline\" | \"Text\" = \"Solid\";\n @Input() size: \"Small\" | \"Medium\" | \"Large\" | \"Small-M\" | \"Large-M\" = \"Medium\";\n @Input() width: string = \"\";\n\n @Input() showIcon: boolean = false;\n @Input() iconUrl: string = \"\";\n @Input() iconPosition: \"Left\" | \"Right\" = \"Left\";\n\n @Input() disabled: boolean = false;\n @Input() disableLeftBorderRadius: boolean = false;\n @Input() disableRightBorderRadius: boolean = false;\n\n /** Emits event when button is clicked */\n @Output() click = new EventEmitter<any>();\n\n constructor() {}\n\n ngOnInit() {}\n\n onClick(event) {\n this.click.emit(event);\n }\n}\n","import { AfterViewInit, Directive, ElementRef, HostBinding, Input, Renderer2 } from \"@angular/core\";\n\n@Directive({\n selector: \"[mis-button]\"\n})\nexport class ButtonDirective implements AfterViewInit {\n @Input() type: \"primary\" | \"outline\" | \"none\" = \"none\";\n @Input() size: \"sm\" | \"md\" | \"lg\" = \"md\";\n @HostBinding(\"class\") elementClass = \"mis-btn\";\n\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit(): void {\n this.bindTypeClass();\n this.bindSizeClass();\n }\n\n private bindTypeClass(): void {\n let className = \"\";\n switch (this.type) {\n case \"primary\":\n className = \"mis-primary\";\n break;\n case \"outline\":\n className = \"mis-outline\";\n break;\n default:\n className = \"mis-none\";\n }\n this.renderer.addClass(this.el.nativeElement, className);\n }\n\n private bindSizeClass(): void {\n let className = \"\";\n switch (this.size) {\n case \"lg\":\n className = \"mis-btn-lg\";\n break;\n case \"sm\":\n className = \"mis-btn-sm\";\n break;\n default:\n className = \"mis-btn-md\";\n }\n this.renderer.addClass(this.el.nativeElement, className);\n }\n}\n","import { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ButtonDirective } from \"./button.directive\";\nimport { ButtonComponent } from \"./button.component\";\n\n@NgModule({\n declarations: [ButtonComponent, ButtonDirective],\n imports: [CommonModule],\n exports: [ButtonComponent, ButtonDirective]\n})\nexport class ButtonModule {\n static forRoot(): ModuleWithProviders<ButtonModule> {\n return { ngModule: ButtonModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {ButtonDirective as ɵa} from './button.directive';"],"names":["EventEmitter","Component","Input","Output","Directive","ElementRef","Renderer2","HostBinding","NgModule","CommonModule"],"mappings":";;;;;;;QAwBE;YAhBS,SAAI,GAAW,SAAS,CAAC;YACzB,SAAI,GAAiC,OAAO,CAAC;YAC7C,SAAI,GAAyD,QAAQ,CAAC;YACtE,UAAK,GAAW,EAAE,CAAC;YAEnB,aAAQ,GAAY,KAAK,CAAC;YAC1B,YAAO,GAAW,EAAE,CAAC;YACrB,iBAAY,GAAqB,MAAM,CAAC;YAExC,aAAQ,GAAY,KAAK,CAAC;YAC1B,4BAAuB,GAAY,KAAK,CAAC;YACzC,6BAAwB,GAAY,KAAK,CAAC;;YAGzC,UAAK,GAAG,IAAIA,iBAAY,EAAO,CAAC;SAE1B;QAEhB,kCAAQ,GAAR,eAAa;QAEb,iCAAO,GAAP,UAAQ,KAAK;YACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACxB;;;;gBA5BFC,cAAS,SAAC;oBACT,QAAQ,EAAE,YAAY;oBACtB,88BAAsC;;iBAEvC;;;;uBAEEC,UAAK;uBACLA,UAAK;uBACLA,UAAK;wBACLA,UAAK;2BAELA,UAAK;0BACLA,UAAK;+BACLA,UAAK;2BAELA,UAAK;0CACLA,UAAK;2CACLA,UAAK;wBAGLC,WAAM;;;;QCZP,yBAAoB,EAAc,EAAU,QAAmB;YAA3C,OAAE,GAAF,EAAE,CAAY;YAAU,aAAQ,GAAR,QAAQ,CAAW;YAJtD,SAAI,GAAmC,MAAM,CAAC;YAC9C,SAAI,GAAuB,IAAI,CAAC;YACnB,iBAAY,GAAG,SAAS,CAAC;SAEoB;QAEnE,yCAAe,GAAf;YACE,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;QAEO,uCAAa,GAAb;YACN,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,QAAQ,IAAI,CAAC,IAAI;gBACf,KAAK,SAAS;oBACZ,SAAS,GAAG,aAAa,CAAC;oBAC1B,MAAM;gBACR,KAAK,SAAS;oBACZ,SAAS,GAAG,aAAa,CAAC;oBAC1B,MAAM;gBACR;oBACE,SAAS,GAAG,UAAU,CAAC;aAC1B;YACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;SAC1D;QAEO,uCAAa,GAAb;YACN,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,QAAQ,IAAI,CAAC,IAAI;gBACf,KAAK,IAAI;oBACP,SAAS,GAAG,YAAY,CAAC;oBACzB,MAAM;gBACR,KAAK,IAAI;oBACP,SAAS,GAAG,YAAY,CAAC;oBACzB,MAAM;gBACR;oBACE,SAAS,GAAG,YAAY,CAAC;aAC5B;YACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;SAC1D;;;;gBA3CFC,cAAS,SAAC;oBACT,QAAQ,EAAE,cAAc;iBACzB;;;gBAJkCC,eAAU;gBAAsBC,cAAS;;;uBAMzEJ,UAAK;uBACLA,UAAK;+BACLK,gBAAW,SAAC,OAAO;;;;QCEtB;;QACS,oBAAO,GAAd;YACE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;SAClD;;;;gBARFC,aAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;oBAChD,OAAO,EAAE,CAACC,mBAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;iBAC5C;;;ICTD;;;;;;;;;;;;;;"}