mis-crystal-design-system 2.3.17 → 2.3.18

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 (493) hide show
  1. package/bundles/mis-crystal-design-system-datepicker_v2.umd.js +12 -12
  2. package/bundles/mis-crystal-design-system-datepicker_v2.umd.js.map +1 -1
  3. package/bundles/mis-crystal-design-system-datepicker_v2.umd.min.js +2 -2
  4. package/bundles/mis-crystal-design-system-datepicker_v2.umd.min.js.map +1 -1
  5. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.js +61 -23
  6. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.js.map +1 -1
  7. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.min.js +2 -2
  8. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.min.js.map +1 -1
  9. package/esm2015/datepicker_v2/tz-dp-container/tz-dp-container.component.js +12 -12
  10. package/esm2015/multi-select-dropdown/multi-select-dropdown.component.js +74 -37
  11. package/fesm2015/mis-crystal-design-system-datepicker_v2.js +11 -11
  12. package/fesm2015/mis-crystal-design-system-datepicker_v2.js.map +1 -1
  13. package/fesm2015/mis-crystal-design-system-multi-select-dropdown.js +72 -35
  14. package/fesm2015/mis-crystal-design-system-multi-select-dropdown.js.map +1 -1
  15. package/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.metadata.json +1 -1
  16. package/multi-select-dropdown/multi-select-dropdown.component.d.ts +8 -2
  17. package/package.json +1 -1
  18. package/bundles/mis-crystal-design-system-datepicker.umd.js +0 -13916
  19. package/bundles/mis-crystal-design-system-datepicker.umd.js.map +0 -1
  20. package/bundles/mis-crystal-design-system-datepicker.umd.min.js +0 -68
  21. package/bundles/mis-crystal-design-system-datepicker.umd.min.js.map +0 -1
  22. package/datepicker/base/bs-datepicker-container.d.ts +0 -44
  23. package/datepicker/bs-datepicker-inline.component.d.ts +0 -61
  24. package/datepicker/bs-datepicker-inline.config.d.ts +0 -3
  25. package/datepicker/bs-datepicker-input.directive.d.ts +0 -30
  26. package/datepicker/bs-datepicker.component.d.ts +0 -123
  27. package/datepicker/bs-datepicker.config.d.ts +0 -140
  28. package/datepicker/bs-datepicker.module.d.ts +0 -4
  29. package/datepicker/bs-daterangepicker-inline.component.d.ts +0 -61
  30. package/datepicker/bs-daterangepicker-inline.config.d.ts +0 -6
  31. package/datepicker/bs-daterangepicker-input.directive.d.ts +0 -30
  32. package/datepicker/bs-daterangepicker.component.d.ts +0 -115
  33. package/datepicker/bs-daterangepicker.config.d.ts +0 -4
  34. package/datepicker/bs-locale.service.d.ts +0 -10
  35. package/datepicker/date-formatter.d.ts +0 -3
  36. package/datepicker/datepicker-animations.d.ts +0 -3
  37. package/datepicker/datepicker-inner.component.d.ts +0 -75
  38. package/datepicker/datepicker.component.d.ts +0 -78
  39. package/datepicker/datepicker.config.d.ts +0 -19
  40. package/datepicker/datepicker.module.d.ts +0 -4
  41. package/datepicker/daypicker.component.d.ts +0 -14
  42. package/datepicker/engine/calc-days-calendar.d.ts +0 -2
  43. package/datepicker/engine/flag-days-calendar.d.ts +0 -17
  44. package/datepicker/engine/flag-months-calendar.d.ts +0 -12
  45. package/datepicker/engine/flag-years-calendar.d.ts +0 -12
  46. package/datepicker/engine/format-days-calendar.d.ts +0 -4
  47. package/datepicker/engine/format-months-calendar.d.ts +0 -2
  48. package/datepicker/engine/format-years-calendar.d.ts +0 -4
  49. package/datepicker/engine/view-mode.d.ts +0 -2
  50. package/datepicker/index.d.ts +0 -1
  51. package/datepicker/mis-crystal-design-system-datepicker.d.ts +0 -24
  52. package/datepicker/mis-crystal-design-system-datepicker.metadata.json +0 -1
  53. package/datepicker/models/index.d.ts +0 -102
  54. package/datepicker/monthpicker.component.d.ts +0 -11
  55. package/datepicker/package.json +0 -11
  56. package/datepicker/public_api.d.ts +0 -26
  57. package/datepicker/reducer/_defaults.d.ts +0 -2
  58. package/datepicker/reducer/bs-datepicker.actions.d.ts +0 -43
  59. package/datepicker/reducer/bs-datepicker.effects.d.ts +0 -38
  60. package/datepicker/reducer/bs-datepicker.reducer.d.ts +0 -3
  61. package/datepicker/reducer/bs-datepicker.state.d.ts +0 -43
  62. package/datepicker/reducer/bs-datepicker.store.d.ts +0 -5
  63. package/datepicker/sub-components/chronos/create/check-overflow.d.ts +0 -2
  64. package/datepicker/sub-components/chronos/create/clone.d.ts +0 -1
  65. package/datepicker/sub-components/chronos/create/date-from-array.d.ts +0 -2
  66. package/datepicker/sub-components/chronos/create/from-anything.d.ts +0 -4
  67. package/datepicker/sub-components/chronos/create/from-array.d.ts +0 -2
  68. package/datepicker/sub-components/chronos/create/from-object.d.ts +0 -2
  69. package/datepicker/sub-components/chronos/create/from-string-and-array.d.ts +0 -2
  70. package/datepicker/sub-components/chronos/create/from-string-and-format.d.ts +0 -4
  71. package/datepicker/sub-components/chronos/create/from-string.d.ts +0 -4
  72. package/datepicker/sub-components/chronos/create/local.d.ts +0 -3
  73. package/datepicker/sub-components/chronos/create/parsing-flags.d.ts +0 -2
  74. package/datepicker/sub-components/chronos/create/parsing.types.d.ts +0 -64
  75. package/datepicker/sub-components/chronos/create/valid.d.ts +0 -6
  76. package/datepicker/sub-components/chronos/duration/bubble.d.ts +0 -4
  77. package/datepicker/sub-components/chronos/duration/constructor.d.ts +0 -21
  78. package/datepicker/sub-components/chronos/duration/create.d.ts +0 -8
  79. package/datepicker/sub-components/chronos/duration/humanize.d.ts +0 -5
  80. package/datepicker/sub-components/chronos/duration/valid.d.ts +0 -2
  81. package/datepicker/sub-components/chronos/format/format.d.ts +0 -11
  82. package/datepicker/sub-components/chronos/format.d.ts +0 -5
  83. package/datepicker/sub-components/chronos/i18n/ar.d.ts +0 -2
  84. package/datepicker/sub-components/chronos/i18n/bg.d.ts +0 -2
  85. package/datepicker/sub-components/chronos/i18n/ca.d.ts +0 -2
  86. package/datepicker/sub-components/chronos/i18n/cs.d.ts +0 -2
  87. package/datepicker/sub-components/chronos/i18n/da.d.ts +0 -2
  88. package/datepicker/sub-components/chronos/i18n/de.d.ts +0 -2
  89. package/datepicker/sub-components/chronos/i18n/en-gb.d.ts +0 -2
  90. package/datepicker/sub-components/chronos/i18n/es-do.d.ts +0 -2
  91. package/datepicker/sub-components/chronos/i18n/es-us.d.ts +0 -2
  92. package/datepicker/sub-components/chronos/i18n/es.d.ts +0 -2
  93. package/datepicker/sub-components/chronos/i18n/et.d.ts +0 -2
  94. package/datepicker/sub-components/chronos/i18n/fi.d.ts +0 -2
  95. package/datepicker/sub-components/chronos/i18n/fr.d.ts +0 -2
  96. package/datepicker/sub-components/chronos/i18n/gl.d.ts +0 -2
  97. package/datepicker/sub-components/chronos/i18n/he.d.ts +0 -2
  98. package/datepicker/sub-components/chronos/i18n/hi.d.ts +0 -2
  99. package/datepicker/sub-components/chronos/i18n/hr.d.ts +0 -2
  100. package/datepicker/sub-components/chronos/i18n/hu.d.ts +0 -2
  101. package/datepicker/sub-components/chronos/i18n/id.d.ts +0 -2
  102. package/datepicker/sub-components/chronos/i18n/it.d.ts +0 -2
  103. package/datepicker/sub-components/chronos/i18n/ja.d.ts +0 -2
  104. package/datepicker/sub-components/chronos/i18n/ka.d.ts +0 -2
  105. package/datepicker/sub-components/chronos/i18n/kk.d.ts +0 -2
  106. package/datepicker/sub-components/chronos/i18n/ko.d.ts +0 -2
  107. package/datepicker/sub-components/chronos/i18n/lt.d.ts +0 -2
  108. package/datepicker/sub-components/chronos/i18n/lv.d.ts +0 -2
  109. package/datepicker/sub-components/chronos/i18n/mn.d.ts +0 -2
  110. package/datepicker/sub-components/chronos/i18n/nb.d.ts +0 -2
  111. package/datepicker/sub-components/chronos/i18n/nl-be.d.ts +0 -2
  112. package/datepicker/sub-components/chronos/i18n/nl.d.ts +0 -2
  113. package/datepicker/sub-components/chronos/i18n/pl.d.ts +0 -2
  114. package/datepicker/sub-components/chronos/i18n/pt-br.d.ts +0 -2
  115. package/datepicker/sub-components/chronos/i18n/ro.d.ts +0 -2
  116. package/datepicker/sub-components/chronos/i18n/ru.d.ts +0 -2
  117. package/datepicker/sub-components/chronos/i18n/sk.d.ts +0 -2
  118. package/datepicker/sub-components/chronos/i18n/sl.d.ts +0 -2
  119. package/datepicker/sub-components/chronos/i18n/sq.d.ts +0 -2
  120. package/datepicker/sub-components/chronos/i18n/sv.d.ts +0 -2
  121. package/datepicker/sub-components/chronos/i18n/th-be.d.ts +0 -2
  122. package/datepicker/sub-components/chronos/i18n/th.d.ts +0 -2
  123. package/datepicker/sub-components/chronos/i18n/tr.d.ts +0 -2
  124. package/datepicker/sub-components/chronos/i18n/uk.d.ts +0 -2
  125. package/datepicker/sub-components/chronos/i18n/vi.d.ts +0 -2
  126. package/datepicker/sub-components/chronos/i18n/zh-cn.d.ts +0 -2
  127. package/datepicker/sub-components/chronos/index.d.ts +0 -1
  128. package/datepicker/sub-components/chronos/locale/calendar.d.ts +0 -8
  129. package/datepicker/sub-components/chronos/locale/locale.class.d.ts +0 -143
  130. package/datepicker/sub-components/chronos/locale/locale.defaults.d.ts +0 -11
  131. package/datepicker/sub-components/chronos/locale/locales.d.ts +0 -7
  132. package/datepicker/sub-components/chronos/moment/add-subtract.d.ts +0 -5
  133. package/datepicker/sub-components/chronos/moment/calendar.d.ts +0 -15
  134. package/datepicker/sub-components/chronos/moment/diff.d.ts +0 -3
  135. package/datepicker/sub-components/chronos/moment/min-max.d.ts +0 -2
  136. package/datepicker/sub-components/chronos/parse/regex.d.ts +0 -22
  137. package/datepicker/sub-components/chronos/parse/token.d.ts +0 -5
  138. package/datepicker/sub-components/chronos/public_api.d.ts +0 -57
  139. package/datepicker/sub-components/chronos/test/chain.d.ts +0 -214
  140. package/datepicker/sub-components/chronos/types.d.ts +0 -36
  141. package/datepicker/sub-components/chronos/units/aliases.d.ts +0 -7
  142. package/datepicker/sub-components/chronos/units/constants.d.ts +0 -9
  143. package/datepicker/sub-components/chronos/units/day-of-month.d.ts +0 -1
  144. package/datepicker/sub-components/chronos/units/day-of-week.d.ts +0 -20
  145. package/datepicker/sub-components/chronos/units/day-of-year.d.ts +0 -3
  146. package/datepicker/sub-components/chronos/units/hour.d.ts +0 -1
  147. package/datepicker/sub-components/chronos/units/index.d.ts +0 -18
  148. package/datepicker/sub-components/chronos/units/millisecond.d.ts +0 -1
  149. package/datepicker/sub-components/chronos/units/minute.d.ts +0 -1
  150. package/datepicker/sub-components/chronos/units/month.d.ts +0 -2
  151. package/datepicker/sub-components/chronos/units/offset.d.ts +0 -10
  152. package/datepicker/sub-components/chronos/units/priorities.d.ts +0 -1
  153. package/datepicker/sub-components/chronos/units/quarter.d.ts +0 -3
  154. package/datepicker/sub-components/chronos/units/second.d.ts +0 -1
  155. package/datepicker/sub-components/chronos/units/timestamp.d.ts +0 -1
  156. package/datepicker/sub-components/chronos/units/timezone.d.ts +0 -3
  157. package/datepicker/sub-components/chronos/units/week-calendar-utils.d.ts +0 -9
  158. package/datepicker/sub-components/chronos/units/week-year.d.ts +0 -8
  159. package/datepicker/sub-components/chronos/units/week.d.ts +0 -6
  160. package/datepicker/sub-components/chronos/units/year.d.ts +0 -4
  161. package/datepicker/sub-components/chronos/utils/abs-ceil.d.ts +0 -1
  162. package/datepicker/sub-components/chronos/utils/abs-round.d.ts +0 -1
  163. package/datepicker/sub-components/chronos/utils/compare-arrays.d.ts +0 -1
  164. package/datepicker/sub-components/chronos/utils/date-compare.d.ts +0 -9
  165. package/datepicker/sub-components/chronos/utils/date-getters.d.ts +0 -18
  166. package/datepicker/sub-components/chronos/utils/date-setters.d.ts +0 -12
  167. package/datepicker/sub-components/chronos/utils/defaults.d.ts +0 -1
  168. package/datepicker/sub-components/chronos/utils/start-end-of.d.ts +0 -3
  169. package/datepicker/sub-components/chronos/utils/type-checks.d.ts +0 -12
  170. package/datepicker/sub-components/chronos/utils/zero-fill.d.ts +0 -1
  171. package/datepicker/sub-components/chronos/utils.d.ts +0 -2
  172. package/datepicker/sub-components/component-loader/bs-component-ref.class.d.ts +0 -5
  173. package/datepicker/sub-components/component-loader/component-loader.class.d.ts +0 -75
  174. package/datepicker/sub-components/component-loader/component-loader.factory.d.ts +0 -18
  175. package/datepicker/sub-components/component-loader/content-ref.class.d.ts +0 -7
  176. package/datepicker/sub-components/component-loader/index.d.ts +0 -1
  177. package/datepicker/sub-components/component-loader/listen-options.model.d.ts +0 -11
  178. package/datepicker/sub-components/component-loader/public_api.d.ts +0 -4
  179. package/datepicker/sub-components/mini-ngrx/index.d.ts +0 -1
  180. package/datepicker/sub-components/mini-ngrx/public_api.d.ts +0 -7
  181. package/datepicker/sub-components/mini-ngrx/state.class.d.ts +0 -8
  182. package/datepicker/sub-components/mini-ngrx/store.class.d.ts +0 -16
  183. package/datepicker/sub-components/positioning/index.d.ts +0 -1
  184. package/datepicker/sub-components/positioning/models/index.d.ts +0 -41
  185. package/datepicker/sub-components/positioning/modifiers/arrow.d.ts +0 -2
  186. package/datepicker/sub-components/positioning/modifiers/flip.d.ts +0 -2
  187. package/datepicker/sub-components/positioning/modifiers/index.d.ts +0 -5
  188. package/datepicker/sub-components/positioning/modifiers/initData.d.ts +0 -2
  189. package/datepicker/sub-components/positioning/modifiers/preventOverflow.d.ts +0 -2
  190. package/datepicker/sub-components/positioning/modifiers/shift.d.ts +0 -2
  191. package/datepicker/sub-components/positioning/ng-positioning.d.ts +0 -8
  192. package/datepicker/sub-components/positioning/positioning.service.d.ts +0 -45
  193. package/datepicker/sub-components/positioning/public_api.d.ts +0 -2
  194. package/datepicker/sub-components/positioning/utils/computeAutoPlacement.d.ts +0 -2
  195. package/datepicker/sub-components/positioning/utils/findCommonOffsetParent.d.ts +0 -1
  196. package/datepicker/sub-components/positioning/utils/getBordersSize.d.ts +0 -4
  197. package/datepicker/sub-components/positioning/utils/getBoundaries.d.ts +0 -1
  198. package/datepicker/sub-components/positioning/utils/getBoundingClientRect.d.ts +0 -2
  199. package/datepicker/sub-components/positioning/utils/getClientRect.d.ts +0 -5
  200. package/datepicker/sub-components/positioning/utils/getFixedPositionOffsetParent.d.ts +0 -4
  201. package/datepicker/sub-components/positioning/utils/getOffsetParent.d.ts +0 -1
  202. package/datepicker/sub-components/positioning/utils/getOffsetRectRelativeToArbitraryNode.d.ts +0 -2
  203. package/datepicker/sub-components/positioning/utils/getOffsets.d.ts +0 -2
  204. package/datepicker/sub-components/positioning/utils/getOppositePlacement.d.ts +0 -4
  205. package/datepicker/sub-components/positioning/utils/getOppositeVariation.d.ts +0 -4
  206. package/datepicker/sub-components/positioning/utils/getOuterSizes.d.ts +0 -7
  207. package/datepicker/sub-components/positioning/utils/getParentNode.d.ts +0 -4
  208. package/datepicker/sub-components/positioning/utils/getReferenceOffsets.d.ts +0 -2
  209. package/datepicker/sub-components/positioning/utils/getRoot.d.ts +0 -4
  210. package/datepicker/sub-components/positioning/utils/getScroll.d.ts +0 -4
  211. package/datepicker/sub-components/positioning/utils/getScrollParent.d.ts +0 -1
  212. package/datepicker/sub-components/positioning/utils/getStyleComputedProperty.d.ts +0 -4
  213. package/datepicker/sub-components/positioning/utils/getTargetOffsets.d.ts +0 -2
  214. package/datepicker/sub-components/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.d.ts +0 -2
  215. package/datepicker/sub-components/positioning/utils/getWindowSizes.d.ts +0 -4
  216. package/datepicker/sub-components/positioning/utils/includeScroll.d.ts +0 -2
  217. package/datepicker/sub-components/positioning/utils/index.d.ts +0 -23
  218. package/datepicker/sub-components/positioning/utils/isBrowser.d.ts +0 -1
  219. package/datepicker/sub-components/positioning/utils/isFixed.d.ts +0 -1
  220. package/datepicker/sub-components/positioning/utils/isIE.d.ts +0 -1
  221. package/datepicker/sub-components/positioning/utils/isModifierEnabled.d.ts +0 -4
  222. package/datepicker/sub-components/positioning/utils/isNumeric.d.ts +0 -4
  223. package/datepicker/sub-components/positioning/utils/isOffsetContainer.d.ts +0 -1
  224. package/datepicker/sub-components/positioning/utils/setStyles.d.ts +0 -5
  225. package/datepicker/sub-components/positioning/utils/updateContainerClass.d.ts +0 -6
  226. package/datepicker/sub-components/tooltip/index.d.ts +0 -1
  227. package/datepicker/sub-components/tooltip/public_api.d.ts +0 -4
  228. package/datepicker/sub-components/tooltip/tooltip-container.component.d.ts +0 -14
  229. package/datepicker/sub-components/tooltip/tooltip.config.d.ts +0 -13
  230. package/datepicker/sub-components/tooltip/tooltip.directive.d.ts +0 -109
  231. package/datepicker/sub-components/tooltip/tooltip.module.d.ts +0 -4
  232. package/datepicker/sub-components/utils/decorators.d.ts +0 -1
  233. package/datepicker/sub-components/utils/facade/browser.d.ts +0 -23
  234. package/datepicker/sub-components/utils/index.d.ts +0 -1
  235. package/datepicker/sub-components/utils/linked-list.class.d.ts +0 -26
  236. package/datepicker/sub-components/utils/public_api.d.ts +0 -10
  237. package/datepicker/sub-components/utils/theme-provider.d.ts +0 -2
  238. package/datepicker/sub-components/utils/trigger.class.d.ts +0 -6
  239. package/datepicker/sub-components/utils/triggers.d.ts +0 -18
  240. package/datepicker/sub-components/utils/utils.class.d.ts +0 -4
  241. package/datepicker/sub-components/utils/warn-once.d.ts +0 -1
  242. package/datepicker/themes/bs/bs-calendar-layout.component.d.ts +0 -2
  243. package/datepicker/themes/bs/bs-current-date-view.component.d.ts +0 -3
  244. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +0 -14
  245. package/datepicker/themes/bs/bs-datepicker-container.component.d.ts +0 -33
  246. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +0 -11
  247. package/datepicker/themes/bs/bs-datepicker-inline-container.component.d.ts +0 -10
  248. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts +0 -9
  249. package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +0 -37
  250. package/datepicker/themes/bs/bs-daterangepicker-inline-container.component.d.ts +0 -10
  251. package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +0 -23
  252. package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts +0 -13
  253. package/datepicker/themes/bs/bs-timepicker-view.component.d.ts +0 -5
  254. package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts +0 -13
  255. package/datepicker/utils/bs-calendar-utils.d.ts +0 -10
  256. package/datepicker/utils/matrix-utils.d.ts +0 -9
  257. package/datepicker/yearpicker.component.d.ts +0 -11
  258. package/esm2015/datepicker/base/bs-datepicker-container.js +0 -47
  259. package/esm2015/datepicker/bs-datepicker-inline.component.js +0 -132
  260. package/esm2015/datepicker/bs-datepicker-inline.config.js +0 -12
  261. package/esm2015/datepicker/bs-datepicker-input.directive.js +0 -159
  262. package/esm2015/datepicker/bs-datepicker.component.js +0 -238
  263. package/esm2015/datepicker/bs-datepicker.config.js +0 -85
  264. package/esm2015/datepicker/bs-datepicker.module.js +0 -101
  265. package/esm2015/datepicker/bs-daterangepicker-inline.component.js +0 -129
  266. package/esm2015/datepicker/bs-daterangepicker-inline.config.js +0 -19
  267. package/esm2015/datepicker/bs-daterangepicker-input.directive.js +0 -191
  268. package/esm2015/datepicker/bs-daterangepicker.component.js +0 -227
  269. package/esm2015/datepicker/bs-daterangepicker.config.js +0 -17
  270. package/esm2015/datepicker/bs-locale.service.js +0 -28
  271. package/esm2015/datepicker/date-formatter.js +0 -7
  272. package/esm2015/datepicker/datepicker-animations.js +0 -16
  273. package/esm2015/datepicker/datepicker-inner.component.js +0 -282
  274. package/esm2015/datepicker/datepicker.component.js +0 -140
  275. package/esm2015/datepicker/datepicker.config.js +0 -30
  276. package/esm2015/datepicker/datepicker.module.js +0 -35
  277. package/esm2015/datepicker/daypicker.component.js +0 -174
  278. package/esm2015/datepicker/engine/calc-days-calendar.js +0 -19
  279. package/esm2015/datepicker/engine/flag-days-calendar.js +0 -91
  280. package/esm2015/datepicker/engine/flag-months-calendar.js +0 -41
  281. package/esm2015/datepicker/engine/flag-years-calendar.js +0 -39
  282. package/esm2015/datepicker/engine/format-days-calendar.js +0 -29
  283. package/esm2015/datepicker/engine/format-months-calendar.js +0 -19
  284. package/esm2015/datepicker/engine/format-years-calendar.js +0 -35
  285. package/esm2015/datepicker/engine/view-mode.js +0 -4
  286. package/esm2015/datepicker/index.js +0 -2
  287. package/esm2015/datepicker/mis-crystal-design-system-datepicker.js +0 -25
  288. package/esm2015/datepicker/models/index.js +0 -9
  289. package/esm2015/datepicker/monthpicker.component.js +0 -87
  290. package/esm2015/datepicker/public_api.js +0 -26
  291. package/esm2015/datepicker/reducer/_defaults.js +0 -5
  292. package/esm2015/datepicker/reducer/bs-datepicker.actions.js +0 -132
  293. package/esm2015/datepicker/reducer/bs-datepicker.effects.js +0 -170
  294. package/esm2015/datepicker/reducer/bs-datepicker.reducer.js +0 -302
  295. package/esm2015/datepicker/reducer/bs-datepicker.state.js +0 -12
  296. package/esm2015/datepicker/reducer/bs-datepicker.store.js +0 -19
  297. package/esm2015/datepicker/sub-components/chronos/create/check-overflow.js +0 -30
  298. package/esm2015/datepicker/sub-components/chronos/create/clone.js +0 -6
  299. package/esm2015/datepicker/sub-components/chronos/create/date-from-array.js +0 -17
  300. package/esm2015/datepicker/sub-components/chronos/create/from-anything.js +0 -107
  301. package/esm2015/datepicker/sub-components/chronos/create/from-array.js +0 -136
  302. package/esm2015/datepicker/sub-components/chronos/create/from-object.js +0 -17
  303. package/esm2015/datepicker/sub-components/chronos/create/from-string-and-array.js +0 -38
  304. package/esm2015/datepicker/sub-components/chronos/create/from-string-and-format.js +0 -106
  305. package/esm2015/datepicker/sub-components/chronos/create/from-string.js +0 -227
  306. package/esm2015/datepicker/sub-components/chronos/create/local.js +0 -16
  307. package/esm2015/datepicker/sub-components/chronos/create/parsing-flags.js +0 -26
  308. package/esm2015/datepicker/sub-components/chronos/create/parsing.types.js +0 -2
  309. package/esm2015/datepicker/sub-components/chronos/create/valid.js +0 -42
  310. package/esm2015/datepicker/sub-components/chronos/duration/bubble.js +0 -47
  311. package/esm2015/datepicker/sub-components/chronos/duration/constructor.js +0 -130
  312. package/esm2015/datepicker/sub-components/chronos/duration/create.js +0 -113
  313. package/esm2015/datepicker/sub-components/chronos/duration/humanize.js +0 -80
  314. package/esm2015/datepicker/sub-components/chronos/duration/valid.js +0 -45
  315. package/esm2015/datepicker/sub-components/chronos/format/format.js +0 -51
  316. package/esm2015/datepicker/sub-components/chronos/format.js +0 -46
  317. package/esm2015/datepicker/sub-components/chronos/i18n/ar.js +0 -131
  318. package/esm2015/datepicker/sub-components/chronos/i18n/bg.js +0 -96
  319. package/esm2015/datepicker/sub-components/chronos/i18n/ca.js +0 -91
  320. package/esm2015/datepicker/sub-components/chronos/i18n/cs.js +0 -181
  321. package/esm2015/datepicker/sub-components/chronos/i18n/da.js +0 -50
  322. package/esm2015/datepicker/sub-components/chronos/i18n/de.js +0 -72
  323. package/esm2015/datepicker/sub-components/chronos/i18n/en-gb.js +0 -61
  324. package/esm2015/datepicker/sub-components/chronos/i18n/es-do.js +0 -85
  325. package/esm2015/datepicker/sub-components/chronos/i18n/es-us.js +0 -79
  326. package/esm2015/datepicker/sub-components/chronos/i18n/es.js +0 -84
  327. package/esm2015/datepicker/sub-components/chronos/i18n/et.js +0 -75
  328. package/esm2015/datepicker/sub-components/chronos/i18n/fi.js +0 -100
  329. package/esm2015/datepicker/sub-components/chronos/i18n/fr.js +0 -76
  330. package/esm2015/datepicker/sub-components/chronos/i18n/gl.js +0 -84
  331. package/esm2015/datepicker/sub-components/chronos/i18n/he.js +0 -98
  332. package/esm2015/datepicker/sub-components/chronos/i18n/hi.js +0 -124
  333. package/esm2015/datepicker/sub-components/chronos/i18n/hr.js +0 -62
  334. package/esm2015/datepicker/sub-components/chronos/i18n/hu.js +0 -104
  335. package/esm2015/datepicker/sub-components/chronos/i18n/id.js +0 -83
  336. package/esm2015/datepicker/sub-components/chronos/i18n/it.js +0 -65
  337. package/esm2015/datepicker/sub-components/chronos/i18n/ja.js +0 -75
  338. package/esm2015/datepicker/sub-components/chronos/i18n/ka.js +0 -87
  339. package/esm2015/datepicker/sub-components/chronos/i18n/kk.js +0 -76
  340. package/esm2015/datepicker/sub-components/chronos/i18n/ko.js +0 -77
  341. package/esm2015/datepicker/sub-components/chronos/i18n/lt.js +0 -116
  342. package/esm2015/datepicker/sub-components/chronos/i18n/lv.js +0 -56
  343. package/esm2015/datepicker/sub-components/chronos/i18n/mn.js +0 -99
  344. package/esm2015/datepicker/sub-components/chronos/i18n/nb.js +0 -53
  345. package/esm2015/datepicker/sub-components/chronos/i18n/nl-be.js +0 -81
  346. package/esm2015/datepicker/sub-components/chronos/i18n/nl.js +0 -80
  347. package/esm2015/datepicker/sub-components/chronos/i18n/pl.js +0 -126
  348. package/esm2015/datepicker/sub-components/chronos/i18n/pt-br.js +0 -56
  349. package/esm2015/datepicker/sub-components/chronos/i18n/ro.js +0 -66
  350. package/esm2015/datepicker/sub-components/chronos/i18n/ru.js +0 -181
  351. package/esm2015/datepicker/sub-components/chronos/i18n/sk.js +0 -157
  352. package/esm2015/datepicker/sub-components/chronos/i18n/sl.js +0 -184
  353. package/esm2015/datepicker/sub-components/chronos/i18n/sq.js +0 -54
  354. package/esm2015/datepicker/sub-components/chronos/i18n/sv.js +0 -63
  355. package/esm2015/datepicker/sub-components/chronos/i18n/th-be.js +0 -74
  356. package/esm2015/datepicker/sub-components/chronos/i18n/th.js +0 -59
  357. package/esm2015/datepicker/sub-components/chronos/i18n/tr.js +0 -82
  358. package/esm2015/datepicker/sub-components/chronos/i18n/uk.js +0 -147
  359. package/esm2015/datepicker/sub-components/chronos/i18n/vi.js +0 -74
  360. package/esm2015/datepicker/sub-components/chronos/i18n/zh-cn.js +0 -114
  361. package/esm2015/datepicker/sub-components/chronos/index.js +0 -2
  362. package/esm2015/datepicker/sub-components/chronos/locale/calendar.js +0 -9
  363. package/esm2015/datepicker/sub-components/chronos/locale/locale.class.js +0 -532
  364. package/esm2015/datepicker/sub-components/chronos/locale/locale.defaults.js +0 -40
  365. package/esm2015/datepicker/sub-components/chronos/locale/locales.js +0 -229
  366. package/esm2015/datepicker/sub-components/chronos/moment/add-subtract.js +0 -35
  367. package/esm2015/datepicker/sub-components/chronos/moment/calendar.js +0 -41
  368. package/esm2015/datepicker/sub-components/chronos/moment/diff.js +0 -70
  369. package/esm2015/datepicker/sub-components/chronos/moment/min-max.js +0 -38
  370. package/esm2015/datepicker/sub-components/chronos/parse/regex.js +0 -49
  371. package/esm2015/datepicker/sub-components/chronos/parse/token.js +0 -32
  372. package/esm2015/datepicker/sub-components/chronos/public_api.js +0 -56
  373. package/esm2015/datepicker/sub-components/chronos/test/chain.js +0 -711
  374. package/esm2015/datepicker/sub-components/chronos/types.js +0 -2
  375. package/esm2015/datepicker/sub-components/chronos/units/aliases.js +0 -35
  376. package/esm2015/datepicker/sub-components/chronos/units/constants.js +0 -11
  377. package/esm2015/datepicker/sub-components/chronos/units/day-of-month.js +0 -31
  378. package/esm2015/datepicker/sub-components/chronos/units/day-of-week.js +0 -129
  379. package/esm2015/datepicker/sub-components/chronos/units/day-of-year.js +0 -37
  380. package/esm2015/datepicker/sub-components/chronos/units/hour.js +0 -127
  381. package/esm2015/datepicker/sub-components/chronos/units/index.js +0 -19
  382. package/esm2015/datepicker/sub-components/chronos/units/millisecond.js +0 -60
  383. package/esm2015/datepicker/sub-components/chronos/units/minute.js +0 -23
  384. package/esm2015/datepicker/sub-components/chronos/units/month.js +0 -63
  385. package/esm2015/datepicker/sub-components/chronos/units/offset.js +0 -210
  386. package/esm2015/datepicker/sub-components/chronos/units/priorities.js +0 -21
  387. package/esm2015/datepicker/sub-components/chronos/units/quarter.js +0 -39
  388. package/esm2015/datepicker/sub-components/chronos/units/second.js +0 -23
  389. package/esm2015/datepicker/sub-components/chronos/units/timestamp.js +0 -28
  390. package/esm2015/datepicker/sub-components/chronos/units/timezone.js +0 -19
  391. package/esm2015/datepicker/sub-components/chronos/units/week-calendar-utils.js +0 -70
  392. package/esm2015/datepicker/sub-components/chronos/units/week-year.js +0 -101
  393. package/esm2015/datepicker/sub-components/chronos/units/week.js +0 -58
  394. package/esm2015/datepicker/sub-components/chronos/units/year.js +0 -60
  395. package/esm2015/datepicker/sub-components/chronos/utils/abs-ceil.js +0 -4
  396. package/esm2015/datepicker/sub-components/chronos/utils/abs-round.js +0 -4
  397. package/esm2015/datepicker/sub-components/chronos/utils/compare-arrays.js +0 -16
  398. package/esm2015/datepicker/sub-components/chronos/utils/date-compare.js +0 -55
  399. package/esm2015/datepicker/sub-components/chronos/utils/date-getters.js +0 -67
  400. package/esm2015/datepicker/sub-components/chronos/utils/date-setters.js +0 -75
  401. package/esm2015/datepicker/sub-components/chronos/utils/defaults.js +0 -11
  402. package/esm2015/datepicker/sub-components/chronos/utils/start-end-of.js +0 -57
  403. package/esm2015/datepicker/sub-components/chronos/utils/type-checks.js +0 -56
  404. package/esm2015/datepicker/sub-components/chronos/utils/zero-fill.js +0 -10
  405. package/esm2015/datepicker/sub-components/chronos/utils.js +0 -7
  406. package/esm2015/datepicker/sub-components/component-loader/bs-component-ref.class.js +0 -3
  407. package/esm2015/datepicker/sub-components/component-loader/component-loader.class.js +0 -272
  408. package/esm2015/datepicker/sub-components/component-loader/component-loader.factory.js +0 -32
  409. package/esm2015/datepicker/sub-components/component-loader/content-ref.class.js +0 -12
  410. package/esm2015/datepicker/sub-components/component-loader/index.js +0 -2
  411. package/esm2015/datepicker/sub-components/component-loader/listen-options.model.js +0 -2
  412. package/esm2015/datepicker/sub-components/component-loader/public_api.js +0 -5
  413. package/esm2015/datepicker/sub-components/mini-ngrx/index.js +0 -2
  414. package/esm2015/datepicker/sub-components/mini-ngrx/public_api.js +0 -3
  415. package/esm2015/datepicker/sub-components/mini-ngrx/state.class.js +0 -16
  416. package/esm2015/datepicker/sub-components/mini-ngrx/store.class.js +0 -43
  417. package/esm2015/datepicker/sub-components/positioning/index.js +0 -2
  418. package/esm2015/datepicker/sub-components/positioning/models/index.js +0 -2
  419. package/esm2015/datepicker/sub-components/positioning/modifiers/arrow.js +0 -56
  420. package/esm2015/datepicker/sub-components/positioning/modifiers/flip.js +0 -60
  421. package/esm2015/datepicker/sub-components/positioning/modifiers/index.js +0 -6
  422. package/esm2015/datepicker/sub-components/positioning/modifiers/initData.js +0 -42
  423. package/esm2015/datepicker/sub-components/positioning/modifiers/preventOverflow.js +0 -56
  424. package/esm2015/datepicker/sub-components/positioning/modifiers/shift.js +0 -22
  425. package/esm2015/datepicker/sub-components/positioning/ng-positioning.js +0 -30
  426. package/esm2015/datepicker/sub-components/positioning/positioning.service.js +0 -71
  427. package/esm2015/datepicker/sub-components/positioning/public_api.js +0 -3
  428. package/esm2015/datepicker/sub-components/positioning/utils/computeAutoPlacement.js +0 -53
  429. package/esm2015/datepicker/sub-components/positioning/utils/findCommonOffsetParent.js +0 -40
  430. package/esm2015/datepicker/sub-components/positioning/utils/getBordersSize.js +0 -10
  431. package/esm2015/datepicker/sub-components/positioning/utils/getBoundaries.js +0 -56
  432. package/esm2015/datepicker/sub-components/positioning/utils/getBoundingClientRect.js +0 -55
  433. package/esm2015/datepicker/sub-components/positioning/utils/getClientRect.js +0 -4
  434. package/esm2015/datepicker/sub-components/positioning/utils/getFixedPositionOffsetParent.js +0 -17
  435. package/esm2015/datepicker/sub-components/positioning/utils/getOffsetParent.js +0 -32
  436. package/esm2015/datepicker/sub-components/positioning/utils/getOffsetRectRelativeToArbitraryNode.js +0 -51
  437. package/esm2015/datepicker/sub-components/positioning/utils/getOffsets.js +0 -11
  438. package/esm2015/datepicker/sub-components/positioning/utils/getOppositePlacement.js +0 -8
  439. package/esm2015/datepicker/sub-components/positioning/utils/getOppositeVariation.js +0 -13
  440. package/esm2015/datepicker/sub-components/positioning/utils/getOuterSizes.js +0 -14
  441. package/esm2015/datepicker/sub-components/positioning/utils/getParentNode.js +0 -10
  442. package/esm2015/datepicker/sub-components/positioning/utils/getReferenceOffsets.js +0 -13
  443. package/esm2015/datepicker/sub-components/positioning/utils/getRoot.js +0 -10
  444. package/esm2015/datepicker/sub-components/positioning/utils/getScroll.js +0 -14
  445. package/esm2015/datepicker/sub-components/positioning/utils/getScrollParent.js +0 -26
  446. package/esm2015/datepicker/sub-components/positioning/utils/getStyleComputedProperty.js +0 -13
  447. package/esm2015/datepicker/sub-components/positioning/utils/getTargetOffsets.js +0 -30
  448. package/esm2015/datepicker/sub-components/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.js +0 -19
  449. package/esm2015/datepicker/sub-components/positioning/utils/getWindowSizes.js +0 -18
  450. package/esm2015/datepicker/sub-components/positioning/utils/includeScroll.js +0 -15
  451. package/esm2015/datepicker/sub-components/positioning/utils/index.js +0 -24
  452. package/esm2015/datepicker/sub-components/positioning/utils/isBrowser.js +0 -2
  453. package/esm2015/datepicker/sub-components/positioning/utils/isFixed.js +0 -16
  454. package/esm2015/datepicker/sub-components/positioning/utils/isIE.js +0 -16
  455. package/esm2015/datepicker/sub-components/positioning/utils/isModifierEnabled.js +0 -10
  456. package/esm2015/datepicker/sub-components/positioning/utils/isNumeric.js +0 -7
  457. package/esm2015/datepicker/sub-components/positioning/utils/isOffsetContainer.js +0 -9
  458. package/esm2015/datepicker/sub-components/positioning/utils/setStyles.js +0 -17
  459. package/esm2015/datepicker/sub-components/positioning/utils/updateContainerClass.js +0 -22
  460. package/esm2015/datepicker/sub-components/tooltip/index.js +0 -2
  461. package/esm2015/datepicker/sub-components/tooltip/public_api.js +0 -5
  462. package/esm2015/datepicker/sub-components/tooltip/tooltip-container.component.js +0 -63
  463. package/esm2015/datepicker/sub-components/tooltip/tooltip.config.js +0 -22
  464. package/esm2015/datepicker/sub-components/tooltip/tooltip.directive.js +0 -282
  465. package/esm2015/datepicker/sub-components/tooltip/tooltip.module.js +0 -23
  466. package/esm2015/datepicker/sub-components/utils/decorators.js +0 -25
  467. package/esm2015/datepicker/sub-components/utils/facade/browser.js +0 -24
  468. package/esm2015/datepicker/sub-components/utils/index.js +0 -2
  469. package/esm2015/datepicker/sub-components/utils/linked-list.class.js +0 -240
  470. package/esm2015/datepicker/sub-components/utils/public_api.js +0 -11
  471. package/esm2015/datepicker/sub-components/utils/theme-provider.js +0 -35
  472. package/esm2015/datepicker/sub-components/utils/trigger.class.js +0 -10
  473. package/esm2015/datepicker/sub-components/utils/triggers.js +0 -110
  474. package/esm2015/datepicker/sub-components/utils/utils.class.js +0 -21
  475. package/esm2015/datepicker/sub-components/utils/warn-once.js +0 -12
  476. package/esm2015/datepicker/themes/bs/bs-calendar-layout.component.js +0 -25
  477. package/esm2015/datepicker/themes/bs/bs-current-date-view.component.js +0 -13
  478. package/esm2015/datepicker/themes/bs/bs-custom-dates-view.component.js +0 -44
  479. package/esm2015/datepicker/themes/bs/bs-datepicker-container.component.js +0 -152
  480. package/esm2015/datepicker/themes/bs/bs-datepicker-day-decorator.directive.js +0 -47
  481. package/esm2015/datepicker/themes/bs/bs-datepicker-inline-container.component.js +0 -36
  482. package/esm2015/datepicker/themes/bs/bs-datepicker-navigation-view.component.js +0 -63
  483. package/esm2015/datepicker/themes/bs/bs-daterangepicker-container.component.js +0 -195
  484. package/esm2015/datepicker/themes/bs/bs-daterangepicker-inline-container.component.js +0 -36
  485. package/esm2015/datepicker/themes/bs/bs-days-calendar-view.component.js +0 -162
  486. package/esm2015/datepicker/themes/bs/bs-months-calendar-view.component.js +0 -60
  487. package/esm2015/datepicker/themes/bs/bs-timepicker-view.component.js +0 -34
  488. package/esm2015/datepicker/themes/bs/bs-years-calendar-view.component.js +0 -61
  489. package/esm2015/datepicker/utils/bs-calendar-utils.js +0 -43
  490. package/esm2015/datepicker/utils/matrix-utils.js +0 -14
  491. package/esm2015/datepicker/yearpicker.component.js +0 -90
  492. package/fesm2015/mis-crystal-design-system-datepicker.js +0 -13512
  493. package/fesm2015/mis-crystal-design-system-datepicker.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { InjectionToken, Component, Inject, EventEmitter, Injector, Directive, Self, Optional, ElementRef, ViewContainerRef, Input, Output, HostListener, NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { parseZone, tz } from 'moment-timezone';
3
+ import { parseZone } from 'moment-timezone';
4
4
  import { ToastService, ToastModule } from 'mis-crystal-design-system/toast';
5
5
  import { OverlayConfig, ConnectionPositionPair, Overlay } from '@angular/cdk/overlay';
6
6
  import { ComponentPortal } from '@angular/cdk/portal';
@@ -71,7 +71,7 @@ class TzDpContainerComponent {
71
71
  this.data = data;
72
72
  if ((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.dpConfig) === null || _b === void 0 ? void 0 : _b.timezone) {
73
73
  this.parseZoneInstance = (...args) => {
74
- return tz(args[0], args[1], this.data.dpConfig.timezone);
74
+ return parseZone(...args).tz(this.data.dpConfig.timezone);
75
75
  };
76
76
  }
77
77
  this.currentMonthNumber = this.parseZoneInstance().month();
@@ -106,7 +106,7 @@ class TzDpContainerComponent {
106
106
  }
107
107
  const maxDate = this.parseZoneInstance(this.data.dpConfig.maxDate, this.data.dpConfig.format);
108
108
  if (maxDate.isValid()) {
109
- this.isNextMonthDisabled = maxDate.isSameOrBefore(currentInstance, "month");
109
+ this.isNextMonthDisabled = maxDate.isBefore(currentInstance, "month");
110
110
  }
111
111
  }
112
112
  navigateMonth(direction) {
@@ -127,24 +127,24 @@ class TzDpContainerComponent {
127
127
  var _a;
128
128
  let dates = [];
129
129
  const daysInMonth = parseZone().year(currentYearNumber).month(month).daysInMonth();
130
- for (let currentDate = 1; currentDate <= daysInMonth; currentDate++) {
131
- const date = this.parseZoneInstance().year(currentYearNumber).month(month).date(currentDate);
130
+ for (let startDate = 1; startDate <= daysInMonth; startDate++) {
131
+ const date = parseZone().year(currentYearNumber).month(month).date(startDate);
132
132
  const dateString = date.format(this.data.dpConfig.format);
133
133
  let isDisabledDay = this.data.datesDisabled.some((d) => d === dateString);
134
- const minDate = this.parseZoneInstance(this.data.dpConfig.minDate, this.data.dpConfig.format);
134
+ const minDate = parseZone(this.data.dpConfig.minDate, this.data.dpConfig.format);
135
135
  if (!isDisabledDay && minDate.isValid()) {
136
136
  isDisabledDay = minDate.isAfter(date, "day");
137
137
  }
138
- const maxDate = this.parseZoneInstance(this.data.dpConfig.maxDate, this.data.dpConfig.format);
138
+ const maxDate = parseZone(this.data.dpConfig.maxDate, this.data.dpConfig.format);
139
139
  if (!isDisabledDay && maxDate.isValid()) {
140
140
  isDisabledDay = maxDate.isBefore(date, "day");
141
141
  }
142
142
  dates.push({
143
- date: currentDate,
143
+ date: startDate,
144
144
  weekDay: date.day(),
145
- isCurrentDay: this.parseZoneInstance().year(currentYearNumber).month(month).date(currentDate).format(this.data.dpConfig.format) ===
146
- this.parseZoneInstance().format(this.data.dpConfig.format),
147
- isSelectedDay: !isDisabledDay && date.format(this.data.dpConfig.format) === this.data.date,
145
+ isCurrentDay: this.parseZoneInstance({ year: currentYearNumber, month, date: startDate }).format(this.data.dpConfig.format) ===
146
+ parseZone().format(this.data.dpConfig.format),
147
+ isSelectedDay: date.format(this.data.dpConfig.format) === this.data.date,
148
148
  toastMessage: ((_a = this.data.messages.find((q) => date.format(this.data.dpConfig.format) === q.date)) === null || _a === void 0 ? void 0 : _a.message) || "",
149
149
  isDisabledDay,
150
150
  });
@@ -1 +1 @@
1
- {"version":3,"file":"mis-crystal-design-system-datepicker_v2.js","sources":["../../../projects/mis-components/datepicker_v2/datepicker-constants.ts","../../../projects/mis-components/datepicker_v2/utils/index.ts","../../../projects/mis-components/datepicker_v2/tz-dp-container/tz-dp-container.component.ts","../../../projects/mis-components/datepicker_v2/tz-datepicker.directive.ts","../../../projects/mis-components/datepicker_v2/datepicker.module.ts","../../../projects/mis-components/datepicker_v2/mis-crystal-design-system-datepicker_v2.ts"],"sourcesContent":["/** @format */\n\nimport { InjectionToken } from \"@angular/core\";\n\nexport const CONTAINER_DATA = new InjectionToken<{}>('CONTAINER_DATA');\nexport const DATE_FORMAT = \"DD-MM-YYYY\";","import { ICurrentMonth } from \"../models/dp-config.model\";\n\nexport const getMonth = (index: number): ICurrentMonth => {\n let month;\n switch (index) {\n case 0:\n month = 'January'\n break;\n case 1:\n month = 'February'\n break;\n case 2:\n month = 'March'\n break;\n case 3:\n month = 'April'\n break;\n case 4:\n month = 'May'\n break;\n case 5:\n month = 'June'\n break;\n case 6:\n month = 'July'\n break;\n case 7:\n month = 'August'\n break;\n case 8:\n month = 'September'\n break;\n case 9:\n month = 'October'\n break;\n case 10:\n month = 'November'\n break;\n case 11:\n month = 'December'\n break;\n default:\n break;\n }\n return month;\n}","import { Component, Inject, OnInit } from \"@angular/core\";\nimport { CONTAINER_DATA, DATE_FORMAT } from \"../datepicker-constants\";\nimport { ICurrentMonth, ICurrentMonthDates, IDatePickerData, IWeekDay } from \"../models/dp-config.model\";\nimport { parseZone, Moment, tz } from \"moment-timezone\";\nimport { getMonth } from \"../utils\";\nimport { ToastService } from \"mis-crystal-design-system/toast\";\n\n@Component({\n selector: \"mis-tz-dp\",\n templateUrl: \"./tz-dp-container.component.html\",\n styleUrls: [\"./tz-dp-container.component.scss\"],\n})\nexport class TzDpContainerComponent implements OnInit {\n data: IDatePickerData;\n private parseZoneInstance = (...args) => {\n return parseZone(...args);\n };\n private rawWeekDays: string[] = [\"SUN\", \"MON\", \"TUE\", \"WED\", \"THU\", \"FRI\", \"SAT\"];\n weekDays: IWeekDay[] = [];\n currentMonthNumber: number;\n currentMonth: ICurrentMonth;\n currentYearNumber: number;\n currentMonthDates: ICurrentMonthDates[] = [];\n isPreviousMonthDisabled: boolean = false;\n isNextMonthDisabled: boolean = false;\n\n constructor(@Inject(CONTAINER_DATA) data: IDatePickerData, private toast: ToastService) {\n this.data = data;\n if (this.data?.dpConfig?.timezone) {\n this.parseZoneInstance = (...args) => {\n return tz(args[0], args[1], this.data.dpConfig.timezone);\n };\n }\n this.currentMonthNumber = this.parseZoneInstance().month();\n this.currentMonth = getMonth(this.currentMonthNumber);\n this.currentYearNumber = this.parseZoneInstance().year();\n this.weekDays = this.rawWeekDays.map((day, index) => ({\n label: `${day[0]}${day.slice(1).toLowerCase()}`,\n isCurrentDay: this.parseZoneInstance().day() === index,\n }));\n if (!this.data?.dpConfig?.format) {\n this.data.dpConfig = {\n ...this.data.dpConfig,\n format: DATE_FORMAT,\n };\n }\n }\n\n ngOnInit(): void {\n this.currentDateInstance();\n this.calculateMinMaxDays();\n }\n\n private currentDateInstance(): void {\n const selectedDate = parseZone(this.data.date, this.data.dpConfig.format);\n if (selectedDate.isValid()) {\n this.currentYearNumber = selectedDate.year();\n this.currentMonthNumber = selectedDate.month();\n this.currentMonth = getMonth(this.currentMonthNumber);\n }\n this.currentMonthDates = this.generateDates(this.currentMonthNumber, this.currentYearNumber);\n }\n\n private calculateMinMaxDays() {\n const currentInstance = this.parseZoneInstance().year(this.currentYearNumber).month(this.currentMonthNumber);\n const minDate = this.parseZoneInstance(this.data.dpConfig.minDate, this.data.dpConfig.format);\n if (minDate.isValid()) {\n this.isPreviousMonthDisabled = minDate.isSameOrAfter(currentInstance, \"month\");\n }\n const maxDate = this.parseZoneInstance(this.data.dpConfig.maxDate, this.data.dpConfig.format);\n if (maxDate.isValid()) {\n this.isNextMonthDisabled = maxDate.isSameOrBefore(currentInstance, \"month\");\n }\n }\n\n navigateMonth(direction: \"NEXT\" | \"PREVIOUS\"): void {\n let thisMonth: Moment = parseZone().year(this.currentYearNumber).month(this.currentMonthNumber);\n if (direction === \"NEXT\") {\n thisMonth = thisMonth.add(1, \"month\");\n } else if (direction === \"PREVIOUS\") {\n thisMonth = thisMonth.subtract(1, \"month\");\n }\n this.currentMonthNumber = thisMonth.month();\n this.currentMonth = getMonth(this.currentMonthNumber);\n this.currentYearNumber = thisMonth.year();\n this.currentMonthDates = this.generateDates(this.currentMonthNumber, this.currentYearNumber);\n this.calculateMinMaxDays();\n }\n\n private generateDates(month: number, currentYearNumber: number): ICurrentMonthDates[] {\n let dates: ICurrentMonthDates[] = [];\n const daysInMonth = parseZone().year(currentYearNumber).month(month).daysInMonth();\n for (let currentDate = 1; currentDate <= daysInMonth; currentDate++) {\n const date = this.parseZoneInstance().year(currentYearNumber).month(month).date(currentDate);\n const dateString = date.format(this.data.dpConfig.format);\n let isDisabledDay = this.data.datesDisabled.some((d) => d === dateString);\n const minDate = this.parseZoneInstance(this.data.dpConfig.minDate, this.data.dpConfig.format);\n if (!isDisabledDay && minDate.isValid()) {\n isDisabledDay = minDate.isAfter(date, \"day\");\n }\n const maxDate = this.parseZoneInstance(this.data.dpConfig.maxDate, this.data.dpConfig.format);\n if (!isDisabledDay && maxDate.isValid()) {\n isDisabledDay = maxDate.isBefore(date, \"day\");\n }\n dates.push({\n date: currentDate,\n weekDay: date.day(),\n isCurrentDay:\n this.parseZoneInstance().year(currentYearNumber).month(month).date(currentDate).format(this.data.dpConfig.format) ===\n this.parseZoneInstance().format(this.data.dpConfig.format),\n isSelectedDay: !isDisabledDay && date.format(this.data.dpConfig.format) === this.data.date,\n toastMessage: this.data.messages.find((q) => date.format(this.data.dpConfig.format) === q.date)?.message || \"\",\n isDisabledDay,\n });\n }\n for (let i = dates[0].weekDay; i > 0; i--) {\n dates.unshift({ date: 0, weekDay: i - 1 });\n }\n return dates;\n }\n\n selectDay(day: ICurrentMonthDates) {\n if (day.date <= 0) return;\n if (!day.isDisabledDay) {\n this.data.dateChange(\n parseZone().year(this.currentYearNumber).month(this.currentMonthNumber).date(day.date).format(this.data.dpConfig.format)\n );\n }\n if (day.toastMessage) {\n this.toast.displayMsg(day.toastMessage, 4000);\n }\n }\n}\n","import { ConnectionPositionPair, Overlay, OverlayConfig, OverlayRef, PositionStrategy } from \"@angular/cdk/overlay\";\nimport { ComponentPortal } from \"@angular/cdk/portal\";\nimport { Directive, ElementRef, EventEmitter, HostListener, Injector, Input, Optional, Output, Self, ViewContainerRef } from \"@angular/core\";\nimport { NgControl } from \"@angular/forms\";\nimport { take } from \"rxjs/operators\";\nimport { CONTAINER_DATA, DATE_FORMAT } from \"./datepicker-constants\";\nimport { IDatePickerConfig, IDatePickerToastText } from \"./models/dp-config.model\";\nimport { TzDpContainerComponent } from './tz-dp-container/tz-dp-container.component';\n\n@Directive({\n selector: \"input[misTzDp]\",\n})\nexport class TzDatepickerDirective {\n @Input() dpConfig: Partial<IDatePickerConfig> = {\n format: DATE_FORMAT,\n minDate: \"\",\n maxDate: \"\"\n };\n // dd-mm-yyyy 01-12-2022\n @Input() set selectedDate(date: string) {\n this.date = date;\n }\n @Input() set datesDisabled(dates: string[]) {\n this.dpDisabledDates = dates;\n }\n @Input() dateMessages: IDatePickerToastText[] = [];\n @Input() positionX: \"start\" | \"center\" | \"end\" = \"center\";\n @Input() positionY: \"top\" | \"center\" | \"bottom\" = \"bottom\";\n @Input() offsetX:number = 0;\n @Input() offsetY:number = 0;\n private overlayRef: OverlayRef;\n @Output() dateChange = new EventEmitter<string>(true);\n private isOpen = false;\n date: string;\n\n private dpDisabledDates: string[] = [];\n\n constructor(@Self() @Optional() private control: NgControl, private element: ElementRef, private overlay: Overlay, private viewContainerRef: ViewContainerRef) { }\n\n @HostListener(\"click\")\n toggleDatePicker() {\n if (this.isOpen) {\n this.close();\n } else {\n this.open();\n }\n }\n\n private open() {\n this.isOpen = true;\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(this.element)\n .withPositions(this.genPositionPairs())\n .withPush(true);\n const config = new OverlayConfig({\n hasBackdrop: true,\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n backdropClass: \"cdk-overlay-transparent-backdrop\",\n });\n this.overlayRef = this.overlay.create(config);\n const tempRef = new ComponentPortal(TzDpContainerComponent, this.viewContainerRef, Injector.create({\n providers: [\n { provide: CONTAINER_DATA, useValue: { messages: this.dateMessages, date: this.control?.control.value || this.date, dpConfig: this.dpConfig, datesDisabled: this.dpDisabledDates, dateChange: this.applyDate.bind(this) } },\n ]\n }));\n this.overlayRef.attach(tempRef);\n this.overlayRef\n .backdropClick()\n .pipe(take(1))\n .subscribe(() => {\n this.close();\n });\n }\n\n applyDate(date: string) {\n this.dateChange.emit(date);\n this.control?.control.patchValue(date);\n this.date = date;\n this.close();\n }\n\n private close() {\n this.isOpen = false;\n this.overlayRef.detach();\n this.overlayRef.dispose();\n }\n\n private genPositionPairs():ConnectionPositionPair[] {\n return [\n new ConnectionPositionPair(\n { originX: this.positionX, originY: this.positionY },\n { overlayX: this.positionX, overlayY: this.positionY === \"bottom\" ? \"top\" : \"bottom\" },\n this.offsetX,\n this.offsetY\n ),\n new ConnectionPositionPair({ originX: \"center\", originY: \"bottom\" }, { overlayX: \"center\", overlayY: \"top\" }),\n new ConnectionPositionPair({ originX: \"center\", originY: \"top\" }, { overlayX: \"center\", overlayY: \"bottom\" }),\n new ConnectionPositionPair({ originX: \"start\", originY: \"bottom\" }, { overlayX: \"start\", overlayY: \"top\" }),\n new ConnectionPositionPair({ originX: \"start\", originY: \"top\" }, { overlayX: \"start\", overlayY: \"bottom\" }),\n new ConnectionPositionPair({ originX: \"end\", originY: \"bottom\" }, { overlayX: \"end\", overlayY: \"top\" }),\n new ConnectionPositionPair({ originX: \"end\", originY: \"top\" }, { overlayX: \"end\", overlayY: \"bottom\" }),\n ];\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { TzDpContainerComponent } from \"./tz-dp-container/tz-dp-container.component\";\nimport { TzDatepickerDirective } from \"./tz-datepicker.directive\";\nimport { ToastModule } from 'mis-crystal-design-system/toast';\n@NgModule({\n declarations: [TzDpContainerComponent, TzDatepickerDirective],\n imports: [CommonModule, ToastModule.forRoot()],\n exports: [TzDpContainerComponent, TzDatepickerDirective],\n entryComponents: [TzDpContainerComponent]\n})\nexport class DatepickerModuleV2 {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {CONTAINER_DATA as ɵc} from './datepicker-constants';\nexport {IDatePickerData as ɵa} from './models/dp-config.model';\nexport {TzDpContainerComponent as ɵb} from './tz-dp-container/tz-dp-container.component';"],"names":[],"mappings":";;;;;;;;;AAAA;MAIa,cAAc,GAAG,IAAI,cAAc,CAAK,gBAAgB,EAAE;AAChE,MAAM,WAAW,GAAG,YAAY;;ACHhC,MAAM,QAAQ,GAAG,CAAC,KAAa;IAClC,IAAI,KAAK,CAAC;IACV,QAAQ,KAAK;QACT,KAAK,CAAC;YACF,KAAK,GAAG,SAAS,CAAA;YACjB,MAAM;QACV,KAAK,CAAC;YACF,KAAK,GAAG,UAAU,CAAA;YAClB,MAAM;QACV,KAAK,CAAC;YACF,KAAK,GAAG,OAAO,CAAA;YACf,MAAM;QACV,KAAK,CAAC;YACF,KAAK,GAAG,OAAO,CAAA;YACf,MAAM;QACV,KAAK,CAAC;YACF,KAAK,GAAG,KAAK,CAAA;YACb,MAAM;QACV,KAAK,CAAC;YACF,KAAK,GAAG,MAAM,CAAA;YACd,MAAM;QACV,KAAK,CAAC;YACF,KAAK,GAAG,MAAM,CAAA;YACd,MAAM;QACV,KAAK,CAAC;YACF,KAAK,GAAG,QAAQ,CAAA;YAChB,MAAM;QACV,KAAK,CAAC;YACF,KAAK,GAAG,WAAW,CAAA;YACnB,MAAM;QACV,KAAK,CAAC;YACF,KAAK,GAAG,SAAS,CAAA;YACjB,MAAM;QACV,KAAK,EAAE;YACH,KAAK,GAAG,UAAU,CAAA;YAClB,MAAM;QACV,KAAK,EAAE;YACH,KAAK,GAAG,UAAU,CAAA;YAClB,MAAM;QACV;YACI,MAAM;KACb;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;;MCjCY,sBAAsB;IAcjC,YAAoC,IAAqB,EAAU,KAAmB;;QAAnB,UAAK,GAAL,KAAK,CAAc;QAZ9E,sBAAiB,GAAG,CAAC,GAAG,IAAI;YAClC,OAAO,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;SAC3B,CAAC;QACM,gBAAW,GAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAClF,aAAQ,GAAe,EAAE,CAAC;QAI1B,sBAAiB,GAAyB,EAAE,CAAC;QAC7C,4BAAuB,GAAY,KAAK,CAAC;QACzC,wBAAmB,GAAY,KAAK,CAAC;QAGnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,gBAAI,IAAI,CAAC,IAAI,0CAAE,QAAQ,0CAAE,QAAQ,EAAE;YACjC,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI;gBAC/B,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAC1D,CAAC;SACH;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,CAAC;QAC3D,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,MAAM;YACpD,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE;YAC/C,YAAY,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK;SACvD,CAAC,CAAC,CAAC;QACJ,IAAI,cAAC,IAAI,CAAC,IAAI,0CAAE,QAAQ,0CAAE,MAAM,CAAA,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,mCACb,IAAI,CAAC,IAAI,CAAC,QAAQ,KACrB,MAAM,EAAE,WAAW,GACpB,CAAC;SACH;KACF;IAED,QAAQ;QACN,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC5B;IAEO,mBAAmB;QACzB,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1E,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE;YAC1B,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;YAC7C,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;YAC/C,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACvD;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;KAC9F;IAEO,mBAAmB;QACzB,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC7G,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9F,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE;YACrB,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,aAAa,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;SAChF;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9F,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE;YACrB,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;SAC7E;KACF;IAED,aAAa,CAAC,SAA8B;QAC1C,IAAI,SAAS,GAAW,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAChG,IAAI,SAAS,KAAK,MAAM,EAAE;YACxB,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;SACvC;aAAM,IAAI,SAAS,KAAK,UAAU,EAAE;YACnC,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtD,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7F,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC5B;IAEO,aAAa,CAAC,KAAa,EAAE,iBAAyB;;QAC5D,IAAI,KAAK,GAAyB,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,SAAS,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QACnF,KAAK,IAAI,WAAW,GAAG,CAAC,EAAE,WAAW,IAAI,WAAW,EAAE,WAAW,EAAE,EAAE;YACnE,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7F,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC1D,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,CAAC;YAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC9F,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE;gBACvC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aAC9C;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC9F,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE;gBACvC,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aAC/C;YACD,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;gBACnB,YAAY,EACV,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACjH,IAAI,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC5D,aAAa,EAAE,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI;gBAC1F,YAAY,EAAE,OAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,0CAAE,OAAO,KAAI,EAAE;gBAC9G,aAAa;aACd,CAAC,CAAC;SACJ;QACD,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACzC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SAC5C;QACD,OAAO,KAAK,CAAC;KACd;IAED,SAAS,CAAC,GAAuB;QAC/B,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC;YAAE,OAAO;QAC1B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,UAAU,CAClB,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CACzH,CAAC;SACH;QACD,IAAI,GAAG,CAAC,YAAY,EAAE;YACpB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;SAC/C;KACF;;;YA5HF,SAAS,SAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,y5FAA+C;;aAEhD;;;4CAec,MAAM,SAAC,cAAc;YArB3B,YAAY;;;MCOR,qBAAqB;IAyBhC,YAAwC,OAAkB,EAAU,OAAmB,EAAU,OAAgB,EAAU,gBAAkC;QAArH,YAAO,GAAP,OAAO,CAAW;QAAU,YAAO,GAAP,OAAO,CAAY;QAAU,YAAO,GAAP,OAAO,CAAS;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAxBpJ,aAAQ,GAA+B;YAC9C,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;SACZ,CAAC;QAQO,iBAAY,GAA2B,EAAE,CAAC;QAC1C,cAAS,GAA+B,QAAQ,CAAC;QACjD,cAAS,GAAgC,QAAQ,CAAC;QAClD,YAAO,GAAU,CAAC,CAAC;QACnB,YAAO,GAAU,CAAC,CAAC;QAElB,eAAU,GAAG,IAAI,YAAY,CAAS,IAAI,CAAC,CAAC;QAC9C,WAAM,GAAG,KAAK,CAAC;QAGf,oBAAe,GAAa,EAAE,CAAC;KAE2H;;IAlBlK,IAAa,YAAY,CAAC,IAAY;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KAClB;IACD,IAAa,aAAa,CAAC,KAAe;QACxC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;KAC9B;IAgBD,gBAAgB;QACd,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;aAAM;YACL,IAAI,CAAC,IAAI,EAAE,CAAC;SACb;KACF;IAEO,IAAI;;QACV,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO;aAClC,QAAQ,EAAE;aACV,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC;aACjC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACtC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC;YAC/B,WAAW,EAAE,IAAI;YACjB,gBAAgB;YAChB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE;YAC1D,aAAa,EAAE,kCAAkC;SAClD,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,sBAAsB,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC;YACjG,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,OAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,CAAC,KAAK,KAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;aAC5N;SACF,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,UAAU;aACZ,aAAa,EAAE;aACf,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACb,SAAS,CAAC;YACT,IAAI,CAAC,KAAK,EAAE,CAAC;SACd,CAAC,CAAC;KACN;IAED,SAAS,CAAC,IAAY;;QACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,EAAE,CAAC;KACd;IAEO,KAAK;QACX,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;KAC3B;IAEO,gBAAgB;QACtB,OAAO;YACL,IAAI,sBAAsB,CACxB,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,EACpD,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,KAAK,QAAQ,GAAG,KAAK,GAAG,QAAQ,EAAE,EACtF,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,CACb;YACD,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YAC7G,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC7G,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YAC3G,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC3G,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACvG,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;SACxG,CAAC;KACH;;;YA/FF,SAAS,SAAC;gBACT,QAAQ,EAAE,gBAAgB;aAC3B;;;YARQ,SAAS,uBAkCH,IAAI,YAAI,QAAQ;YAnCX,UAAU;YAFG,OAAO;YAE6D,gBAAgB;;;uBAWlH,KAAK;2BAML,KAAK;4BAGL,KAAK;2BAGL,KAAK;wBACL,KAAK;wBACL,KAAK;sBACL,KAAK;sBACL,KAAK;yBAEL,MAAM;+BAQN,YAAY,SAAC,OAAO;;;MC5BV,kBAAkB;;;YAN9B,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,sBAAsB,EAAE,qBAAqB,CAAC;gBAC7D,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC;gBAC9C,OAAO,EAAE,CAAC,sBAAsB,EAAE,qBAAqB,CAAC;gBACxD,eAAe,EAAE,CAAC,sBAAsB,CAAC;aAC1C;;;ACVD;;;;;;"}
1
+ {"version":3,"file":"mis-crystal-design-system-datepicker_v2.js","sources":["../../../projects/mis-components/datepicker_v2/datepicker-constants.ts","../../../projects/mis-components/datepicker_v2/utils/index.ts","../../../projects/mis-components/datepicker_v2/tz-dp-container/tz-dp-container.component.ts","../../../projects/mis-components/datepicker_v2/tz-datepicker.directive.ts","../../../projects/mis-components/datepicker_v2/datepicker.module.ts","../../../projects/mis-components/datepicker_v2/mis-crystal-design-system-datepicker_v2.ts"],"sourcesContent":["/** @format */\n\nimport { InjectionToken } from \"@angular/core\";\n\nexport const CONTAINER_DATA = new InjectionToken<{}>('CONTAINER_DATA');\nexport const DATE_FORMAT = \"DD-MM-YYYY\";","import { ICurrentMonth } from \"../models/dp-config.model\";\n\nexport const getMonth = (index: number): ICurrentMonth => {\n let month;\n switch (index) {\n case 0:\n month = 'January'\n break;\n case 1:\n month = 'February'\n break;\n case 2:\n month = 'March'\n break;\n case 3:\n month = 'April'\n break;\n case 4:\n month = 'May'\n break;\n case 5:\n month = 'June'\n break;\n case 6:\n month = 'July'\n break;\n case 7:\n month = 'August'\n break;\n case 8:\n month = 'September'\n break;\n case 9:\n month = 'October'\n break;\n case 10:\n month = 'November'\n break;\n case 11:\n month = 'December'\n break;\n default:\n break;\n }\n return month;\n}","import { Component, Inject, OnInit } from \"@angular/core\";\nimport { CONTAINER_DATA, DATE_FORMAT } from \"../datepicker-constants\";\nimport { ICurrentMonth, ICurrentMonthDates, IDatePickerData, IWeekDay } from \"../models/dp-config.model\";\nimport { parseZone, Moment, tz } from \"moment-timezone\";\nimport { getMonth } from \"../utils\";\nimport { ToastService } from \"mis-crystal-design-system/toast\";\n\n@Component({\n selector: \"mis-tz-dp\",\n templateUrl: \"./tz-dp-container.component.html\",\n styleUrls: [\"./tz-dp-container.component.scss\"],\n})\nexport class TzDpContainerComponent implements OnInit {\n data: IDatePickerData;\n private parseZoneInstance = (...args) => {\n return parseZone(...args);\n };\n private rawWeekDays: string[] = [\"SUN\", \"MON\", \"TUE\", \"WED\", \"THU\", \"FRI\", \"SAT\"];\n weekDays: IWeekDay[] = [];\n currentMonthNumber: number;\n currentMonth: ICurrentMonth;\n currentYearNumber: number;\n currentMonthDates: ICurrentMonthDates[] = [];\n isPreviousMonthDisabled: boolean = false;\n isNextMonthDisabled: boolean = false;\n\n constructor(@Inject(CONTAINER_DATA) data: IDatePickerData, private toast: ToastService) {\n this.data = data;\n if (this.data?.dpConfig?.timezone) {\n this.parseZoneInstance = (...args) => {\n return parseZone(...args).tz(this.data.dpConfig.timezone);\n };\n }\n this.currentMonthNumber = this.parseZoneInstance().month();\n this.currentMonth = getMonth(this.currentMonthNumber);\n this.currentYearNumber = this.parseZoneInstance().year();\n this.weekDays = this.rawWeekDays.map((day, index) => ({\n label: `${day[0]}${day.slice(1).toLowerCase()}`,\n isCurrentDay: this.parseZoneInstance().day() === index,\n }));\n if (!this.data?.dpConfig?.format) {\n this.data.dpConfig = {\n ...this.data.dpConfig,\n format: DATE_FORMAT,\n };\n }\n }\n\n ngOnInit(): void {\n this.currentDateInstance();\n this.calculateMinMaxDays();\n }\n\n private currentDateInstance(): void {\n const selectedDate = parseZone(this.data.date, this.data.dpConfig.format);\n if (selectedDate.isValid()) {\n this.currentYearNumber = selectedDate.year();\n this.currentMonthNumber = selectedDate.month();\n this.currentMonth = getMonth(this.currentMonthNumber);\n }\n this.currentMonthDates = this.generateDates(this.currentMonthNumber, this.currentYearNumber);\n }\n\n private calculateMinMaxDays() {\n const currentInstance = this.parseZoneInstance().year(this.currentYearNumber).month(this.currentMonthNumber);\n const minDate = this.parseZoneInstance(this.data.dpConfig.minDate, this.data.dpConfig.format);\n if (minDate.isValid()) {\n this.isPreviousMonthDisabled = minDate.isSameOrAfter(currentInstance, \"month\");\n }\n const maxDate = this.parseZoneInstance(this.data.dpConfig.maxDate, this.data.dpConfig.format);\n if (maxDate.isValid()) {\n this.isNextMonthDisabled = maxDate.isBefore(currentInstance, \"month\");\n }\n }\n\n navigateMonth(direction: \"NEXT\" | \"PREVIOUS\"): void {\n let thisMonth: Moment = parseZone().year(this.currentYearNumber).month(this.currentMonthNumber);\n if (direction === \"NEXT\") {\n thisMonth = thisMonth.add(1, \"month\");\n } else if (direction === \"PREVIOUS\") {\n thisMonth = thisMonth.subtract(1, \"month\");\n }\n this.currentMonthNumber = thisMonth.month();\n this.currentMonth = getMonth(this.currentMonthNumber);\n this.currentYearNumber = thisMonth.year();\n this.currentMonthDates = this.generateDates(this.currentMonthNumber, this.currentYearNumber);\n this.calculateMinMaxDays();\n }\n\n private generateDates(month: number, currentYearNumber: number): ICurrentMonthDates[] {\n let dates: ICurrentMonthDates[] = [];\n const daysInMonth = parseZone().year(currentYearNumber).month(month).daysInMonth();\n for (let startDate = 1; startDate <= daysInMonth; startDate++) {\n const date = parseZone().year(currentYearNumber).month(month).date(startDate);\n const dateString = date.format(this.data.dpConfig.format);\n let isDisabledDay = this.data.datesDisabled.some((d) => d === dateString);\n const minDate = parseZone(this.data.dpConfig.minDate, this.data.dpConfig.format);\n if (!isDisabledDay && minDate.isValid()) {\n isDisabledDay = minDate.isAfter(date, \"day\");\n }\n const maxDate = parseZone(this.data.dpConfig.maxDate, this.data.dpConfig.format);\n if (!isDisabledDay && maxDate.isValid()) {\n isDisabledDay = maxDate.isBefore(date, \"day\");\n }\n dates.push({\n date: startDate,\n weekDay: date.day(),\n isCurrentDay:\n this.parseZoneInstance({ year: currentYearNumber, month, date: startDate }).format(this.data.dpConfig.format) ===\n parseZone().format(this.data.dpConfig.format),\n isSelectedDay: date.format(this.data.dpConfig.format) === this.data.date,\n toastMessage: this.data.messages.find((q) => date.format(this.data.dpConfig.format) === q.date)?.message || \"\",\n isDisabledDay,\n });\n }\n for (let i = dates[0].weekDay; i > 0; i--) {\n dates.unshift({ date: 0, weekDay: i - 1 });\n }\n return dates;\n }\n\n selectDay(day: ICurrentMonthDates) {\n if (day.date <= 0) return;\n if (!day.isDisabledDay) {\n this.data.dateChange(\n parseZone().year(this.currentYearNumber).month(this.currentMonthNumber).date(day.date).format(this.data.dpConfig.format)\n );\n }\n if (day.toastMessage) {\n this.toast.displayMsg(day.toastMessage, 4000);\n }\n }\n}\n","import { ConnectionPositionPair, Overlay, OverlayConfig, OverlayRef, PositionStrategy } from \"@angular/cdk/overlay\";\nimport { ComponentPortal } from \"@angular/cdk/portal\";\nimport { Directive, ElementRef, EventEmitter, HostListener, Injector, Input, Optional, Output, Self, ViewContainerRef } from \"@angular/core\";\nimport { NgControl } from \"@angular/forms\";\nimport { take } from \"rxjs/operators\";\nimport { CONTAINER_DATA, DATE_FORMAT } from \"./datepicker-constants\";\nimport { IDatePickerConfig, IDatePickerToastText } from \"./models/dp-config.model\";\nimport { TzDpContainerComponent } from './tz-dp-container/tz-dp-container.component';\n\n@Directive({\n selector: \"input[misTzDp]\",\n})\nexport class TzDatepickerDirective {\n @Input() dpConfig: Partial<IDatePickerConfig> = {\n format: DATE_FORMAT,\n minDate: \"\",\n maxDate: \"\"\n };\n // dd-mm-yyyy 01-12-2022\n @Input() set selectedDate(date: string) {\n this.date = date;\n }\n @Input() set datesDisabled(dates: string[]) {\n this.dpDisabledDates = dates;\n }\n @Input() dateMessages: IDatePickerToastText[] = [];\n @Input() positionX: \"start\" | \"center\" | \"end\" = \"center\";\n @Input() positionY: \"top\" | \"center\" | \"bottom\" = \"bottom\";\n @Input() offsetX:number = 0;\n @Input() offsetY:number = 0;\n private overlayRef: OverlayRef;\n @Output() dateChange = new EventEmitter<string>(true);\n private isOpen = false;\n date: string;\n\n private dpDisabledDates: string[] = [];\n\n constructor(@Self() @Optional() private control: NgControl, private element: ElementRef, private overlay: Overlay, private viewContainerRef: ViewContainerRef) { }\n\n @HostListener(\"click\")\n toggleDatePicker() {\n if (this.isOpen) {\n this.close();\n } else {\n this.open();\n }\n }\n\n private open() {\n this.isOpen = true;\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(this.element)\n .withPositions(this.genPositionPairs())\n .withPush(true);\n const config = new OverlayConfig({\n hasBackdrop: true,\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n backdropClass: \"cdk-overlay-transparent-backdrop\",\n });\n this.overlayRef = this.overlay.create(config);\n const tempRef = new ComponentPortal(TzDpContainerComponent, this.viewContainerRef, Injector.create({\n providers: [\n { provide: CONTAINER_DATA, useValue: { messages: this.dateMessages, date: this.control?.control.value || this.date, dpConfig: this.dpConfig, datesDisabled: this.dpDisabledDates, dateChange: this.applyDate.bind(this) } },\n ]\n }));\n this.overlayRef.attach(tempRef);\n this.overlayRef\n .backdropClick()\n .pipe(take(1))\n .subscribe(() => {\n this.close();\n });\n }\n\n applyDate(date: string) {\n this.dateChange.emit(date);\n this.control?.control.patchValue(date);\n this.date = date;\n this.close();\n }\n\n private close() {\n this.isOpen = false;\n this.overlayRef.detach();\n this.overlayRef.dispose();\n }\n\n private genPositionPairs():ConnectionPositionPair[] {\n return [\n new ConnectionPositionPair(\n { originX: this.positionX, originY: this.positionY },\n { overlayX: this.positionX, overlayY: this.positionY === \"bottom\" ? \"top\" : \"bottom\" },\n this.offsetX,\n this.offsetY\n ),\n new ConnectionPositionPair({ originX: \"center\", originY: \"bottom\" }, { overlayX: \"center\", overlayY: \"top\" }),\n new ConnectionPositionPair({ originX: \"center\", originY: \"top\" }, { overlayX: \"center\", overlayY: \"bottom\" }),\n new ConnectionPositionPair({ originX: \"start\", originY: \"bottom\" }, { overlayX: \"start\", overlayY: \"top\" }),\n new ConnectionPositionPair({ originX: \"start\", originY: \"top\" }, { overlayX: \"start\", overlayY: \"bottom\" }),\n new ConnectionPositionPair({ originX: \"end\", originY: \"bottom\" }, { overlayX: \"end\", overlayY: \"top\" }),\n new ConnectionPositionPair({ originX: \"end\", originY: \"top\" }, { overlayX: \"end\", overlayY: \"bottom\" }),\n ];\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { TzDpContainerComponent } from \"./tz-dp-container/tz-dp-container.component\";\nimport { TzDatepickerDirective } from \"./tz-datepicker.directive\";\nimport { ToastModule } from 'mis-crystal-design-system/toast';\n@NgModule({\n declarations: [TzDpContainerComponent, TzDatepickerDirective],\n imports: [CommonModule, ToastModule.forRoot()],\n exports: [TzDpContainerComponent, TzDatepickerDirective],\n entryComponents: [TzDpContainerComponent]\n})\nexport class DatepickerModuleV2 {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {CONTAINER_DATA as ɵc} from './datepicker-constants';\nexport {IDatePickerData as ɵa} from './models/dp-config.model';\nexport {TzDpContainerComponent as ɵb} from './tz-dp-container/tz-dp-container.component';"],"names":[],"mappings":"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"}
@@ -8,26 +8,31 @@ import { ButtonModule } from 'mis-crystal-design-system/button';
8
8
  class MultiSelectDropdownComponent {
9
9
  constructor(eRef) {
10
10
  this.eRef = eRef;
11
- this.searchInput = '';
11
+ this.searchInput = "";
12
12
  this.isOpen = false;
13
13
  this.localSelectedItems = [];
14
14
  this.localData = [];
15
15
  this.searchData = [];
16
- this.label = 'Select';
17
- this.height = '';
18
- this.width = '';
19
- this.dropdownListHeight = '';
20
- this.dropdownListWidth = '';
21
- this.dropdownListPosition = 'Left';
16
+ this.SELECT_ALL_ENUM = "SELECT_ALL_ENABLED";
17
+ this.label = "Select";
18
+ this.height = "";
19
+ this.width = "";
20
+ this.dropdownListHeight = "";
21
+ this.dropdownListWidth = "";
22
+ this.dropdownListPosition = "Left";
23
+ this.enableSelectAll = false;
22
24
  this.searchEnabled = true;
23
25
  this.showSelectedCount = false;
24
- this.noDataMessage = 'No Data';
26
+ this.noDataMessage = "No Data";
27
+ this.options = {
28
+ sortLabels: true,
29
+ };
25
30
  this.hideApplyButton = false;
26
31
  this.onChange = new EventEmitter();
27
32
  this.isSearchInputFocused = false;
28
33
  }
29
34
  set data(values) {
30
- this.localData = values.map(item => {
35
+ this.localData = values.map((item) => {
31
36
  return Object.assign(Object.assign({}, item), { checked: false });
32
37
  });
33
38
  }
@@ -43,8 +48,8 @@ class MultiSelectDropdownComponent {
43
48
  ngOnInit() { }
44
49
  handlerSetLocalSelectedItems(values) {
45
50
  this.localSelectedItems = values;
46
- this.localData = this.localData.map(item => {
47
- if (values.some(base => base.value === item.value)) {
51
+ this.localData = this.localData.map((item) => {
52
+ if (values.some((base) => base.value === item.value)) {
48
53
  return Object.assign(Object.assign({}, item), { checked: true });
49
54
  }
50
55
  else {
@@ -57,7 +62,7 @@ class MultiSelectDropdownComponent {
57
62
  }
58
63
  searchInputCanceled(event) {
59
64
  event.stopPropagation();
60
- this.searchInput = '';
65
+ this.searchInput = "";
61
66
  this.isSearchInputFocused = false;
62
67
  }
63
68
  toggleDropdown() {
@@ -68,7 +73,7 @@ class MultiSelectDropdownComponent {
68
73
  }
69
74
  }
70
75
  filterByValue(array, string) {
71
- return array.filter(o => o.label.toLowerCase().includes(string.toLowerCase()));
76
+ return array.filter((o) => o.label.toLowerCase().includes(string.toLowerCase()));
72
77
  }
73
78
  searchInputOnChange(newValue) {
74
79
  this.searchInput = newValue;
@@ -77,39 +82,69 @@ class MultiSelectDropdownComponent {
77
82
  }
78
83
  else {
79
84
  this.searchData = [];
80
- this.searchInput = '';
85
+ this.searchInput = "";
81
86
  }
82
87
  }
83
88
  formatValues(array) {
84
- const checkedValues = array
85
- .filter(a => a.checked)
86
- .sort((a, b) => a.label > b.label ? 1 : b.label > a.label ? -1 : 0);
87
- const unCheckedValues = array
88
- .filter(a => !a.checked)
89
- .sort((a, b) => a.label > b.label ? 1 : b.label > a.label ? -1 : 0);
90
- return [...checkedValues, ...unCheckedValues];
89
+ let sortedArray = array;
90
+ if (this.options.sortLabels) {
91
+ const checkedValues = array
92
+ .filter((a) => a.checked)
93
+ .sort((a, b) => a.label > b.label ? 1 : b.label > a.label ? -1 : 0);
94
+ const unCheckedValues = array
95
+ .filter((a) => !a.checked)
96
+ .sort((a, b) => a.label > b.label ? 1 : b.label > a.label ? -1 : 0);
97
+ sortedArray = [...checkedValues, ...unCheckedValues].filter((t) => t.value !== this.SELECT_ALL_ENUM);
98
+ }
99
+ if (!sortedArray.some((option) => option.value === this.SELECT_ALL_ENUM) &&
100
+ this.enableSelectAll &&
101
+ sortedArray.length > 0) {
102
+ sortedArray.unshift({
103
+ label: "Select all",
104
+ value: this.SELECT_ALL_ENUM,
105
+ checked: sortedArray.every((y) => y.checked),
106
+ });
107
+ }
108
+ return sortedArray;
91
109
  }
92
110
  toggleSelectedItems(event, item) {
93
111
  event.stopPropagation();
112
+ if (this.enableSelectAll && item.value === this.SELECT_ALL_ENUM) {
113
+ this.localData = this.localData.map((t) => (Object.assign(Object.assign({}, t), { checked: !item.checked })));
114
+ return;
115
+ }
94
116
  if (item.checked) {
95
117
  this.localData = [
96
- ...this.localData.map(a => {
97
- if (a.value === item.value) {
118
+ ...this.localData.map((a) => {
119
+ if (a.value === item.value || a.value === this.SELECT_ALL_ENUM) {
98
120
  return Object.assign(Object.assign({}, a), { checked: false });
99
121
  }
100
122
  return a;
101
- })
123
+ }),
102
124
  ];
103
125
  }
104
126
  else {
105
127
  this.localData = [
106
- ...this.localData.map(a => {
128
+ ...this.localData.map((a) => {
107
129
  if (a.value === item.value) {
108
130
  return Object.assign(Object.assign({}, a), { checked: true });
109
131
  }
110
132
  return a;
111
- })
133
+ }),
112
134
  ];
135
+ if (this.enableSelectAll &&
136
+ this.localData
137
+ .filter((r) => r.value !== this.SELECT_ALL_ENUM)
138
+ .every((t) => t.checked)) {
139
+ this.localData = [
140
+ ...this.localData.map((a) => {
141
+ if (a.value === this.SELECT_ALL_ENUM) {
142
+ return Object.assign(Object.assign({}, a), { checked: true });
143
+ }
144
+ return a;
145
+ }),
146
+ ];
147
+ }
113
148
  }
114
149
  if (this.searchEnabled) {
115
150
  this.searchInputOnChange(this.searchInput);
@@ -120,10 +155,10 @@ class MultiSelectDropdownComponent {
120
155
  }
121
156
  applyFilters() {
122
157
  this.onChange.emit(this.localData
123
- .filter(a => {
124
- return a.checked;
158
+ .filter((a) => {
159
+ return a.checked && a.value !== this.SELECT_ALL_ENUM;
125
160
  })
126
- .map(item => {
161
+ .map((item) => {
127
162
  const { checked } = item, data = __rest(item, ["checked"]);
128
163
  return data;
129
164
  }));
@@ -135,12 +170,12 @@ class MultiSelectDropdownComponent {
135
170
  this.isSearchInputFocused = false;
136
171
  this.onChange.emit([]);
137
172
  this.isOpen = false;
138
- this.searchInput = '';
173
+ this.searchInput = "";
139
174
  }
140
175
  onCancel() {
141
176
  this.isSearchInputFocused = false;
142
- this.localData = this.localData.map(a => {
143
- if (this.localSelectedItems.some(b => b.value === a.value && String(b.checked) !== String(a.checked))) {
177
+ this.localData = this.localData.map((a) => {
178
+ if (this.localSelectedItems.some((b) => b.value === a.value && String(b.checked) !== String(a.checked))) {
144
179
  return a;
145
180
  }
146
181
  else {
@@ -148,12 +183,12 @@ class MultiSelectDropdownComponent {
148
183
  }
149
184
  });
150
185
  this.isOpen = false;
151
- this.searchInput = '';
186
+ this.searchInput = "";
152
187
  }
153
188
  }
154
189
  MultiSelectDropdownComponent.decorators = [
155
190
  { type: Component, args: [{
156
- selector: 'mis-multi-select-dropdown',
191
+ selector: "mis-multi-select-dropdown",
157
192
  template: "<div class=\"container\" [ngStyle]=\"{\n 'height': height.length > 0? height: '',\n 'width': width.length > 0? width: ''\n }\"\n>\n <div class=\"dropdown\" (click)=\"toggleDropdown()\" [ngStyle]=\"{'background': isOpen ? '#E6EBF7': ''}\">\n <div class=\"label\">\n <p class=\"text\">{{ label }}</p>\n <p *ngIf=\"showSelectedCount && localSelectedItems?.length > 0\" class=\"count\">\n {{ localSelectedItems?.length }}\n </p>\n </div>\n <svg class=\"handle\" [ngStyle]=\"{ transform: isOpen ? 'rotate(180deg)': 'rotate(0deg)' }\" width=\"20\" height=\"20\"\n viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z\" fill=\"#181F33\" />\n </svg>\n </div>\n <div style=\"flex-basis: 0;\"></div>\n <div style=\"width: 100%; position: relative;\">\n <div *ngIf=\"isOpen\" class=\"popup-container\"\n [ngStyle]=\"{\n 'height': dropdownListHeight,\n 'width': dropdownListWidth\n }\"\n [ngClass]=\"{\n 'position-left': dropdownListPosition === 'Left',\n 'position-right': dropdownListPosition === 'Right'\n }\"\n >\n <div *ngIf=\"searchEnabled\" class=\"search-container\">\n <svg *ngIf=\"!isSearchInputFocused\" class=\"search-icon\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z\"\n fill=\"#6A737D\" />\n </svg>\n <input\n [ngModel]=\"searchInput\"\n [ngStyle]=\"{ paddingLeft: isSearchInputFocused ? '12px' : '45px', border:isSearchInputFocused? '1px solid #0937B2':'1px solid #e0e0e0', paddingRight: isSearchInputFocused ? '45px' : '10px' }\"\n (ngModelChange)=\"searchInputOnChange($event)\"\n [placeholder]=\"isSearchInputFocused ? '' : 'Search Keyword'\"\n (focus)=\"searchInputFocused(true)\"\n class=\"search-input\"\n />\n <svg *ngIf=\"isSearchInputFocused\" class=\"cancel-icon\" (click)=\"searchInputCanceled($event)\" width=\"24\" height=\"24\"\n viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z\"\n fill=\"#6A737D\" />\n </svg>\n </div>\n <div class=\"items\">\n <div class=\"item\" (click)=\"toggleSelectedItems($event, item)\" *ngFor=\"let item of searchInput ? searchData : localData\">\n <div class=\"checkbox-container-wrapper\">\n <div class=\"checkbox-container\">\n <mis-checkbox\n [checked]=\"item.checked\"\n ></mis-checkbox>\n </div>\n <p class=\"label\">\n {{ item.label }}\n </p>\n </div>\n <div class=\"icon-container\" *ngIf=\"item.icon\">\n <img class=\"icon\" [src]=\"item.icon\" alt=\"no img\">\n </div>\n </div>\n <div class=\"noData\" *ngIf=\"(searchInput ? searchData : localData).length === 0\">\n {{ searchInput === '' ? noDataMessage : 'No results' }}\n </div>\n </div>\n <div *ngIf=\"localData.length !== 0 && !hideApplyButton\" class=\"actions-container\">\n <div style=\"width: calc(50% - 4px)\">\n <mis-button\n [name]=\"'Reset'\"\n [type]=\"'Text'\"\n [width]=\"'100%'\"\n (click)=\"onReset()\"\n ></mis-button>\n </div>\n <div style=\"width: calc(50% - 4px)\">\n <mis-button\n [name]=\"'Apply'\"\n [type]=\"'Solid'\"\n [width]=\"'100%'\"\n (click)=\"applyFilters()\"\n ></mis-button>\n </div>\n </div>\n </div>\n </div>\n\n</div>\n",
158
193
  styles: [".container{position:relative;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;height:32px;width:256px;font-family:Lato,sans-serif!important}.container .dropdown{height:inherit;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 12px;overflow:hidden}.container .dropdown:hover{background-color:#f5f7fc}.container .dropdown .label{display:flex;justify-content:flex-start;align-items:center;width:calc(100% - 32px)}.container .dropdown .label,.container .dropdown .label .text{font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.container .dropdown .label .text{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.container .dropdown .label .count{background-color:#e0e0e0;border-radius:50%;padding:2px 7px;margin:0 0 0 8px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;text-align:center;letter-spacing:.2px;color:#181f33}.container .dropdown .handle{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.container .popup-container{position:absolute;top:4px;width:100%;max-height:340px;padding-bottom:0;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;box-shadow:0 12px 24px 0 rgba(0,0,0,.12);overflow:scroll;overflow-x:hidden;display:flex;flex-direction:column;justify-content:space-between;z-index:100}.container .popup-container::-webkit-scrollbar{width:0;height:0}.container .popup-container .search-container{position:relative;box-sizing:border-box;padding:8px}.container .popup-container .search-container .search-icon{position:absolute;width:24px;height:24px;top:50%;transform:translateY(-50%);left:18px;z-index:1}.container .popup-container .search-container .search-input{height:40px;width:100%;padding:12px;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:8px;outline:none;caret-color:#0937b2;font-style:normal;font-weight:400;font-size:12px;line-height:18px;display:flex;align-items:center;letter-spacing:.2px;color:#181f33}.container .popup-container .search-container .cancel-icon{position:absolute;cursor:pointer;width:24px;height:24px;top:50%;transform:translateY(-50%);right:18px;z-index:1}.container .popup-container .items{padding:8px 0 8px 8px;overflow-y:scroll;height:100%}.container .popup-container .items::-webkit-scrollbar{width:5px;height:0}.container .popup-container .items::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:10px}.container .popup-container .items .noData{display:flex;justify-content:center;align-items:center;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.container .popup-container .items .item{cursor:pointer;display:flex;justify-content:flex-start;align-items:center;padding:8px 12px;border-radius:6px;height:auto}.container .popup-container .items .item:hover{background-color:#f5f7fc}.container .popup-container .items .item .checkbox-container-wrapper{display:flex;justify-content:flex-start;align-items:center;width:90%}.container .popup-container .items .item .checkbox-container-wrapper .checkbox-container{display:block;position:relative;cursor:pointer;font-size:22px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.container .popup-container .items .item .checkbox-container-wrapper .checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.container .popup-container .items .item .checkbox-container-wrapper .checkbox-container input:checked~.checkmark:after{display:block}.container .popup-container .items .item .checkbox-container-wrapper .checkbox-container .checkmark{position:absolute;top:-8px;left:0;height:15px;width:15px;border-radius:4px;background-color:#0079f1;border:1px solid #6a737d}.container .popup-container .items .item .checkbox-container-wrapper .checkbox-container .checkmark:after{content:\"\";position:absolute;display:none;left:5px;top:2px;width:3px;height:6px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.container .popup-container .items .item .checkbox-container-wrapper .label{margin:0 0 0 8px;line-height:20px;font-size:14px;font-style:normal;font-weight:400;letter-spacing:.200000003px}.container .popup-container .items .item .icon-container{width:10%;display:flex;justify-content:flex-end}.container .popup-container .items .item .icon-container .icon{width:20px;height:20px}.container .popup-container .actions-container{display:flex;justify-content:space-between;bottom:0;align-items:center;position:-webkit-sticky;position:sticky;padding:16px;background-color:#fff;border-top:1px solid #e0e0e0}.container .popup-container .actions-container .cancel{cursor:pointer;padding:10px 32px;text-align:center;font-size:16px;line-height:24px;border-radius:8px}.container .popup-container .actions-container .cancel:hover{background:rgba(9,55,178,.04)}.container .popup-container .actions-container .apply{cursor:pointer;padding:10px 32px;text-align:center;color:#fff;font-size:16px;line-height:24px;background:#0937b2;border-radius:8px}.position-left{right:0}.position-right{left:0}"]
159
194
  },] }
@@ -169,13 +204,15 @@ MultiSelectDropdownComponent.propDecorators = {
169
204
  dropdownListHeight: [{ type: Input }],
170
205
  dropdownListWidth: [{ type: Input }],
171
206
  dropdownListPosition: [{ type: Input }],
207
+ enableSelectAll: [{ type: Input }],
172
208
  searchEnabled: [{ type: Input }],
173
209
  showSelectedCount: [{ type: Input }],
174
210
  noDataMessage: [{ type: Input }],
211
+ options: [{ type: Input }],
175
212
  selectedItems: [{ type: Input }],
176
213
  hideApplyButton: [{ type: Input }],
177
214
  onChange: [{ type: Output }],
178
- clickout: [{ type: HostListener, args: ['document:click', ['$event'],] }]
215
+ clickout: [{ type: HostListener, args: ["document:click", ["$event"],] }]
179
216
  };
180
217
 
181
218
  class MultiSelectDropdownModule {
@@ -1 +1 @@
1
- {"version":3,"file":"mis-crystal-design-system-multi-select-dropdown.js","sources":["../../../projects/mis-components/multi-select-dropdown/multi-select-dropdown.component.ts","../../../projects/mis-components/multi-select-dropdown/multi-select-dropdown.module.ts","../../../projects/mis-components/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnInit,\n Output\n} from '@angular/core';\n\n@Component({\n selector: 'mis-multi-select-dropdown',\n templateUrl: './multi-select-dropdown.component.html',\n styleUrls: ['./multi-select-dropdown.component.scss']\n})\nexport class MultiSelectDropdownComponent implements OnInit {\n\n searchInput: string = '';\n isOpen = false;\n localSelectedItems: MultiSelectDropdownItem[] = [];\n localData: MultiSelectDropdownItem[] = [];\n searchData: MultiSelectDropdownItem[] = [];\n\n @Input() set data(values: MultiSelectDropdownItem[]) {\n this.localData = values.map(item => {\n return {...item, checked: false};\n });\n }\n @Input() label: string = 'Select';\n @Input() height: string = ''\n @Input() width: string = ''\n\n @Input() dropdownListHeight: string = ''\n @Input() dropdownListWidth: string = ''\n @Input() dropdownListPosition: 'Left' | 'Right' = 'Left'\n\n @Input() searchEnabled: boolean = true;\n @Input() showSelectedCount: boolean = false;\n @Input() noDataMessage: string = 'No Data';\n @Input() set selectedItems(values: MultiSelectDropdownItem[]) {\n this.handlerSetLocalSelectedItems(values);\n }\n @Input() hideApplyButton: boolean = false;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @HostListener('document:click', ['$event'])\n clickout(event) {\n const isClickedOutside = !this.eRef.nativeElement.contains(event.target);\n if (isClickedOutside) {\n this.onCancel();\n }\n }\n constructor(private eRef: ElementRef) {}\n ngOnInit() {}\n\n handlerSetLocalSelectedItems(values) {\n this.localSelectedItems = values;\n this.localData = this.localData.map(item => {\n if (values.some(base => base.value === item.value)) {\n return { ...item, checked: true };\n } else {\n return { ...item, checked: false };\n }\n });\n }\n isSearchInputFocused: boolean = false;\n searchInputFocused(isFocused: boolean) {\n this.isSearchInputFocused = isFocused;\n }\n searchInputCanceled(event) {\n event.stopPropagation();\n this.searchInput = '';\n this.isSearchInputFocused = false;\n }\n toggleDropdown() {\n this.isOpen = !this.isOpen;\n if (this.isOpen) {\n this.handlerSetLocalSelectedItems(this.localSelectedItems);\n this.localData = this.formatValues(this.localData);\n }\n }\n filterByValue(array: MultiSelectDropdownItem[], string: string) {\n return array.filter(o =>\n o.label.toLowerCase().includes(string.toLowerCase())\n );\n }\n searchInputOnChange(newValue) {\n this.searchInput = newValue;\n if (newValue) {\n this.searchData = this.filterByValue(this.localData, newValue);\n } else {\n this.searchData = [];\n this.searchInput = '';\n }\n }\n formatValues(array: MultiSelectDropdownItem[]) {\n const checkedValues = array\n .filter(a => a.checked)\n .sort((a: MultiSelectDropdownItem, b: MultiSelectDropdownItem) =>\n a.label > b.label ? 1 : b.label > a.label ? -1 : 0\n );\n const unCheckedValues = array\n .filter(a => !a.checked)\n .sort((a: MultiSelectDropdownItem, b: MultiSelectDropdownItem) =>\n a.label > b.label ? 1 : b.label > a.label ? -1 : 0\n );\n return [...checkedValues, ...unCheckedValues];\n }\n toggleSelectedItems(event, item: MultiSelectDropdownItem) {\n event.stopPropagation();\n if (item.checked) {\n this.localData = [\n ...this.localData.map(a => {\n if (a.value === item.value) {\n return {\n ...a,\n checked: false\n };\n }\n return a;\n })\n ];\n } else {\n this.localData = [\n ...this.localData.map(a => {\n if (a.value === item.value) {\n return {\n ...a,\n checked: true\n };\n }\n return a;\n })\n ];\n }\n if (this.searchEnabled) {\n this.searchInputOnChange(this.searchInput);\n }\n if (this.hideApplyButton) {\n this.applyFilters();\n }\n }\n applyFilters() {\n this.onChange.emit(\n this.localData\n .filter(a => {\n return a.checked;\n })\n .map(item => {\n const { checked, ...data } = item;\n return data;\n })\n );\n \n if (!this.hideApplyButton) {\n this.onCancel();\n }\n }\n onReset(){\n this.isSearchInputFocused = false;\n this.onChange.emit([])\n this.isOpen = false;\n this.searchInput = '';\n }\n onCancel() {\n this.isSearchInputFocused = false;\n this.localData = this.localData.map(a => {\n if (\n this.localSelectedItems.some(\n b => b.value === a.value && String(b.checked) !== String(a.checked)\n )\n ) {\n return a;\n } else {\n return {\n ...a,\n checked: false\n };\n }\n });\n this.isOpen = false;\n this.searchInput = '';\n }\n}\nexport interface MultiSelectDropdownItem {\n label: string;\n value: string;\n checked?: boolean;\n icon?: string;\n}\n","import { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { MultiSelectDropdownComponent } from './multi-select-dropdown.component';\nimport { CheckboxModule } from 'mis-crystal-design-system/checkbox';\nimport { ButtonModule } from 'mis-crystal-design-system/button';\n\n@NgModule({\n declarations: [MultiSelectDropdownComponent],\n imports: [CommonModule, FormsModule, CheckboxModule, ButtonModule],\n exports: [MultiSelectDropdownComponent]\n})\nexport class MultiSelectDropdownModule {\n static forRoot(): ModuleWithProviders<MultiSelectDropdownModule> {\n return { ngModule: MultiSelectDropdownModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mis-crystal-design-system-multi-select-dropdown.js","sources":["../../../projects/mis-components/multi-select-dropdown/multi-select-dropdown.component.ts","../../../projects/mis-components/multi-select-dropdown/multi-select-dropdown.module.ts","../../../projects/mis-components/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnInit,\n Output,\n} from \"@angular/core\";\n\n@Component({\n selector: \"mis-multi-select-dropdown\",\n templateUrl: \"./multi-select-dropdown.component.html\",\n styleUrls: [\"./multi-select-dropdown.component.scss\"],\n})\nexport class MultiSelectDropdownComponent implements OnInit {\n searchInput: string = \"\";\n isOpen = false;\n localSelectedItems: MultiSelectDropdownItem[] = [];\n localData: MultiSelectDropdownItem[] = [];\n searchData: MultiSelectDropdownItem[] = [];\n SELECT_ALL_ENUM = \"SELECT_ALL_ENABLED\";\n @Input() set data(values: MultiSelectDropdownItem[]) {\n this.localData = values.map((item) => {\n return { ...item, checked: false };\n });\n }\n @Input() label: string = \"Select\";\n @Input() height: string = \"\";\n @Input() width: string = \"\";\n @Input() dropdownListHeight: string = \"\";\n @Input() dropdownListWidth: string = \"\";\n @Input() dropdownListPosition: \"Left\" | \"Right\" = \"Left\";\n @Input() enableSelectAll: boolean = false;\n @Input() searchEnabled: boolean = true;\n @Input() showSelectedCount: boolean = false;\n @Input() noDataMessage: string = \"No Data\";\n @Input() options: OPTIONS = {\n sortLabels: true,\n };\n @Input() set selectedItems(values: MultiSelectDropdownItem[]) {\n this.handlerSetLocalSelectedItems(values);\n }\n @Input() hideApplyButton: boolean = false;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @HostListener(\"document:click\", [\"$event\"])\n clickout(event) {\n const isClickedOutside = !this.eRef.nativeElement.contains(event.target);\n if (isClickedOutside) {\n this.onCancel();\n }\n }\n constructor(private eRef: ElementRef) {}\n ngOnInit() {}\n\n handlerSetLocalSelectedItems(values) {\n this.localSelectedItems = values;\n this.localData = this.localData.map((item) => {\n if (values.some((base) => base.value === item.value)) {\n return { ...item, checked: true };\n } else {\n return { ...item, checked: false };\n }\n });\n }\n isSearchInputFocused: boolean = false;\n searchInputFocused(isFocused: boolean) {\n this.isSearchInputFocused = isFocused;\n }\n searchInputCanceled(event) {\n event.stopPropagation();\n this.searchInput = \"\";\n this.isSearchInputFocused = false;\n }\n toggleDropdown() {\n this.isOpen = !this.isOpen;\n if (this.isOpen) {\n this.handlerSetLocalSelectedItems(this.localSelectedItems);\n this.localData = this.formatValues(this.localData);\n }\n }\n filterByValue(array: MultiSelectDropdownItem[], string: string) {\n return array.filter((o) =>\n o.label.toLowerCase().includes(string.toLowerCase())\n );\n }\n searchInputOnChange(newValue) {\n this.searchInput = newValue;\n if (newValue) {\n this.searchData = this.filterByValue(this.localData, newValue);\n } else {\n this.searchData = [];\n this.searchInput = \"\";\n }\n }\n formatValues(array: MultiSelectDropdownItem[]) {\n let sortedArray = array;\n if (this.options.sortLabels) {\n const checkedValues = array\n .filter((a) => a.checked)\n .sort((a: MultiSelectDropdownItem, b: MultiSelectDropdownItem) =>\n a.label > b.label ? 1 : b.label > a.label ? -1 : 0\n );\n const unCheckedValues = array\n .filter((a) => !a.checked)\n .sort((a: MultiSelectDropdownItem, b: MultiSelectDropdownItem) =>\n a.label > b.label ? 1 : b.label > a.label ? -1 : 0\n );\n sortedArray = [...checkedValues, ...unCheckedValues].filter(\n (t) => t.value !== this.SELECT_ALL_ENUM\n );\n }\n if (\n !sortedArray.some((option) => option.value === this.SELECT_ALL_ENUM) &&\n this.enableSelectAll &&\n sortedArray.length > 0\n ) {\n sortedArray.unshift({\n label: \"Select all\",\n value: this.SELECT_ALL_ENUM,\n checked: sortedArray.every((y) => y.checked),\n });\n }\n return sortedArray;\n }\n toggleSelectedItems(event, item: MultiSelectDropdownItem) {\n event.stopPropagation();\n if (this.enableSelectAll && item.value === this.SELECT_ALL_ENUM) {\n this.localData = this.localData.map((t) => ({\n ...t,\n checked: !item.checked,\n }));\n return;\n }\n if (item.checked) {\n this.localData = [\n ...this.localData.map((a) => {\n if (a.value === item.value || a.value === this.SELECT_ALL_ENUM) {\n return {\n ...a,\n checked: false,\n };\n }\n return a;\n }),\n ];\n } else {\n this.localData = [\n ...this.localData.map((a) => {\n if (a.value === item.value) {\n return {\n ...a,\n checked: true,\n };\n }\n return a;\n }),\n ];\n if (\n this.enableSelectAll &&\n this.localData\n .filter((r) => r.value !== this.SELECT_ALL_ENUM)\n .every((t) => t.checked)\n ) {\n this.localData = [\n ...this.localData.map((a) => {\n if (a.value === this.SELECT_ALL_ENUM) {\n return {\n ...a,\n checked: true,\n };\n }\n return a;\n }),\n ];\n }\n }\n if (this.searchEnabled) {\n this.searchInputOnChange(this.searchInput);\n }\n if (this.hideApplyButton) {\n this.applyFilters();\n }\n }\n applyFilters() {\n this.onChange.emit(\n this.localData\n .filter((a) => {\n return a.checked && a.value !== this.SELECT_ALL_ENUM;\n })\n .map((item) => {\n const { checked, ...data } = item;\n return data;\n })\n );\n\n if (!this.hideApplyButton) {\n this.onCancel();\n }\n }\n onReset() {\n this.isSearchInputFocused = false;\n this.onChange.emit([]);\n this.isOpen = false;\n this.searchInput = \"\";\n }\n onCancel() {\n this.isSearchInputFocused = false;\n this.localData = this.localData.map((a) => {\n if (\n this.localSelectedItems.some(\n (b) => b.value === a.value && String(b.checked) !== String(a.checked)\n )\n ) {\n return a;\n } else {\n return {\n ...a,\n checked: false,\n };\n }\n });\n this.isOpen = false;\n this.searchInput = \"\";\n }\n}\nexport interface MultiSelectDropdownItem {\n label: string;\n value: string;\n checked?: boolean;\n icon?: string;\n}\n\nexport interface OPTIONS {\n sortLabels: boolean;\n}\n","import { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { MultiSelectDropdownComponent } from './multi-select-dropdown.component';\nimport { CheckboxModule } from 'mis-crystal-design-system/checkbox';\nimport { ButtonModule } from 'mis-crystal-design-system/button';\n\n@NgModule({\n declarations: [MultiSelectDropdownComponent],\n imports: [CommonModule, FormsModule, CheckboxModule, ButtonModule],\n exports: [MultiSelectDropdownComponent]\n})\nexport class MultiSelectDropdownModule {\n static forRoot(): ModuleWithProviders<MultiSelectDropdownModule> {\n return { ngModule: MultiSelectDropdownModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"MultiSelectDropdownComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"mis-multi-select-dropdown","template":"<div class=\"container\" [ngStyle]=\"{\n 'height': height.length > 0? height: '',\n 'width': width.length > 0? width: ''\n }\"\n>\n <div class=\"dropdown\" (click)=\"toggleDropdown()\" [ngStyle]=\"{'background': isOpen ? '#E6EBF7': ''}\">\n <div class=\"label\">\n <p class=\"text\">{{ label }}</p>\n <p *ngIf=\"showSelectedCount && localSelectedItems?.length > 0\" class=\"count\">\n {{ localSelectedItems?.length }}\n </p>\n </div>\n <svg class=\"handle\" [ngStyle]=\"{ transform: isOpen ? 'rotate(180deg)': 'rotate(0deg)' }\" width=\"20\" height=\"20\"\n viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z\" fill=\"#181F33\" />\n </svg>\n </div>\n <div style=\"flex-basis: 0;\"></div>\n <div style=\"width: 100%; position: relative;\">\n <div *ngIf=\"isOpen\" class=\"popup-container\"\n [ngStyle]=\"{\n 'height': dropdownListHeight,\n 'width': dropdownListWidth\n }\"\n [ngClass]=\"{\n 'position-left': dropdownListPosition === 'Left',\n 'position-right': dropdownListPosition === 'Right'\n }\"\n >\n <div *ngIf=\"searchEnabled\" class=\"search-container\">\n <svg *ngIf=\"!isSearchInputFocused\" class=\"search-icon\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z\"\n fill=\"#6A737D\" />\n </svg>\n <input\n [ngModel]=\"searchInput\"\n [ngStyle]=\"{ paddingLeft: isSearchInputFocused ? '12px' : '45px', border:isSearchInputFocused? '1px solid #0937B2':'1px solid #e0e0e0', paddingRight: isSearchInputFocused ? '45px' : '10px' }\"\n (ngModelChange)=\"searchInputOnChange($event)\"\n [placeholder]=\"isSearchInputFocused ? '' : 'Search Keyword'\"\n (focus)=\"searchInputFocused(true)\"\n class=\"search-input\"\n />\n <svg *ngIf=\"isSearchInputFocused\" class=\"cancel-icon\" (click)=\"searchInputCanceled($event)\" width=\"24\" height=\"24\"\n viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z\"\n fill=\"#6A737D\" />\n </svg>\n </div>\n <div class=\"items\">\n <div class=\"item\" (click)=\"toggleSelectedItems($event, item)\" *ngFor=\"let item of searchInput ? searchData : localData\">\n <div class=\"checkbox-container-wrapper\">\n <div class=\"checkbox-container\">\n <mis-checkbox\n [checked]=\"item.checked\"\n ></mis-checkbox>\n </div>\n <p class=\"label\">\n {{ item.label }}\n </p>\n </div>\n <div class=\"icon-container\" *ngIf=\"item.icon\">\n <img class=\"icon\" [src]=\"item.icon\" alt=\"no img\">\n </div>\n </div>\n <div class=\"noData\" *ngIf=\"(searchInput ? searchData : localData).length === 0\">\n {{ searchInput === '' ? noDataMessage : 'No results' }}\n </div>\n </div>\n <div *ngIf=\"localData.length !== 0 && !hideApplyButton\" class=\"actions-container\">\n <div style=\"width: calc(50% - 4px)\">\n <mis-button\n [name]=\"'Reset'\"\n [type]=\"'Text'\"\n [width]=\"'100%'\"\n (click)=\"onReset()\"\n ></mis-button>\n </div>\n <div style=\"width: calc(50% - 4px)\">\n <mis-button\n [name]=\"'Apply'\"\n [type]=\"'Solid'\"\n [width]=\"'100%'\"\n (click)=\"applyFilters()\"\n ></mis-button>\n </div>\n </div>\n </div>\n </div>\n\n</div>\n","styles":[".container{position:relative;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;height:32px;width:256px;font-family:Lato,sans-serif!important}.container .dropdown{height:inherit;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 12px;overflow:hidden}.container .dropdown:hover{background-color:#f5f7fc}.container .dropdown .label{display:flex;justify-content:flex-start;align-items:center;width:calc(100% - 32px)}.container .dropdown .label,.container .dropdown .label .text{font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.container .dropdown .label .text{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.container .dropdown .label .count{background-color:#e0e0e0;border-radius:50%;padding:2px 7px;margin:0 0 0 8px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;text-align:center;letter-spacing:.2px;color:#181f33}.container .dropdown .handle{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.container .popup-container{position:absolute;top:4px;width:100%;max-height:340px;padding-bottom:0;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;box-shadow:0 12px 24px 0 rgba(0,0,0,.12);overflow:scroll;overflow-x:hidden;display:flex;flex-direction:column;justify-content:space-between;z-index:100}.container .popup-container::-webkit-scrollbar{width:0;height:0}.container .popup-container .search-container{position:relative;box-sizing:border-box;padding:8px}.container .popup-container .search-container .search-icon{position:absolute;width:24px;height:24px;top:50%;transform:translateY(-50%);left:18px;z-index:1}.container .popup-container .search-container .search-input{height:40px;width:100%;padding:12px;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:8px;outline:none;caret-color:#0937b2;font-style:normal;font-weight:400;font-size:12px;line-height:18px;display:flex;align-items:center;letter-spacing:.2px;color:#181f33}.container .popup-container .search-container .cancel-icon{position:absolute;cursor:pointer;width:24px;height:24px;top:50%;transform:translateY(-50%);right:18px;z-index:1}.container .popup-container .items{padding:8px 0 8px 8px;overflow-y:scroll;height:100%}.container .popup-container .items::-webkit-scrollbar{width:5px;height:0}.container .popup-container .items::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:10px}.container .popup-container .items .noData{display:flex;justify-content:center;align-items:center;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.container .popup-container .items .item{cursor:pointer;display:flex;justify-content:flex-start;align-items:center;padding:8px 12px;border-radius:6px;height:auto}.container .popup-container .items .item:hover{background-color:#f5f7fc}.container .popup-container .items .item .checkbox-container-wrapper{display:flex;justify-content:flex-start;align-items:center;width:90%}.container .popup-container .items .item .checkbox-container-wrapper .checkbox-container{display:block;position:relative;cursor:pointer;font-size:22px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.container .popup-container .items .item .checkbox-container-wrapper .checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.container .popup-container .items .item .checkbox-container-wrapper .checkbox-container input:checked~.checkmark:after{display:block}.container .popup-container .items .item .checkbox-container-wrapper .checkbox-container .checkmark{position:absolute;top:-8px;left:0;height:15px;width:15px;border-radius:4px;background-color:#0079f1;border:1px solid #6a737d}.container .popup-container .items .item .checkbox-container-wrapper .checkbox-container .checkmark:after{content:\"\";position:absolute;display:none;left:5px;top:2px;width:3px;height:6px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.container .popup-container .items .item .checkbox-container-wrapper .label{margin:0 0 0 8px;line-height:20px;font-size:14px;font-style:normal;font-weight:400;letter-spacing:.200000003px}.container .popup-container .items .item .icon-container{width:10%;display:flex;justify-content:flex-end}.container .popup-container .items .item .icon-container .icon{width:20px;height:20px}.container .popup-container .actions-container{display:flex;justify-content:space-between;bottom:0;align-items:center;position:-webkit-sticky;position:sticky;padding:16px;background-color:#fff;border-top:1px solid #e0e0e0}.container .popup-container .actions-container .cancel{cursor:pointer;padding:10px 32px;text-align:center;font-size:16px;line-height:24px;border-radius:8px}.container .popup-container .actions-container .cancel:hover{background:rgba(9,55,178,.04)}.container .popup-container .actions-container .apply{cursor:pointer;padding:10px 32px;text-align:center;color:#fff;font-size:16px;line-height:24px;background:#0937b2;border-radius:8px}.position-left{right:0}.position-right{left:0}"]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":5}}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":5}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":5}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5}}]}],"dropdownListHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":5}}]}],"dropdownListWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}}]}],"dropdownListPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":5}}]}],"searchEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5}}]}],"showSelectedCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":5}}]}],"noDataMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":5}}]}],"selectedItems":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5}}]}],"hideApplyButton":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5}}]}],"onChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":44,"character":5}}]}],"clickout":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":46,"character":5},"arguments":["document:click",["$event"]]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":53,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}],"handlerSetLocalSelectedItems":[{"__symbolic":"method"}],"searchInputFocused":[{"__symbolic":"method"}],"searchInputCanceled":[{"__symbolic":"method"}],"toggleDropdown":[{"__symbolic":"method"}],"filterByValue":[{"__symbolic":"method"}],"searchInputOnChange":[{"__symbolic":"method"}],"formatValues":[{"__symbolic":"method"}],"toggleSelectedItems":[{"__symbolic":"method"}],"applyFilters":[{"__symbolic":"method"}],"onReset":[{"__symbolic":"method"}],"onCancel":[{"__symbolic":"method"}]}},"MultiSelectDropdownItem":{"__symbolic":"interface"},"MultiSelectDropdownModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"MultiSelectDropdownComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":9,"character":14},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":9,"character":28},{"__symbolic":"reference","module":"mis-crystal-design-system/checkbox","name":"CheckboxModule","line":9,"character":41},{"__symbolic":"reference","module":"mis-crystal-design-system/button","name":"ButtonModule","line":9,"character":57}],"exports":[{"__symbolic":"reference","name":"MultiSelectDropdownComponent"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"MultiSelectDropdownModule"},"providers":[]}}}}},"origins":{"MultiSelectDropdownComponent":"./multi-select-dropdown.component","MultiSelectDropdownItem":"./multi-select-dropdown.component","MultiSelectDropdownModule":"./multi-select-dropdown.module"},"importAs":"mis-crystal-design-system/multi-select-dropdown"}
1
+ {"__symbolic":"module","version":4,"metadata":{"MultiSelectDropdownComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"mis-multi-select-dropdown","template":"<div class=\"container\" [ngStyle]=\"{\n 'height': height.length > 0? height: '',\n 'width': width.length > 0? width: ''\n }\"\n>\n <div class=\"dropdown\" (click)=\"toggleDropdown()\" [ngStyle]=\"{'background': isOpen ? '#E6EBF7': ''}\">\n <div class=\"label\">\n <p class=\"text\">{{ label }}</p>\n <p *ngIf=\"showSelectedCount && localSelectedItems?.length > 0\" class=\"count\">\n {{ localSelectedItems?.length }}\n </p>\n </div>\n <svg class=\"handle\" [ngStyle]=\"{ transform: isOpen ? 'rotate(180deg)': 'rotate(0deg)' }\" width=\"20\" height=\"20\"\n viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z\" fill=\"#181F33\" />\n </svg>\n </div>\n <div style=\"flex-basis: 0;\"></div>\n <div style=\"width: 100%; position: relative;\">\n <div *ngIf=\"isOpen\" class=\"popup-container\"\n [ngStyle]=\"{\n 'height': dropdownListHeight,\n 'width': dropdownListWidth\n }\"\n [ngClass]=\"{\n 'position-left': dropdownListPosition === 'Left',\n 'position-right': dropdownListPosition === 'Right'\n }\"\n >\n <div *ngIf=\"searchEnabled\" class=\"search-container\">\n <svg *ngIf=\"!isSearchInputFocused\" class=\"search-icon\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z\"\n fill=\"#6A737D\" />\n </svg>\n <input\n [ngModel]=\"searchInput\"\n [ngStyle]=\"{ paddingLeft: isSearchInputFocused ? '12px' : '45px', border:isSearchInputFocused? '1px solid #0937B2':'1px solid #e0e0e0', paddingRight: isSearchInputFocused ? '45px' : '10px' }\"\n (ngModelChange)=\"searchInputOnChange($event)\"\n [placeholder]=\"isSearchInputFocused ? '' : 'Search Keyword'\"\n (focus)=\"searchInputFocused(true)\"\n class=\"search-input\"\n />\n <svg *ngIf=\"isSearchInputFocused\" class=\"cancel-icon\" (click)=\"searchInputCanceled($event)\" width=\"24\" height=\"24\"\n viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z\"\n fill=\"#6A737D\" />\n </svg>\n </div>\n <div class=\"items\">\n <div class=\"item\" (click)=\"toggleSelectedItems($event, item)\" *ngFor=\"let item of searchInput ? searchData : localData\">\n <div class=\"checkbox-container-wrapper\">\n <div class=\"checkbox-container\">\n <mis-checkbox\n [checked]=\"item.checked\"\n ></mis-checkbox>\n </div>\n <p class=\"label\">\n {{ item.label }}\n </p>\n </div>\n <div class=\"icon-container\" *ngIf=\"item.icon\">\n <img class=\"icon\" [src]=\"item.icon\" alt=\"no img\">\n </div>\n </div>\n <div class=\"noData\" *ngIf=\"(searchInput ? searchData : localData).length === 0\">\n {{ searchInput === '' ? noDataMessage : 'No results' }}\n </div>\n </div>\n <div *ngIf=\"localData.length !== 0 && !hideApplyButton\" class=\"actions-container\">\n <div style=\"width: calc(50% - 4px)\">\n <mis-button\n [name]=\"'Reset'\"\n [type]=\"'Text'\"\n [width]=\"'100%'\"\n (click)=\"onReset()\"\n ></mis-button>\n </div>\n <div style=\"width: calc(50% - 4px)\">\n <mis-button\n [name]=\"'Apply'\"\n [type]=\"'Solid'\"\n [width]=\"'100%'\"\n (click)=\"applyFilters()\"\n ></mis-button>\n </div>\n </div>\n </div>\n </div>\n\n</div>\n","styles":[".container{position:relative;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;height:32px;width:256px;font-family:Lato,sans-serif!important}.container .dropdown{height:inherit;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 12px;overflow:hidden}.container .dropdown:hover{background-color:#f5f7fc}.container .dropdown .label{display:flex;justify-content:flex-start;align-items:center;width:calc(100% - 32px)}.container .dropdown .label,.container .dropdown .label .text{font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.container .dropdown .label .text{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.container .dropdown .label .count{background-color:#e0e0e0;border-radius:50%;padding:2px 7px;margin:0 0 0 8px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;text-align:center;letter-spacing:.2px;color:#181f33}.container .dropdown .handle{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.container .popup-container{position:absolute;top:4px;width:100%;max-height:340px;padding-bottom:0;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;box-shadow:0 12px 24px 0 rgba(0,0,0,.12);overflow:scroll;overflow-x:hidden;display:flex;flex-direction:column;justify-content:space-between;z-index:100}.container .popup-container::-webkit-scrollbar{width:0;height:0}.container .popup-container .search-container{position:relative;box-sizing:border-box;padding:8px}.container .popup-container .search-container .search-icon{position:absolute;width:24px;height:24px;top:50%;transform:translateY(-50%);left:18px;z-index:1}.container .popup-container .search-container .search-input{height:40px;width:100%;padding:12px;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:8px;outline:none;caret-color:#0937b2;font-style:normal;font-weight:400;font-size:12px;line-height:18px;display:flex;align-items:center;letter-spacing:.2px;color:#181f33}.container .popup-container .search-container .cancel-icon{position:absolute;cursor:pointer;width:24px;height:24px;top:50%;transform:translateY(-50%);right:18px;z-index:1}.container .popup-container .items{padding:8px 0 8px 8px;overflow-y:scroll;height:100%}.container .popup-container .items::-webkit-scrollbar{width:5px;height:0}.container .popup-container .items::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:10px}.container .popup-container .items .noData{display:flex;justify-content:center;align-items:center;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.container .popup-container .items .item{cursor:pointer;display:flex;justify-content:flex-start;align-items:center;padding:8px 12px;border-radius:6px;height:auto}.container .popup-container .items .item:hover{background-color:#f5f7fc}.container .popup-container .items .item .checkbox-container-wrapper{display:flex;justify-content:flex-start;align-items:center;width:90%}.container .popup-container .items .item .checkbox-container-wrapper .checkbox-container{display:block;position:relative;cursor:pointer;font-size:22px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.container .popup-container .items .item .checkbox-container-wrapper .checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.container .popup-container .items .item .checkbox-container-wrapper .checkbox-container input:checked~.checkmark:after{display:block}.container .popup-container .items .item .checkbox-container-wrapper .checkbox-container .checkmark{position:absolute;top:-8px;left:0;height:15px;width:15px;border-radius:4px;background-color:#0079f1;border:1px solid #6a737d}.container .popup-container .items .item .checkbox-container-wrapper .checkbox-container .checkmark:after{content:\"\";position:absolute;display:none;left:5px;top:2px;width:3px;height:6px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.container .popup-container .items .item .checkbox-container-wrapper .label{margin:0 0 0 8px;line-height:20px;font-size:14px;font-style:normal;font-weight:400;letter-spacing:.200000003px}.container .popup-container .items .item .icon-container{width:10%;display:flex;justify-content:flex-end}.container .popup-container .items .item .icon-container .icon{width:20px;height:20px}.container .popup-container .actions-container{display:flex;justify-content:space-between;bottom:0;align-items:center;position:-webkit-sticky;position:sticky;padding:16px;background-color:#fff;border-top:1px solid #e0e0e0}.container .popup-container .actions-container .cancel{cursor:pointer;padding:10px 32px;text-align:center;font-size:16px;line-height:24px;border-radius:8px}.container .popup-container .actions-container .cancel:hover{background:rgba(9,55,178,.04)}.container .popup-container .actions-container .apply{cursor:pointer;padding:10px 32px;text-align:center;color:#fff;font-size:16px;line-height:24px;background:#0937b2;border-radius:8px}.position-left{right:0}.position-right{left:0}"]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"dropdownListHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"dropdownListWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"dropdownListPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"enableSelectAll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"searchEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"showSelectedCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"noDataMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"selectedItems":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":3}}]}],"hideApplyButton":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3}}]}],"onChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":45,"character":3}}]}],"clickout":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":47,"character":3},"arguments":["document:click",["$event"]]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":54,"character":28}]}],"ngOnInit":[{"__symbolic":"method"}],"handlerSetLocalSelectedItems":[{"__symbolic":"method"}],"searchInputFocused":[{"__symbolic":"method"}],"searchInputCanceled":[{"__symbolic":"method"}],"toggleDropdown":[{"__symbolic":"method"}],"filterByValue":[{"__symbolic":"method"}],"searchInputOnChange":[{"__symbolic":"method"}],"formatValues":[{"__symbolic":"method"}],"toggleSelectedItems":[{"__symbolic":"method"}],"applyFilters":[{"__symbolic":"method"}],"onReset":[{"__symbolic":"method"}],"onCancel":[{"__symbolic":"method"}]}},"MultiSelectDropdownItem":{"__symbolic":"interface"},"MultiSelectDropdownModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"MultiSelectDropdownComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":9,"character":14},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":9,"character":28},{"__symbolic":"reference","module":"mis-crystal-design-system/checkbox","name":"CheckboxModule","line":9,"character":41},{"__symbolic":"reference","module":"mis-crystal-design-system/button","name":"ButtonModule","line":9,"character":57}],"exports":[{"__symbolic":"reference","name":"MultiSelectDropdownComponent"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"MultiSelectDropdownModule"},"providers":[]}}}}},"origins":{"MultiSelectDropdownComponent":"./multi-select-dropdown.component","MultiSelectDropdownItem":"./multi-select-dropdown.component","MultiSelectDropdownModule":"./multi-select-dropdown.module"},"importAs":"mis-crystal-design-system/multi-select-dropdown"}
@@ -1,4 +1,4 @@
1
- import { ElementRef, EventEmitter, OnInit } from '@angular/core';
1
+ import { ElementRef, EventEmitter, OnInit } from "@angular/core";
2
2
  export declare class MultiSelectDropdownComponent implements OnInit {
3
3
  private eRef;
4
4
  searchInput: string;
@@ -6,16 +6,19 @@ export declare class MultiSelectDropdownComponent implements OnInit {
6
6
  localSelectedItems: MultiSelectDropdownItem[];
7
7
  localData: MultiSelectDropdownItem[];
8
8
  searchData: MultiSelectDropdownItem[];
9
+ SELECT_ALL_ENUM: string;
9
10
  set data(values: MultiSelectDropdownItem[]);
10
11
  label: string;
11
12
  height: string;
12
13
  width: string;
13
14
  dropdownListHeight: string;
14
15
  dropdownListWidth: string;
15
- dropdownListPosition: 'Left' | 'Right';
16
+ dropdownListPosition: "Left" | "Right";
17
+ enableSelectAll: boolean;
16
18
  searchEnabled: boolean;
17
19
  showSelectedCount: boolean;
18
20
  noDataMessage: string;
21
+ options: OPTIONS;
19
22
  set selectedItems(values: MultiSelectDropdownItem[]);
20
23
  hideApplyButton: boolean;
21
24
  onChange: EventEmitter<any>;
@@ -41,3 +44,6 @@ export interface MultiSelectDropdownItem {
41
44
  checked?: boolean;
42
45
  icon?: string;
43
46
  }
47
+ export interface OPTIONS {
48
+ sortLabels: boolean;
49
+ }