@sebgroup/green-angular 3.8.0 → 4.1.0

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 (247) hide show
  1. package/{esm2020 → esm2022}/lib/accordion/accordion-list-item.component.mjs +4 -4
  2. package/{esm2020 → esm2022}/lib/accordion/accordion.component.mjs +4 -4
  3. package/{esm2020 → esm2022}/lib/accordion/accordion.module.mjs +5 -5
  4. package/esm2022/lib/badge/badge.component.mjs +80 -0
  5. package/{esm2020 → esm2022}/lib/badge/badge.module.mjs +5 -5
  6. package/{esm2020 → esm2022}/lib/button/button.component.mjs +4 -4
  7. package/{esm2020 → esm2022}/lib/button/button.module.mjs +5 -5
  8. package/{esm2020 → esm2022}/lib/cell-table/cell-table-item.component.mjs +6 -6
  9. package/{esm2020 → esm2022}/lib/cell-table/cell-table.component.mjs +4 -4
  10. package/{esm2020 → esm2022}/lib/cell-table/cell-table.module.mjs +7 -7
  11. package/{esm2020 → esm2022}/lib/cell-table/cell-underline.directive.mjs +4 -4
  12. package/{esm2020 → esm2022}/lib/context-menu/context-menu.component.mjs +4 -4
  13. package/{esm2020 → esm2022}/lib/context-menu/context-menu.module.mjs +5 -5
  14. package/esm2022/lib/datepicker/datepicker.component.mjs +138 -0
  15. package/{esm2020 → esm2022}/lib/datepicker/datepicker.module.mjs +5 -5
  16. package/{esm2020 → esm2022}/lib/dropdown/dropdown-button.directive.mjs +4 -4
  17. package/{esm2020 → esm2022}/lib/dropdown/dropdown-option.directive.mjs +4 -4
  18. package/esm2022/lib/dropdown/dropdown.component.mjs +212 -0
  19. package/{esm2020 → esm2022}/lib/dropdown/dropdown.module.mjs +9 -9
  20. package/{esm2020 → esm2022}/lib/green-angular.module.mjs +31 -31
  21. package/{esm2020 → esm2022}/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +4 -4
  22. package/{esm2020 → esm2022}/lib/in-page-wizard/in-page-wizard.module.mjs +5 -5
  23. package/{esm2020 → esm2022}/lib/modal/modal-footer.directive.mjs +4 -4
  24. package/{esm2020 → esm2022}/lib/modal/modal-header.directive.mjs +4 -4
  25. package/esm2022/lib/modal/modal.component.mjs +307 -0
  26. package/{esm2020 → esm2022}/lib/modal/modal.module.mjs +12 -12
  27. package/{esm2020 → esm2022}/lib/pagination/pagination.component.mjs +4 -4
  28. package/{esm2020 → esm2022}/lib/pagination/pagination.module.mjs +5 -5
  29. package/{esm2020 → esm2022}/lib/progress-circle/progress-circle.component.mjs +4 -4
  30. package/{esm2020 → esm2022}/lib/progress-circle/progress-circle.module.mjs +5 -5
  31. package/{esm2020 → esm2022}/lib/segmented-control/segmented-control.component.mjs +6 -6
  32. package/{esm2020 → esm2022}/lib/segmented-control/segmented-control.module.mjs +5 -5
  33. package/{esm2020 → esm2022}/lib/shared/core-element/core-element.directive.mjs +4 -4
  34. package/{esm2020 → esm2022}/lib/shared/core-element/core-element.module.mjs +5 -5
  35. package/{esm2020/src → esm2022}/lib/shared/on-scroll.directive.mjs +10 -10
  36. package/{esm2020 → esm2022}/lib/shared/shared.module.mjs +5 -5
  37. package/esm2022/lib/slider/slider.component.mjs +113 -0
  38. package/{esm2020 → esm2022}/lib/slider/slider.module.mjs +5 -5
  39. package/{esm2020 → esm2022}/lib/sortable-list/sortable-list.component.mjs +4 -4
  40. package/{esm2020 → esm2022}/lib/sortable-list/sortable-list.module.mjs +5 -5
  41. package/{esm2020 → esm2022}/src/lib/accordion/accordion-list-item.component.mjs +4 -4
  42. package/{esm2020 → esm2022}/src/lib/accordion/accordion.component.mjs +4 -4
  43. package/{esm2020 → esm2022}/src/lib/accordion/accordion.module.mjs +5 -5
  44. package/esm2022/src/lib/badge/badge.component.mjs +80 -0
  45. package/{esm2020 → esm2022}/src/lib/badge/badge.module.mjs +5 -5
  46. package/{esm2020 → esm2022}/src/lib/button/button.component.mjs +4 -4
  47. package/{esm2020 → esm2022}/src/lib/button/button.module.mjs +5 -5
  48. package/{esm2020 → esm2022}/src/lib/cell-table/cell-table-item.component.mjs +6 -6
  49. package/{esm2020 → esm2022}/src/lib/cell-table/cell-table.component.mjs +4 -4
  50. package/{esm2020 → esm2022}/src/lib/cell-table/cell-table.module.mjs +7 -7
  51. package/{esm2020 → esm2022}/src/lib/cell-table/cell-underline.directive.mjs +4 -4
  52. package/{esm2020 → esm2022}/src/lib/context-menu/context-menu.component.mjs +4 -4
  53. package/{esm2020 → esm2022}/src/lib/context-menu/context-menu.module.mjs +5 -5
  54. package/esm2022/src/lib/datepicker/datepicker.component.mjs +138 -0
  55. package/{esm2020 → esm2022}/src/lib/datepicker/datepicker.module.mjs +5 -5
  56. package/{esm2020 → esm2022}/src/lib/dropdown/dropdown-button.directive.mjs +4 -4
  57. package/{esm2020 → esm2022}/src/lib/dropdown/dropdown-option.directive.mjs +4 -4
  58. package/esm2022/src/lib/dropdown/dropdown.component.mjs +212 -0
  59. package/{esm2020 → esm2022}/src/lib/dropdown/dropdown.module.mjs +9 -9
  60. package/{esm2020 → esm2022}/src/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +4 -4
  61. package/{esm2020 → esm2022}/src/lib/in-page-wizard/in-page-wizard.module.mjs +5 -5
  62. package/{esm2020 → esm2022}/src/lib/modal/modal-footer.directive.mjs +4 -4
  63. package/{esm2020 → esm2022}/src/lib/modal/modal-header.directive.mjs +4 -4
  64. package/esm2022/src/lib/modal/modal.component.mjs +307 -0
  65. package/{esm2020 → esm2022}/src/lib/modal/modal.module.mjs +12 -12
  66. package/{esm2020 → esm2022}/src/lib/pagination/pagination.component.mjs +4 -4
  67. package/{esm2020 → esm2022}/src/lib/pagination/pagination.module.mjs +5 -5
  68. package/{esm2020 → esm2022}/src/lib/progress-circle/progress-circle.component.mjs +4 -4
  69. package/{esm2020 → esm2022}/src/lib/progress-circle/progress-circle.module.mjs +5 -5
  70. package/{esm2020 → esm2022}/src/lib/segmented-control/segmented-control.component.mjs +6 -6
  71. package/{esm2020 → esm2022}/src/lib/segmented-control/segmented-control.module.mjs +5 -5
  72. package/{esm2020 → esm2022}/src/lib/shared/core-element/core-element.directive.mjs +4 -4
  73. package/{esm2020 → esm2022}/src/lib/shared/core-element/core-element.module.mjs +5 -5
  74. package/esm2022/src/lib/shared/on-scroll.directive.mjs +47 -0
  75. package/{esm2020 → esm2022}/src/lib/shared/shared.module.mjs +5 -5
  76. package/esm2022/src/lib/slider/slider.component.mjs +113 -0
  77. package/{esm2020 → esm2022}/src/lib/slider/slider.module.mjs +5 -5
  78. package/{esm2020 → esm2022}/src/lib/sortable-list/sortable-list.component.mjs +4 -4
  79. package/{esm2020 → esm2022}/src/lib/sortable-list/sortable-list.module.mjs +5 -5
  80. package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-accordion.mjs +10 -10
  81. package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-accordion.mjs.map +1 -1
  82. package/{fesm2015 → fesm2022}/sebgroup-green-angular-src-lib-badge.mjs +16 -16
  83. package/fesm2022/sebgroup-green-angular-src-lib-badge.mjs.map +1 -0
  84. package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-button.mjs +7 -7
  85. package/{fesm2015 → fesm2022}/sebgroup-green-angular-src-lib-button.mjs.map +1 -1
  86. package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-cell-table.mjs +17 -17
  87. package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-cell-table.mjs.map +1 -1
  88. package/{fesm2015 → fesm2022}/sebgroup-green-angular-src-lib-context-menu.mjs +7 -7
  89. package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-context-menu.mjs.map +1 -1
  90. package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-datepicker.mjs +20 -20
  91. package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-datepicker.mjs.map +1 -1
  92. package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-dropdown.mjs +69 -69
  93. package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-dropdown.mjs.map +1 -1
  94. package/{fesm2015 → fesm2022}/sebgroup-green-angular-src-lib-in-page-wizard.mjs +7 -7
  95. package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-in-page-wizard.mjs.map +1 -1
  96. package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs +375 -0
  97. package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs.map +1 -0
  98. package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-pagination.mjs +7 -7
  99. package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-pagination.mjs.map +1 -1
  100. package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-progress-circle.mjs +7 -7
  101. package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-progress-circle.mjs.map +1 -1
  102. package/{fesm2015 → fesm2022}/sebgroup-green-angular-src-lib-segmented-control.mjs +9 -9
  103. package/fesm2022/sebgroup-green-angular-src-lib-segmented-control.mjs.map +1 -0
  104. package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-shared.mjs +20 -20
  105. package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-shared.mjs.map +1 -1
  106. package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-slider.mjs +13 -13
  107. package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-slider.mjs.map +1 -1
  108. package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-sortable-list.mjs +7 -7
  109. package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-sortable-list.mjs.map +1 -1
  110. package/{fesm2020 → fesm2022}/sebgroup-green-angular.mjs +339 -290
  111. package/fesm2022/sebgroup-green-angular.mjs.map +1 -0
  112. package/lib/accordion/accordion-list-item.component.d.ts +1 -1
  113. package/lib/accordion/accordion.component.d.ts +1 -1
  114. package/lib/badge/badge.component.d.ts +1 -1
  115. package/lib/button/button.component.d.ts +1 -1
  116. package/lib/cell-table/cell-table-item.component.d.ts +1 -1
  117. package/lib/cell-table/cell-table.component.d.ts +1 -1
  118. package/lib/cell-table/cell-table.types.d.ts +1 -1
  119. package/lib/cell-table/cell-underline.directive.d.ts +1 -1
  120. package/lib/context-menu/context-menu.component.d.ts +1 -1
  121. package/lib/datepicker/datepicker.component.d.ts +1 -1
  122. package/lib/dropdown/dropdown.component.d.ts +4 -4
  123. package/lib/in-page-wizard/in-page-wizard-step-card.component.d.ts +1 -1
  124. package/lib/modal/modal.component.d.ts +3 -3
  125. package/lib/pagination/pagination.component.d.ts +1 -1
  126. package/lib/progress-circle/progress-circle.component.d.ts +1 -1
  127. package/lib/segmented-control/segmented-control.component.d.ts +1 -1
  128. package/lib/slider/slider.component.d.ts +1 -1
  129. package/lib/sortable-list/sortable-list.component.d.ts +1 -1
  130. package/package.json +58 -94
  131. package/src/lib/accordion/accordion-list-item.component.d.ts +1 -1
  132. package/src/lib/accordion/accordion.component.d.ts +1 -1
  133. package/src/lib/badge/badge.component.d.ts +1 -1
  134. package/src/lib/button/button.component.d.ts +1 -1
  135. package/src/lib/cell-table/cell-table-item.component.d.ts +1 -1
  136. package/src/lib/cell-table/cell-table.component.d.ts +1 -1
  137. package/src/lib/cell-table/cell-table.types.d.ts +1 -1
  138. package/src/lib/cell-table/cell-underline.directive.d.ts +1 -1
  139. package/src/lib/context-menu/context-menu.component.d.ts +1 -1
  140. package/src/lib/datepicker/datepicker.component.d.ts +1 -1
  141. package/src/lib/dropdown/dropdown.component.d.ts +4 -4
  142. package/src/lib/in-page-wizard/in-page-wizard-step-card.component.d.ts +1 -1
  143. package/src/lib/modal/modal.component.d.ts +3 -3
  144. package/src/lib/pagination/pagination.component.d.ts +1 -1
  145. package/src/lib/progress-circle/progress-circle.component.d.ts +1 -1
  146. package/src/lib/segmented-control/segmented-control.component.d.ts +1 -1
  147. package/src/lib/slider/slider.component.d.ts +1 -1
  148. package/src/lib/sortable-list/sortable-list.component.d.ts +1 -1
  149. package/esm2020/lib/badge/badge.component.mjs +0 -80
  150. package/esm2020/lib/datepicker/datepicker.component.mjs +0 -138
  151. package/esm2020/lib/dropdown/dropdown.component.mjs +0 -212
  152. package/esm2020/lib/modal/modal.component.mjs +0 -258
  153. package/esm2020/lib/shared/on-scroll.directive.mjs +0 -47
  154. package/esm2020/lib/slider/slider.component.mjs +0 -113
  155. package/esm2020/src/lib/badge/badge.component.mjs +0 -80
  156. package/esm2020/src/lib/datepicker/datepicker.component.mjs +0 -138
  157. package/esm2020/src/lib/dropdown/dropdown.component.mjs +0 -212
  158. package/esm2020/src/lib/modal/modal.component.mjs +0 -258
  159. package/esm2020/src/lib/slider/slider.component.mjs +0 -113
  160. package/fesm2015/sebgroup-green-angular-src-lib-accordion.mjs +0 -140
  161. package/fesm2015/sebgroup-green-angular-src-lib-accordion.mjs.map +0 -1
  162. package/fesm2015/sebgroup-green-angular-src-lib-badge.mjs.map +0 -1
  163. package/fesm2015/sebgroup-green-angular-src-lib-button.mjs +0 -50
  164. package/fesm2015/sebgroup-green-angular-src-lib-cell-table.mjs +0 -272
  165. package/fesm2015/sebgroup-green-angular-src-lib-cell-table.mjs.map +0 -1
  166. package/fesm2015/sebgroup-green-angular-src-lib-context-menu.mjs.map +0 -1
  167. package/fesm2015/sebgroup-green-angular-src-lib-datepicker.mjs +0 -166
  168. package/fesm2015/sebgroup-green-angular-src-lib-datepicker.mjs.map +0 -1
  169. package/fesm2015/sebgroup-green-angular-src-lib-dropdown.mjs +0 -266
  170. package/fesm2015/sebgroup-green-angular-src-lib-dropdown.mjs.map +0 -1
  171. package/fesm2015/sebgroup-green-angular-src-lib-in-page-wizard.mjs.map +0 -1
  172. package/fesm2015/sebgroup-green-angular-src-lib-modal.mjs +0 -328
  173. package/fesm2015/sebgroup-green-angular-src-lib-modal.mjs.map +0 -1
  174. package/fesm2015/sebgroup-green-angular-src-lib-pagination.mjs +0 -197
  175. package/fesm2015/sebgroup-green-angular-src-lib-pagination.mjs.map +0 -1
  176. package/fesm2015/sebgroup-green-angular-src-lib-progress-circle.mjs +0 -63
  177. package/fesm2015/sebgroup-green-angular-src-lib-progress-circle.mjs.map +0 -1
  178. package/fesm2015/sebgroup-green-angular-src-lib-segmented-control.mjs.map +0 -1
  179. package/fesm2015/sebgroup-green-angular-src-lib-shared.mjs +0 -114
  180. package/fesm2015/sebgroup-green-angular-src-lib-shared.mjs.map +0 -1
  181. package/fesm2015/sebgroup-green-angular-src-lib-slider.mjs +0 -136
  182. package/fesm2015/sebgroup-green-angular-src-lib-slider.mjs.map +0 -1
  183. package/fesm2015/sebgroup-green-angular-src-lib-sortable-list.mjs +0 -204
  184. package/fesm2015/sebgroup-green-angular-src-lib-sortable-list.mjs.map +0 -1
  185. package/fesm2015/sebgroup-green-angular.mjs +0 -2165
  186. package/fesm2015/sebgroup-green-angular.mjs.map +0 -1
  187. package/fesm2020/sebgroup-green-angular-src-lib-badge.mjs +0 -102
  188. package/fesm2020/sebgroup-green-angular-src-lib-badge.mjs.map +0 -1
  189. package/fesm2020/sebgroup-green-angular-src-lib-button.mjs.map +0 -1
  190. package/fesm2020/sebgroup-green-angular-src-lib-context-menu.mjs +0 -104
  191. package/fesm2020/sebgroup-green-angular-src-lib-in-page-wizard.mjs +0 -72
  192. package/fesm2020/sebgroup-green-angular-src-lib-modal.mjs +0 -326
  193. package/fesm2020/sebgroup-green-angular-src-lib-modal.mjs.map +0 -1
  194. package/fesm2020/sebgroup-green-angular-src-lib-segmented-control.mjs +0 -58
  195. package/fesm2020/sebgroup-green-angular-src-lib-segmented-control.mjs.map +0 -1
  196. package/fesm2020/sebgroup-green-angular.mjs.map +0 -1
  197. /package/{esm2020 → esm2022}/index.mjs +0 -0
  198. /package/{esm2020 → esm2022}/lib/accordion/index.mjs +0 -0
  199. /package/{esm2020 → esm2022}/lib/badge/index.mjs +0 -0
  200. /package/{esm2020 → esm2022}/lib/button/index.mjs +0 -0
  201. /package/{esm2020 → esm2022}/lib/cell-table/cell-table.types.mjs +0 -0
  202. /package/{esm2020 → esm2022}/lib/cell-table/index.mjs +0 -0
  203. /package/{esm2020 → esm2022}/lib/context-menu/index.mjs +0 -0
  204. /package/{esm2020 → esm2022}/lib/datepicker/index.mjs +0 -0
  205. /package/{esm2020 → esm2022}/lib/dropdown/index.mjs +0 -0
  206. /package/{esm2020 → esm2022}/lib/in-page-wizard/index.mjs +0 -0
  207. /package/{esm2020 → esm2022}/lib/modal/index.mjs +0 -0
  208. /package/{esm2020 → esm2022}/lib/pagination/index.mjs +0 -0
  209. /package/{esm2020 → esm2022}/lib/progress-circle/index.mjs +0 -0
  210. /package/{esm2020 → esm2022}/lib/segmented-control/index.mjs +0 -0
  211. /package/{esm2020 → esm2022}/lib/shared/core-element/index.mjs +0 -0
  212. /package/{esm2020 → esm2022}/lib/shared/index.mjs +0 -0
  213. /package/{esm2020 → esm2022}/lib/slider/index.mjs +0 -0
  214. /package/{esm2020 → esm2022}/lib/sortable-list/index.mjs +0 -0
  215. /package/{esm2020 → esm2022}/sebgroup-green-angular.mjs +0 -0
  216. /package/{esm2020 → esm2022}/src/lib/accordion/index.mjs +0 -0
  217. /package/{esm2020 → esm2022}/src/lib/accordion/sebgroup-green-angular-src-lib-accordion.mjs +0 -0
  218. /package/{esm2020 → esm2022}/src/lib/badge/index.mjs +0 -0
  219. /package/{esm2020 → esm2022}/src/lib/badge/sebgroup-green-angular-src-lib-badge.mjs +0 -0
  220. /package/{esm2020 → esm2022}/src/lib/button/index.mjs +0 -0
  221. /package/{esm2020 → esm2022}/src/lib/button/sebgroup-green-angular-src-lib-button.mjs +0 -0
  222. /package/{esm2020 → esm2022}/src/lib/cell-table/cell-table.types.mjs +0 -0
  223. /package/{esm2020 → esm2022}/src/lib/cell-table/index.mjs +0 -0
  224. /package/{esm2020 → esm2022}/src/lib/cell-table/sebgroup-green-angular-src-lib-cell-table.mjs +0 -0
  225. /package/{esm2020 → esm2022}/src/lib/context-menu/index.mjs +0 -0
  226. /package/{esm2020 → esm2022}/src/lib/context-menu/sebgroup-green-angular-src-lib-context-menu.mjs +0 -0
  227. /package/{esm2020 → esm2022}/src/lib/datepicker/index.mjs +0 -0
  228. /package/{esm2020 → esm2022}/src/lib/datepicker/sebgroup-green-angular-src-lib-datepicker.mjs +0 -0
  229. /package/{esm2020 → esm2022}/src/lib/dropdown/index.mjs +0 -0
  230. /package/{esm2020 → esm2022}/src/lib/dropdown/sebgroup-green-angular-src-lib-dropdown.mjs +0 -0
  231. /package/{esm2020 → esm2022}/src/lib/in-page-wizard/index.mjs +0 -0
  232. /package/{esm2020 → esm2022}/src/lib/in-page-wizard/sebgroup-green-angular-src-lib-in-page-wizard.mjs +0 -0
  233. /package/{esm2020 → esm2022}/src/lib/modal/index.mjs +0 -0
  234. /package/{esm2020 → esm2022}/src/lib/modal/sebgroup-green-angular-src-lib-modal.mjs +0 -0
  235. /package/{esm2020 → esm2022}/src/lib/pagination/index.mjs +0 -0
  236. /package/{esm2020 → esm2022}/src/lib/pagination/sebgroup-green-angular-src-lib-pagination.mjs +0 -0
  237. /package/{esm2020 → esm2022}/src/lib/progress-circle/index.mjs +0 -0
  238. /package/{esm2020 → esm2022}/src/lib/progress-circle/sebgroup-green-angular-src-lib-progress-circle.mjs +0 -0
  239. /package/{esm2020 → esm2022}/src/lib/segmented-control/index.mjs +0 -0
  240. /package/{esm2020 → esm2022}/src/lib/segmented-control/sebgroup-green-angular-src-lib-segmented-control.mjs +0 -0
  241. /package/{esm2020 → esm2022}/src/lib/shared/core-element/index.mjs +0 -0
  242. /package/{esm2020 → esm2022}/src/lib/shared/index.mjs +0 -0
  243. /package/{esm2020 → esm2022}/src/lib/shared/sebgroup-green-angular-src-lib-shared.mjs +0 -0
  244. /package/{esm2020 → esm2022}/src/lib/slider/index.mjs +0 -0
  245. /package/{esm2020 → esm2022}/src/lib/slider/sebgroup-green-angular-src-lib-slider.mjs +0 -0
  246. /package/{esm2020 → esm2022}/src/lib/sortable-list/index.mjs +0 -0
  247. /package/{esm2020 → esm2022}/src/lib/sortable-list/sebgroup-green-angular-src-lib-sortable-list.mjs +0 -0
@@ -52,10 +52,10 @@ export class NggContextMenuComponent {
52
52
  this.contextMenuItemClicked.emit(item);
53
53
  this.close();
54
54
  }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggContextMenuComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NggContextMenuComponent, selector: "ngg-context-menu", inputs: { direction: "direction", menuItems: "menuItems", menuItemTemplate: "menuItemTemplate", menuAnchorTemplate: "menuAnchorTemplate", closeOnScroll: "closeOnScroll" }, outputs: { contextMenuItemClicked: "contextMenuItemClicked" }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["contextMenuPopover"], descendants: true }, { propertyName: "anchor", first: true, predicate: ["contextMenuAnchor"], descendants: true }], ngImport: i0, template: "<gds-context-menu\n *nggCoreElement\n data-testid=\"context-menu\"\n [placement]=\"placement\"\n [open]=\"isActive\"\n>\n <div style=\"display: contents\" slot=\"trigger\">\n <ng-container\n [ngTemplateOutlet]=\"menuAnchorTemplate ?? defaultButtonTemplate\"\n >\n </ng-container>\n </div>\n <ng-container *ngFor=\"let menuItem of menuItems\">\n <gds-menu-item *nggCoreElement (click)=\"onItemClick(menuItem)\">\n <ng-container\n [ngTemplateOutlet]=\"menuItemTemplate ?? defaultMenuItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"\n >\n </ng-container>\n </gds-menu-item>\n </ng-container>\n</gds-context-menu>\n\n<ng-template #defaultMenuItemTemplate let-menuItem>\n <span>{{ menuItem.label }}</span>\n</ng-template>\n\n<ng-template #defaultButtonTemplate>\n <i class=\"sg-icon sg-icon-ellipsis\">Open context menu</i>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NggCoreElementDirective, selector: "[nggCoreElement]" }] }); }
55
57
  }
56
- NggContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggContextMenuComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
57
- NggContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NggContextMenuComponent, selector: "ngg-context-menu", inputs: { direction: "direction", menuItems: "menuItems", menuItemTemplate: "menuItemTemplate", menuAnchorTemplate: "menuAnchorTemplate", closeOnScroll: "closeOnScroll" }, outputs: { contextMenuItemClicked: "contextMenuItemClicked" }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["contextMenuPopover"], descendants: true }, { propertyName: "anchor", first: true, predicate: ["contextMenuAnchor"], descendants: true }], ngImport: i0, template: "<gds-context-menu\n *nggCoreElement\n data-testid=\"context-menu\"\n [placement]=\"placement\"\n [open]=\"isActive\"\n>\n <div style=\"display: contents\" slot=\"trigger\">\n <ng-container\n [ngTemplateOutlet]=\"menuAnchorTemplate ?? defaultButtonTemplate\"\n >\n </ng-container>\n </div>\n <ng-container *ngFor=\"let menuItem of menuItems\">\n <gds-menu-item *nggCoreElement (click)=\"onItemClick(menuItem)\">\n <ng-container\n [ngTemplateOutlet]=\"menuItemTemplate ?? defaultMenuItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"\n >\n </ng-container>\n </gds-menu-item>\n </ng-container>\n</gds-context-menu>\n\n<ng-template #defaultMenuItemTemplate let-menuItem>\n <span>{{ menuItem.label }}</span>\n</ng-template>\n\n<ng-template #defaultButtonTemplate>\n <i class=\"sg-icon sg-icon-ellipsis\">Open context menu</i>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NggCoreElementDirective, selector: "[nggCoreElement]" }] });
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggContextMenuComponent, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggContextMenuComponent, decorators: [{
59
59
  type: Component,
60
60
  args: [{ selector: 'ngg-context-menu', template: "<gds-context-menu\n *nggCoreElement\n data-testid=\"context-menu\"\n [placement]=\"placement\"\n [open]=\"isActive\"\n>\n <div style=\"display: contents\" slot=\"trigger\">\n <ng-container\n [ngTemplateOutlet]=\"menuAnchorTemplate ?? defaultButtonTemplate\"\n >\n </ng-container>\n </div>\n <ng-container *ngFor=\"let menuItem of menuItems\">\n <gds-menu-item *nggCoreElement (click)=\"onItemClick(menuItem)\">\n <ng-container\n [ngTemplateOutlet]=\"menuItemTemplate ?? defaultMenuItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"\n >\n </ng-container>\n </gds-menu-item>\n </ng-container>\n</gds-context-menu>\n\n<ng-template #defaultMenuItemTemplate let-menuItem>\n <span>{{ menuItem.label }}</span>\n</ng-template>\n\n<ng-template #defaultButtonTemplate>\n <i class=\"sg-icon sg-icon-ellipsis\">Open context menu</i>\n</ng-template>\n" }]
61
61
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { direction: [{
@@ -77,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
77
77
  type: ViewChild,
78
78
  args: ['contextMenuAnchor']
79
79
  }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEdBRWIsTUFBTSxlQUFlLENBQUE7QUFVdEIsT0FBTyx1REFBdUQsQ0FBQTtBQUM5RCxPQUFPLEtBQUssc0JBQXNCLE1BQU0sMkVBQTJFLENBQUE7Ozs7QUFNbkgsTUFBTSxPQUFPLHVCQUF1QjtJQXNDbEMsWUFBb0IsVUFBbUM7UUFBbkMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFyQ3ZEOztXQUVHO1FBQ00sY0FBUyxHQUFrQixLQUFLLENBQUE7UUFFekM7O1dBRUc7UUFDTSxjQUFTLEdBQWdCLEVBQUUsQ0FBQTtRQUVwQzs7V0FFRztRQUNNLHFCQUFnQixHQUFnQyxJQUFJLENBQUE7UUFFN0Q7O1dBRUc7UUFDTSx1QkFBa0IsR0FBZ0MsSUFBSSxDQUFBO1FBRS9EOzs7V0FHRztRQUNNLGtCQUFhLEdBQUcsS0FBSyxDQUFBO1FBRTlCOztXQUVHO1FBQ08sMkJBQXNCLEdBQzlCLElBQUksWUFBWSxFQUFrQixDQUFBO1FBS3BDLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFHZCxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNuQyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUE7SUFDakUsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO1lBQ1osT0FBTTtTQUNQO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7SUFDdEIsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQTtJQUN2QixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQW9CO1FBQzlCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDdEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ2QsQ0FBQzs7b0hBOURVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLGdmQ3pCcEMsdTVCQThCQTsyRkRMYSx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0Usa0JBQWtCO2lHQU9uQixTQUFTO3NCQUFqQixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUtHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFNRyxhQUFhO3NCQUFyQixLQUFLO2dCQUtJLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFHMEIsT0FBTztzQkFBdkMsU0FBUzt1QkFBQyxvQkFBb0I7Z0JBQ0MsTUFBTTtzQkFBckMsU0FBUzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBDb21wb25lbnQsXG4gIFZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IERyb3Bkb3duT3B0aW9uIH0gZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWFuZ3VsYXIvc3JjL2xpYi9kcm9wZG93bidcblxuLyoqXG4gKiBNZW51SXRlbXMgZXh0ZW5kcyBEcm9wRG93biBvcHRpb24gYW5kIGFkZHMgdGhlIHBvc2liaWxpdHkgdG8gcGFzcyBhIGN1c3RvbSB0ZW1wbGF0ZSBmb3IganVzdCBvbmUgaXRlbS5cbiAqL1xuaW50ZXJmYWNlIE1lbnVJdGVtcyBleHRlbmRzIERyb3Bkb3duT3B0aW9uIHtcbiAgdGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx1bmtub3duPlxufVxuXG5pbXBvcnQgJ0BzZWJncm91cC9ncmVlbi1jb3JlL2NvbXBvbmVudHMvY29udGV4dC1tZW51L2luZGV4LmpzJ1xuaW1wb3J0ICogYXMgQ29udGV4dE1lbnVUcmFuc1N0eWxlcyBmcm9tICdAc2ViZ3JvdXAvZ3JlZW4tY29yZS9jb21wb25lbnRzL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUudHJhbnMuc3R5bGVzLmpzJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ2ctY29udGV4dC1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ0NvbnRleHRNZW51Q29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFBsYWNlbWVudCBvZiB0aGUgcG9wb3ZlciByZWxhdGl2ZSB0byB0aGUgYW5jaG9yIGVsZW1lbnQuXG4gICAqL1xuICBASW5wdXQoKSBkaXJlY3Rpb246ICdsdHInIHwgJ3J0bCcgPSAnbHRyJ1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGl0ZW1zIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgY29udGV4dCBtZW51LlxuICAgKi9cbiAgQElucHV0KCkgbWVudUl0ZW1zOiBNZW51SXRlbXNbXSA9IFtdXG5cbiAgLyoqXG4gICAqIEN1c3RvbSBtZW51IGl0ZW0gdGVtcGxhdGUuXG4gICAqL1xuICBASW5wdXQoKSBtZW51SXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwgPSBudWxsXG5cbiAgLyoqXG4gICAqIEN1c3RvbSBtZW51IHRyaWdnZXIgdGVtcGxhdGUuXG4gICAqL1xuICBASW5wdXQoKSBtZW51QW5jaG9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCA9IG51bGxcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICogVGhpcyBwcm9wZXJ0eSBubyBsb25nZXIgaGFzIGFueSBlZmZlY3QgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLlxuICAgKi9cbiAgQElucHV0KCkgY2xvc2VPblNjcm9sbCA9IGZhbHNlXG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gYSBtZW51IGl0ZW0gaXMgY2xpY2tlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBjb250ZXh0TWVudUl0ZW1DbGlja2VkOiBFdmVudEVtaXR0ZXI8RHJvcGRvd25PcHRpb24+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPERyb3Bkb3duT3B0aW9uPigpXG5cbiAgQFZpZXdDaGlsZCgnY29udGV4dE1lbnVQb3BvdmVyJykgcG9wb3ZlciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gIEBWaWV3Q2hpbGQoJ2NvbnRleHRNZW51QW5jaG9yJykgYW5jaG9yITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cblxuICBpc0FjdGl2ZSA9IGZhbHNlXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgIENvbnRleHRNZW51VHJhbnNTdHlsZXMucmVnaXN0ZXIoKVxuICB9XG5cbiAgZ2V0IHBsYWNlbWVudCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvbiA9PT0gJ2x0cicgPyAnYm90dG9tLXN0YXJ0JyA6ICdib3R0b20tZW5kJ1xuICB9XG5cbiAgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2ZSkge1xuICAgICAgdGhpcy5jbG9zZSgpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLmlzQWN0aXZlID0gdHJ1ZVxuICB9XG5cbiAgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlXG4gIH1cblxuICBvbkl0ZW1DbGljayhpdGVtOiBEcm9wZG93bk9wdGlvbik6IHZvaWQge1xuICAgIHRoaXMuY29udGV4dE1lbnVJdGVtQ2xpY2tlZC5lbWl0KGl0ZW0pXG4gICAgdGhpcy5jbG9zZSgpXG4gIH1cbn1cbiIsIjxnZHMtY29udGV4dC1tZW51XG4gICpuZ2dDb3JlRWxlbWVudFxuICBkYXRhLXRlc3RpZD1cImNvbnRleHQtbWVudVwiXG4gIFtwbGFjZW1lbnRdPVwicGxhY2VtZW50XCJcbiAgW29wZW5dPVwiaXNBY3RpdmVcIlxuPlxuICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogY29udGVudHNcIiBzbG90PVwidHJpZ2dlclwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1lbnVBbmNob3JUZW1wbGF0ZSA/PyBkZWZhdWx0QnV0dG9uVGVtcGxhdGVcIlxuICAgID5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1lbnVJdGVtIG9mIG1lbnVJdGVtc1wiPlxuICAgIDxnZHMtbWVudS1pdGVtICpuZ2dDb3JlRWxlbWVudCAoY2xpY2spPVwib25JdGVtQ2xpY2sobWVudUl0ZW0pXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1lbnVJdGVtVGVtcGxhdGUgPz8gZGVmYXVsdE1lbnVJdGVtVGVtcGxhdGVcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IG1lbnVJdGVtIH1cIlxuICAgICAgPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9nZHMtbWVudS1pdGVtPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZ2RzLWNvbnRleHQtbWVudT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0TWVudUl0ZW1UZW1wbGF0ZSBsZXQtbWVudUl0ZW0+XG4gIDxzcGFuPnt7IG1lbnVJdGVtLmxhYmVsIH19PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0QnV0dG9uVGVtcGxhdGU+XG4gIDxpIGNsYXNzPVwic2ctaWNvbiBzZy1pY29uLWVsbGlwc2lzXCI+T3BlbiBjb250ZXh0IG1lbnU8L2k+XG48L25nLXRlbXBsYXRlPlxuIl19
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEdBRWIsTUFBTSxlQUFlLENBQUE7QUFVdEIsT0FBTyx1REFBdUQsQ0FBQTtBQUM5RCxPQUFPLEtBQUssc0JBQXNCLE1BQU0sMkVBQTJFLENBQUE7Ozs7QUFNbkgsTUFBTSxPQUFPLHVCQUF1QjtJQXNDbEMsWUFBb0IsVUFBbUM7UUFBbkMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFyQ3ZEOztXQUVHO1FBQ00sY0FBUyxHQUFrQixLQUFLLENBQUE7UUFFekM7O1dBRUc7UUFDTSxjQUFTLEdBQWdCLEVBQUUsQ0FBQTtRQUVwQzs7V0FFRztRQUNNLHFCQUFnQixHQUFnQyxJQUFJLENBQUE7UUFFN0Q7O1dBRUc7UUFDTSx1QkFBa0IsR0FBZ0MsSUFBSSxDQUFBO1FBRS9EOzs7V0FHRztRQUNNLGtCQUFhLEdBQUcsS0FBSyxDQUFBO1FBRTlCOztXQUVHO1FBQ08sMkJBQXNCLEdBQzlCLElBQUksWUFBWSxFQUFrQixDQUFBO1FBS3BDLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFHZCxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNuQyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUE7SUFDakUsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO1lBQ1osT0FBTTtTQUNQO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7SUFDdEIsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQTtJQUN2QixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQW9CO1FBQzlCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDdEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ2QsQ0FBQzsrR0E5RFUsdUJBQXVCO21HQUF2Qix1QkFBdUIsZ2ZDekJwQyx1NUJBOEJBOzs0RkRMYSx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0Usa0JBQWtCO2lHQU9uQixTQUFTO3NCQUFqQixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUtHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFNRyxhQUFhO3NCQUFyQixLQUFLO2dCQUtJLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFHMEIsT0FBTztzQkFBdkMsU0FBUzt1QkFBQyxvQkFBb0I7Z0JBQ0MsTUFBTTtzQkFBckMsU0FBUzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBDb21wb25lbnQsXG4gIFZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IERyb3Bkb3duT3B0aW9uIH0gZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWFuZ3VsYXIvc3JjL2xpYi9kcm9wZG93bidcblxuLyoqXG4gKiBNZW51SXRlbXMgZXh0ZW5kcyBEcm9wRG93biBvcHRpb24gYW5kIGFkZHMgdGhlIHBvc2liaWxpdHkgdG8gcGFzcyBhIGN1c3RvbSB0ZW1wbGF0ZSBmb3IganVzdCBvbmUgaXRlbS5cbiAqL1xuaW50ZXJmYWNlIE1lbnVJdGVtcyBleHRlbmRzIERyb3Bkb3duT3B0aW9uIHtcbiAgdGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx1bmtub3duPlxufVxuXG5pbXBvcnQgJ0BzZWJncm91cC9ncmVlbi1jb3JlL2NvbXBvbmVudHMvY29udGV4dC1tZW51L2luZGV4LmpzJ1xuaW1wb3J0ICogYXMgQ29udGV4dE1lbnVUcmFuc1N0eWxlcyBmcm9tICdAc2ViZ3JvdXAvZ3JlZW4tY29yZS9jb21wb25lbnRzL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUudHJhbnMuc3R5bGVzLmpzJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ2ctY29udGV4dC1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ0NvbnRleHRNZW51Q29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFBsYWNlbWVudCBvZiB0aGUgcG9wb3ZlciByZWxhdGl2ZSB0byB0aGUgYW5jaG9yIGVsZW1lbnQuXG4gICAqL1xuICBASW5wdXQoKSBkaXJlY3Rpb246ICdsdHInIHwgJ3J0bCcgPSAnbHRyJ1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGl0ZW1zIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgY29udGV4dCBtZW51LlxuICAgKi9cbiAgQElucHV0KCkgbWVudUl0ZW1zOiBNZW51SXRlbXNbXSA9IFtdXG5cbiAgLyoqXG4gICAqIEN1c3RvbSBtZW51IGl0ZW0gdGVtcGxhdGUuXG4gICAqL1xuICBASW5wdXQoKSBtZW51SXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwgPSBudWxsXG5cbiAgLyoqXG4gICAqIEN1c3RvbSBtZW51IHRyaWdnZXIgdGVtcGxhdGUuXG4gICAqL1xuICBASW5wdXQoKSBtZW51QW5jaG9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCA9IG51bGxcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICogVGhpcyBwcm9wZXJ0eSBubyBsb25nZXIgaGFzIGFueSBlZmZlY3QgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLlxuICAgKi9cbiAgQElucHV0KCkgY2xvc2VPblNjcm9sbCA9IGZhbHNlXG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gYSBtZW51IGl0ZW0gaXMgY2xpY2tlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBjb250ZXh0TWVudUl0ZW1DbGlja2VkOiBFdmVudEVtaXR0ZXI8RHJvcGRvd25PcHRpb24+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPERyb3Bkb3duT3B0aW9uPigpXG5cbiAgQFZpZXdDaGlsZCgnY29udGV4dE1lbnVQb3BvdmVyJykgcG9wb3ZlciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gIEBWaWV3Q2hpbGQoJ2NvbnRleHRNZW51QW5jaG9yJykgYW5jaG9yITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cblxuICBpc0FjdGl2ZSA9IGZhbHNlXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgIENvbnRleHRNZW51VHJhbnNTdHlsZXMucmVnaXN0ZXIoKVxuICB9XG5cbiAgZ2V0IHBsYWNlbWVudCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvbiA9PT0gJ2x0cicgPyAnYm90dG9tLXN0YXJ0JyA6ICdib3R0b20tZW5kJ1xuICB9XG5cbiAgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2ZSkge1xuICAgICAgdGhpcy5jbG9zZSgpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLmlzQWN0aXZlID0gdHJ1ZVxuICB9XG5cbiAgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlXG4gIH1cblxuICBvbkl0ZW1DbGljayhpdGVtOiBEcm9wZG93bk9wdGlvbik6IHZvaWQge1xuICAgIHRoaXMuY29udGV4dE1lbnVJdGVtQ2xpY2tlZC5lbWl0KGl0ZW0pXG4gICAgdGhpcy5jbG9zZSgpXG4gIH1cbn1cbiIsIjxnZHMtY29udGV4dC1tZW51XG4gICpuZ2dDb3JlRWxlbWVudFxuICBkYXRhLXRlc3RpZD1cImNvbnRleHQtbWVudVwiXG4gIFtwbGFjZW1lbnRdPVwicGxhY2VtZW50XCJcbiAgW29wZW5dPVwiaXNBY3RpdmVcIlxuPlxuICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogY29udGVudHNcIiBzbG90PVwidHJpZ2dlclwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1lbnVBbmNob3JUZW1wbGF0ZSA/PyBkZWZhdWx0QnV0dG9uVGVtcGxhdGVcIlxuICAgID5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1lbnVJdGVtIG9mIG1lbnVJdGVtc1wiPlxuICAgIDxnZHMtbWVudS1pdGVtICpuZ2dDb3JlRWxlbWVudCAoY2xpY2spPVwib25JdGVtQ2xpY2sobWVudUl0ZW0pXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1lbnVJdGVtVGVtcGxhdGUgPz8gZGVmYXVsdE1lbnVJdGVtVGVtcGxhdGVcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IG1lbnVJdGVtIH1cIlxuICAgICAgPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9nZHMtbWVudS1pdGVtPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZ2RzLWNvbnRleHQtbWVudT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0TWVudUl0ZW1UZW1wbGF0ZSBsZXQtbWVudUl0ZW0+XG4gIDxzcGFuPnt7IG1lbnVJdGVtLmxhYmVsIH19PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0QnV0dG9uVGVtcGxhdGU+XG4gIDxpIGNsYXNzPVwic2ctaWNvbiBzZy1pY29uLWVsbGlwc2lzXCI+T3BlbiBjb250ZXh0IG1lbnU8L2k+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -4,11 +4,11 @@ import { NggContextMenuComponent } from './context-menu.component';
4
4
  import { NggCoreWrapperModule } from '@sebgroup/green-angular/src/lib/shared';
5
5
  import * as i0 from "@angular/core";
6
6
  export class NggContextMenuModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NggContextMenuModule, declarations: [NggContextMenuComponent], imports: [CommonModule, NggCoreWrapperModule], exports: [NggContextMenuComponent] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggContextMenuModule, imports: [CommonModule, NggCoreWrapperModule] }); }
7
10
  }
8
- NggContextMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- NggContextMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: NggContextMenuModule, declarations: [NggContextMenuComponent], imports: [CommonModule, NggCoreWrapperModule], exports: [NggContextMenuComponent] });
10
- NggContextMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggContextMenuModule, imports: [CommonModule, NggCoreWrapperModule] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggContextMenuModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggContextMenuModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  declarations: [NggContextMenuComponent],
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
17
17
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
18
18
  }]
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFBOztBQVE3RSxNQUFNLE9BQU8sb0JBQW9COztpSEFBcEIsb0JBQW9CO2tIQUFwQixvQkFBb0IsaUJBTGhCLHVCQUF1QixhQUM1QixZQUFZLEVBQUUsb0JBQW9CLGFBQ2xDLHVCQUF1QjtrSEFHdEIsb0JBQW9CLFlBSnJCLFlBQVksRUFBRSxvQkFBb0I7MkZBSWpDLG9CQUFvQjtrQkFOaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdkMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLG9CQUFvQixDQUFDO29CQUM3QyxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTmdnQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbnRleHQtbWVudS5jb21wb25lbnQnXG5pbXBvcnQgeyBOZ2dDb3JlV3JhcHBlck1vZHVsZSB9IGZyb20gJ0BzZWJncm91cC9ncmVlbi1hbmd1bGFyL3NyYy9saWIvc2hhcmVkJ1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtOZ2dDb250ZXh0TWVudUNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5nZ0NvcmVXcmFwcGVyTW9kdWxlXSxcbiAgZXhwb3J0czogW05nZ0NvbnRleHRNZW51Q29tcG9uZW50XSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dDb250ZXh0TWVudU1vZHVsZSB7fVxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFBOztBQVE3RSxNQUFNLE9BQU8sb0JBQW9COytHQUFwQixvQkFBb0I7Z0hBQXBCLG9CQUFvQixpQkFMaEIsdUJBQXVCLGFBQzVCLFlBQVksRUFBRSxvQkFBb0IsYUFDbEMsdUJBQXVCO2dIQUd0QixvQkFBb0IsWUFKckIsWUFBWSxFQUFFLG9CQUFvQjs7NEZBSWpDLG9CQUFvQjtrQkFOaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdkMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLG9CQUFvQixDQUFDO29CQUM3QyxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTmdnQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbnRleHQtbWVudS5jb21wb25lbnQnXG5pbXBvcnQgeyBOZ2dDb3JlV3JhcHBlck1vZHVsZSB9IGZyb20gJ0BzZWJncm91cC9ncmVlbi1hbmd1bGFyL3NyYy9saWIvc2hhcmVkJ1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtOZ2dDb250ZXh0TWVudUNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5nZ0NvcmVXcmFwcGVyTW9kdWxlXSxcbiAgZXhwb3J0czogW05nZ0NvbnRleHRNZW51Q29tcG9uZW50XSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dDb250ZXh0TWVudU1vZHVsZSB7fVxuIl19
@@ -0,0 +1,138 @@
1
+ import { ChangeDetectionStrategy, Component, Input, Output, EventEmitter, ChangeDetectorRef, } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR, } from '@angular/forms';
3
+ import { randomId } from '@sebgroup/extract';
4
+ import { endOfDay, startOfDay } from 'date-fns';
5
+ import '@sebgroup/green-core/components/datepicker/index.js';
6
+ import * as DatepickerTransStyles from '@sebgroup/green-core/components/datepicker/datepicker.trans.styles.js';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@sebgroup/green-angular/src/lib/shared";
9
+ export class NggDatepickerComponent {
10
+ get options() {
11
+ return this._options;
12
+ }
13
+ set options(value) {
14
+ this._options = value;
15
+ }
16
+ get showWeekNumbers() {
17
+ return this.options?.showWeeks ?? false;
18
+ }
19
+ get dateFormat() {
20
+ return this.options?.dateFormat ?? 'y-m-d';
21
+ }
22
+ get value() {
23
+ return this._value;
24
+ }
25
+ set value(newValue) {
26
+ if (typeof newValue === 'string') {
27
+ newValue = new Date(newValue);
28
+ }
29
+ if (newValue !== this._value) {
30
+ this._value = newValue || undefined;
31
+ }
32
+ }
33
+ get min() {
34
+ const minDate = this.options?.minDate;
35
+ return minDate ? minDate : new Date(new Date().getFullYear() - 10, 0, 1);
36
+ }
37
+ get max() {
38
+ const maxDate = this.options?.maxDate;
39
+ return maxDate ? maxDate : new Date(new Date().getFullYear() + 10, 0, 1);
40
+ }
41
+ constructor(_cdr) {
42
+ this._cdr = _cdr;
43
+ this.id = randomId();
44
+ this.isValid = null;
45
+ this.valueChange = new EventEmitter();
46
+ DatepickerTransStyles.register();
47
+ }
48
+ writeValue(value) {
49
+ this.value = value;
50
+ this._cdr.detectChanges();
51
+ }
52
+ registerOnChange(fn) {
53
+ this.onChangeFn = fn;
54
+ }
55
+ registerOnTouched(fn) {
56
+ this.onTouchedFn = fn;
57
+ }
58
+ onDateChange(evt) {
59
+ const e = evt;
60
+ this.value = e.detail.value;
61
+ this.valueChange.emit(e.detail.value);
62
+ this.onChangeFn && this.onChangeFn(e.detail.value);
63
+ }
64
+ ngAfterViewInit() {
65
+ this._cdr.detectChanges();
66
+ }
67
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDatepickerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
68
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NggDatepickerComponent, selector: "ngg-datepicker", inputs: { size: "size", hideLabel: "hideLabel", disabledWeekends: "disabledWeekends", disabledDates: "disabledDates", options: "options", value: "value", id: "id", label: "label", isValid: "isValid" }, outputs: { valueChange: "valueChange" }, providers: [
69
+ {
70
+ provide: NG_VALUE_ACCESSOR,
71
+ useExisting: NggDatepickerComponent,
72
+ multi: true,
73
+ },
74
+ ], ngImport: i0, template: "<div class=\"form-group\">\n <gds-datepicker\n *nggCoreElement\n [attr.id]=\"id\"\n [label]=\"label\"\n [value]=\"value\"\n (change)=\"onDateChange($event)\"\n [invalid]=\"isValid === false\"\n [min]=\"min\"\n [max]=\"max\"\n [showWeekNumbers]=\"showWeekNumbers\"\n [dateformat]=\"dateFormat\"\n [size]=\"size\"\n [hideLabel]=\"hideLabel\"\n [disabledWeekends]=\"disabledWeekends\"\n [disabledDates]=\"disabledDates\"\n >\n <span slot=\"message\">\n <ng-content select=\"[data-form-info]\"></ng-content>\n </span>\n </gds-datepicker>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NggCoreElementDirective, selector: "[nggCoreElement]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
75
+ }
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDatepickerComponent, decorators: [{
77
+ type: Component,
78
+ args: [{ selector: 'ngg-datepicker', providers: [
79
+ {
80
+ provide: NG_VALUE_ACCESSOR,
81
+ useExisting: NggDatepickerComponent,
82
+ multi: true,
83
+ },
84
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-group\">\n <gds-datepicker\n *nggCoreElement\n [attr.id]=\"id\"\n [label]=\"label\"\n [value]=\"value\"\n (change)=\"onDateChange($event)\"\n [invalid]=\"isValid === false\"\n [min]=\"min\"\n [max]=\"max\"\n [showWeekNumbers]=\"showWeekNumbers\"\n [dateformat]=\"dateFormat\"\n [size]=\"size\"\n [hideLabel]=\"hideLabel\"\n [disabledWeekends]=\"disabledWeekends\"\n [disabledDates]=\"disabledDates\"\n >\n <span slot=\"message\">\n <ng-content select=\"[data-form-info]\"></ng-content>\n </span>\n </gds-datepicker>\n</div>\n" }]
85
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { size: [{
86
+ type: Input
87
+ }], hideLabel: [{
88
+ type: Input
89
+ }], disabledWeekends: [{
90
+ type: Input
91
+ }], disabledDates: [{
92
+ type: Input
93
+ }], options: [{
94
+ type: Input
95
+ }], value: [{
96
+ type: Input
97
+ }], id: [{
98
+ type: Input
99
+ }], label: [{
100
+ type: Input
101
+ }], isValid: [{
102
+ type: Input
103
+ }], valueChange: [{
104
+ type: Output
105
+ }] } });
106
+ export function dateValidator(dates) {
107
+ return (control) => {
108
+ const value = control.value;
109
+ if (!value) {
110
+ return null;
111
+ }
112
+ const newDate = new Date(value);
113
+ const isValidDate = !isNaN(newDate.getTime());
114
+ if (!isValidDate) {
115
+ return { validDate: true };
116
+ }
117
+ const validMinDate = dates?.min ? newDate >= startOfDay(dates.min) : true;
118
+ const validMaxDate = dates?.max ? newDate <= endOfDay(dates.max) : true;
119
+ if (!validMinDate && dates?.min) {
120
+ return {
121
+ validDate: {
122
+ minDate: startOfDay(dates.min),
123
+ actualDate: newDate,
124
+ },
125
+ };
126
+ }
127
+ if (!validMaxDate && dates?.max) {
128
+ return {
129
+ validDate: {
130
+ maxDate: endOfDay(dates.max),
131
+ actualDate: newDate,
132
+ },
133
+ };
134
+ }
135
+ return null;
136
+ };
137
+ }
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBR0wsaUJBQWlCLEdBR2xCLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBRS9DLE9BQU8scURBQXFELENBQUE7QUFDNUQsT0FBTyxLQUFLLHFCQUFxQixNQUFNLHVFQUF1RSxDQUFBOzs7QUF5QzlHLE1BQU0sT0FBTyxzQkFBc0I7SUFRakMsSUFDSSxPQUFPO1FBQ1QsT0FBMEIsSUFBSSxDQUFDLFFBQVEsQ0FBQTtJQUN6QyxDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBd0I7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUE7SUFDdkIsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxJQUFJLEtBQUssQ0FBQTtJQUN6QyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsSUFBSSxPQUFPLENBQUE7SUFDNUMsQ0FBQztJQUVELElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFD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SUFBSSxLQUFLLEVBQUUsR0FBRyxFQUFFO1lBQy9CLE9BQU87Z0JBQ0wsU0FBUyxFQUFFO29CQUNULE9BQU8sRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztvQkFDNUIsVUFBVSxFQUFFLE9BQU87aUJBQ3BCO2FBQ0YsQ0FBQTtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3JGbixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyByYW5kb21JZCB9IGZyb20gJ0BzZWJncm91cC9leHRyYWN0J1xuaW1wb3J0IHsgZW5kT2ZEYXksIHN0YXJ0T2ZEYXkgfSBmcm9tICdkYXRlLWZucydcblxuaW1wb3J0ICdAc2ViZ3JvdXAvZ3JlZW4tY29yZS9jb21wb25lbnRzL2RhdGVwaWNrZXIvaW5kZXguanMnXG5pbXBvcnQgKiBhcyBEYXRlcGlja2VyVHJhbnNTdHlsZXMgZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWNvcmUvY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIudHJhbnMuc3R5bGVzLmpzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEF0dHJpYnV0ZXMge1xuICBpZD86IHN0cmluZ1xuICByb2xlPzogc3RyaW5nXG4gIHN0eWxlPzogQ1NTU3R5bGVEZWNsYXJhdGlvblxuICB0YWJJbmRleD86IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnRQcm9wcyB7XG4gIGF0dHJpYnV0ZXM6IEF0dHJpYnV0ZXNcbiAgY2xhc3Nlczogc3RyaW5nW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRlcGlja2VyT3B0aW9ucyB7XG4gIGxhYmVsPzogc3RyaW5nXG4gIGxvY2FsZT86IHN0cmluZ1xuICBjdXJyZW50RGF0ZT86IERhdGUgfCBzdHJpbmdcbiAgc2VsZWN0ZWREYXRlPzogRGF0ZSB8IHN0cmluZ1xuICBjbG9zZU9uU2VsZWN0PzogYm9vbGVhblxuICB1c2VDdXJyZW50VGltZT86IGJvb2xlYW5cbiAgd2Vla05hbWU/OiB7IGFiYnI6IHN0cmluZzsgZGlzcGxheVRleHQ6IHN0cmluZyB9XG4gIHNob3dXZWVrcz86IGJvb2xlYW5cbiAgbWluRGF0ZT86IERhdGVcbiAgbWF4RGF0ZT86IERhdGVcbiAgZGF0ZUZvcm1hdD86IHN0cmluZ1xuICBvbkNoYW5nZT86IChzZWxlY3RlZERhdGU6IERhdGUpID0+IHZvaWRcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdnLWRhdGVwaWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJ2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBOZ2dEYXRlcGlja2VyQ29tcG9uZW50LFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ0RhdGVwaWNrZXJDb21wb25lbnRcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdFxue1xuICBASW5wdXQoKSBzaXplPzogJ3NtYWxsJyB8ICdtZWRpdW0nXG4gIEBJbnB1dCgpIGhpZGVMYWJlbD86IGJvb2xlYW5cbiAgQElucHV0KCkgZGlzYWJsZWRXZWVrZW5kcz86IGJvb2xlYW5cbiAgQElucHV0KCkgZGlzYWJsZWREYXRlcz86IERhdGVbXVxuXG4gIEBJbnB1dCgpXG4gIGdldCBvcHRpb25zKCk6IERhdGVwaWNrZXJPcHRpb25zIHtcbiAgICByZXR1cm4gPERhdGVwaWNrZXJPcHRpb25zPnRoaXMuX29wdGlvbnNcbiAgfVxuICBzZXQgb3B0aW9ucyh2YWx1ZTogRGF0ZXBpY2tlck9wdGlvbnMpIHtcbiAgICB0aGlzLl9vcHRpb25zID0gdmFsdWVcbiAgfVxuXG4gIGdldCBzaG93V2Vla051bWJlcnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucz8uc2hvd1dlZWtzID8/IGZhbHNlXG4gIH1cblxuICBnZXQgZGF0ZUZvcm1hdCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnM/LmRhdGVGb3JtYXQgPz8gJ3ktbS1kJ1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB8IERhdGUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZVxuICB9XG4gIHNldCB2YWx1ZShuZXdWYWx1ZTogc3RyaW5nIHwgRGF0ZSB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh0eXBlb2YgbmV3VmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBuZXdWYWx1ZSA9IG5ldyBEYXRlKG5ld1ZhbHVlKVxuICAgIH1cbiAgICBpZiAobmV3VmFsdWUgIT09IHRoaXMuX3ZhbHVlKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IG5ld1ZhbHVlIHx8IHVuZGVmaW5lZFxuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIGlkPzogc3RyaW5nID0gcmFuZG9tSWQoKVxuICBASW5wdXQoKSBsYWJlbD86IHN0cmluZ1xuICBASW5wdXQoKSBpc1ZhbGlkOiBib29sZWFuIHwgbnVsbCA9IG51bGxcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG5cbiAgb25DaGFuZ2VGbj86ICh2YWx1ZTogYW55KSA9PiB2b2lkXG4gIG9uVG91Y2hlZEZuPzogYW55XG5cbiAgX3ZhbHVlOiBEYXRlIHwgdW5kZWZpbmVkXG4gIHByaXZhdGUgX29wdGlvbnM/OiBEYXRlcGlja2VyT3B0aW9uc1xuXG4gIGdldCBtaW4oKTogRGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbWluRGF0ZSA9IHRoaXMub3B0aW9ucz8ubWluRGF0ZVxuICAgIHJldHVybiBtaW5EYXRlID8gbWluRGF0ZSA6IG5ldyBEYXRlKG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSAtIDEwLCAwLCAxKVxuICB9XG5cbiAgZ2V0IG1heCgpOiBEYXRlIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBtYXhEYXRlID0gdGhpcy5vcHRpb25zPy5tYXhEYXRlXG4gICAgcmV0dXJuIG1heERhdGUgPyBtYXhEYXRlIDogbmV3IERhdGUobmV3IERhdGUoKS5nZXRGdWxsWWVhcigpICsgMTAsIDAsIDEpXG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgRGF0ZXBpY2tlclRyYW5zU3R5bGVzLnJlZ2lzdGVyKClcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZVxuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2VGbiA9IGZuXG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWRGbiA9IGZuXG4gIH1cblxuICBvbkRhdGVDaGFuZ2UoZXZ0OiBFdmVudCkge1xuICAgIGNvbnN0IGUgPSBldnQgYXMgQ3VzdG9tRXZlbnRcblxuICAgIHRoaXMudmFsdWUgPSBlLmRldGFpbC52YWx1ZVxuXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGUuZGV0YWlsLnZhbHVlKVxuICAgIHRoaXMub25DaGFuZ2VGbiAmJiB0aGlzLm9uQ2hhbmdlRm4oZS5kZXRhaWwudmFsdWUpXG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRlVmFsaWRhdG9yKGRhdGVzPzogeyBtaW4/OiBEYXRlOyBtYXg/OiBEYXRlIH0pOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZVxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICAgIGNvbnN0IG5ld0RhdGUgPSBuZXcgRGF0ZSh2YWx1ZSlcbiAgICBjb25zdCBpc1ZhbGlkRGF0ZSA9ICFpc05hTihuZXdEYXRlLmdldFRpbWUoKSlcbiAgICBpZiAoIWlzVmFsaWREYXRlKSB7XG4gICAgICByZXR1cm4geyB2YWxpZERhdGU6IHRydWUgfVxuICAgIH1cblxuICAgIGNvbnN0IHZhbGlkTWluRGF0ZSA9IGRhdGVzPy5taW4gPyBuZXdEYXRlID49IHN0YXJ0T2ZEYXkoZGF0ZXMubWluKSA6IHRydWVcbiAgICBjb25zdCB2YWxpZE1heERhdGUgPSBkYXRlcz8ubWF4ID8gbmV3RGF0ZSA8PSBlbmRPZkRheShkYXRlcy5tYXgpIDogdHJ1ZVxuXG4gICAgaWYgKCF2YWxpZE1pbkRhdGUgJiYgZGF0ZXM/Lm1pbikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdmFsaWREYXRlOiB7XG4gICAgICAgICAgbWluRGF0ZTogc3RhcnRPZkRheShkYXRlcy5taW4pLFxuICAgICAgICAgIGFjdHVhbERhdGU6IG5ld0RhdGUsXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgfVxuICAgIGlmICghdmFsaWRNYXhEYXRlICYmIGRhdGVzPy5tYXgpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhbGlkRGF0ZToge1xuICAgICAgICAgIG1heERhdGU6IGVuZE9mRGF5KGRhdGVzLm1heCksXG4gICAgICAgICAgYWN0dWFsRGF0ZTogbmV3RGF0ZSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbFxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICA8Z2RzLWRhdGVwaWNrZXJcbiAgICAqbmdnQ29yZUVsZW1lbnRcbiAgICBbYXR0ci5pZF09XCJpZFwiXG4gICAgW2xhYmVsXT1cImxhYmVsXCJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgIChjaGFuZ2UpPVwib25EYXRlQ2hhbmdlKCRldmVudClcIlxuICAgIFtpbnZhbGlkXT1cImlzVmFsaWQgPT09IGZhbHNlXCJcbiAgICBbbWluXT1cIm1pblwiXG4gICAgW21heF09XCJtYXhcIlxuICAgIFtzaG93V2Vla051bWJlcnNdPVwic2hvd1dlZWtOdW1iZXJzXCJcbiAgICBbZGF0ZWZvcm1hdF09XCJkYXRlRm9ybWF0XCJcbiAgICBbc2l6ZV09XCJzaXplXCJcbiAgICBbaGlkZUxhYmVsXT1cImhpZGVMYWJlbFwiXG4gICAgW2Rpc2FibGVkV2Vla2VuZHNdPVwiZGlzYWJsZWRXZWVrZW5kc1wiXG4gICAgW2Rpc2FibGVkRGF0ZXNdPVwiZGlzYWJsZWREYXRlc1wiXG4gID5cbiAgICA8c3BhbiBzbG90PVwibWVzc2FnZVwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2RhdGEtZm9ybS1pbmZvXVwiPjwvbmctY29udGVudD5cbiAgICA8L3NwYW4+XG4gIDwvZ2RzLWRhdGVwaWNrZXI+XG48L2Rpdj5cbiJdfQ==
@@ -4,11 +4,11 @@ import { NggDatepickerComponent } from './datepicker.component';
4
4
  import { NggCoreWrapperModule } from '@sebgroup/green-angular/src/lib/shared';
5
5
  import * as i0 from "@angular/core";
6
6
  export class NggDatepickerModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NggDatepickerModule, declarations: [NggDatepickerComponent], imports: [CommonModule, NggCoreWrapperModule], exports: [NggDatepickerComponent] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDatepickerModule, imports: [CommonModule, NggCoreWrapperModule] }); }
7
10
  }
8
- NggDatepickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- NggDatepickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: NggDatepickerModule, declarations: [NggDatepickerComponent], imports: [CommonModule, NggCoreWrapperModule], exports: [NggDatepickerComponent] });
10
- NggDatepickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDatepickerModule, imports: [CommonModule, NggCoreWrapperModule] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDatepickerModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDatepickerModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  declarations: [NggDatepickerComponent],
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
17
17
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
18
18
  }]
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9kYXRlcGlja2VyL2RhdGVwaWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFBOztBQVE3RSxNQUFNLE9BQU8sbUJBQW1COztnSEFBbkIsbUJBQW1CO2lIQUFuQixtQkFBbUIsaUJBTGYsc0JBQXNCLGFBQzNCLFlBQVksRUFBRSxvQkFBb0IsYUFDbEMsc0JBQXNCO2lIQUdyQixtQkFBbUIsWUFKcEIsWUFBWSxFQUFFLG9CQUFvQjsyRkFJakMsbUJBQW1CO2tCQU4vQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUN0QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLENBQUM7b0JBQzdDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBOZ2dEYXRlcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlcGlja2VyLmNvbXBvbmVudCdcbmltcG9ydCB7IE5nZ0NvcmVXcmFwcGVyTW9kdWxlIH0gZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWFuZ3VsYXIvc3JjL2xpYi9zaGFyZWQnXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW05nZ0RhdGVwaWNrZXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ2dDb3JlV3JhcHBlck1vZHVsZV0sXG4gIGV4cG9ydHM6IFtOZ2dEYXRlcGlja2VyQ29tcG9uZW50XSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dEYXRlcGlja2VyTW9kdWxlIHt9XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9kYXRlcGlja2VyL2RhdGVwaWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFBOztBQVE3RSxNQUFNLE9BQU8sbUJBQW1COytHQUFuQixtQkFBbUI7Z0hBQW5CLG1CQUFtQixpQkFMZixzQkFBc0IsYUFDM0IsWUFBWSxFQUFFLG9CQUFvQixhQUNsQyxzQkFBc0I7Z0hBR3JCLG1CQUFtQixZQUpwQixZQUFZLEVBQUUsb0JBQW9COzs0RkFJakMsbUJBQW1CO2tCQU4vQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUN0QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLENBQUM7b0JBQzdDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBOZ2dEYXRlcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlcGlja2VyLmNvbXBvbmVudCdcbmltcG9ydCB7IE5nZ0NvcmVXcmFwcGVyTW9kdWxlIH0gZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWFuZ3VsYXIvc3JjL2xpYi9zaGFyZWQnXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW05nZ0RhdGVwaWNrZXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ2dDb3JlV3JhcHBlck1vZHVsZV0sXG4gIGV4cG9ydHM6IFtOZ2dEYXRlcGlja2VyQ29tcG9uZW50XSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dEYXRlcGlja2VyTW9kdWxlIHt9XG4iXX0=
@@ -4,13 +4,13 @@ export class NggDropdownButtonDirective {
4
4
  constructor(templateRef) {
5
5
  this.templateRef = templateRef;
6
6
  }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDropdownButtonDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NggDropdownButtonDirective, selector: "[nggDropdownButton]", ngImport: i0 }); }
7
9
  }
8
- NggDropdownButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDropdownButtonDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- NggDropdownButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NggDropdownButtonDirective, selector: "[nggDropdownButton]", ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDropdownButtonDirective, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDropdownButtonDirective, decorators: [{
11
11
  type: Directive,
12
12
  args: [{
13
13
  selector: '[nggDropdownButton]',
14
14
  }]
15
15
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLWJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUE7O0FBS3RELE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFBbUIsV0FBaUM7UUFBakMsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO0lBQUcsQ0FBQzs7dUhBRDdDLDBCQUEwQjsyR0FBMUIsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBSHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25nZ0Ryb3Bkb3duQnV0dG9uXScsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ0Ryb3Bkb3duQnV0dG9uRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPikge31cbn1cbiJdfQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLWJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUE7O0FBS3RELE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFBbUIsV0FBaUM7UUFBakMsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO0lBQUcsQ0FBQzsrR0FEN0MsMEJBQTBCO21HQUExQiwwQkFBMEI7OzRGQUExQiwwQkFBMEI7a0JBSHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25nZ0Ryb3Bkb3duQnV0dG9uXScsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ0Ryb3Bkb3duQnV0dG9uRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPikge31cbn1cbiJdfQ==
@@ -4,13 +4,13 @@ export class NggDropdownOptionDirective {
4
4
  constructor(templateRef) {
5
5
  this.templateRef = templateRef;
6
6
  }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDropdownOptionDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NggDropdownOptionDirective, selector: "[nggDropdownOption]", ngImport: i0 }); }
7
9
  }
8
- NggDropdownOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDropdownOptionDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- NggDropdownOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NggDropdownOptionDirective, selector: "[nggDropdownOption]", ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDropdownOptionDirective, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDropdownOptionDirective, decorators: [{
11
11
  type: Directive,
12
12
  args: [{
13
13
  selector: '[nggDropdownOption]',
14
14
  }]
15
15
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tb3B0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLW9wdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUE7O0FBS3RELE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFBbUIsV0FBaUM7UUFBakMsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO0lBQUcsQ0FBQzs7dUhBRDdDLDBCQUEwQjsyR0FBMUIsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBSHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25nZ0Ryb3Bkb3duT3B0aW9uXScsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ0Ryb3Bkb3duT3B0aW9uRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPikge31cbn1cbiJdfQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tb3B0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLW9wdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUE7O0FBS3RELE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFBbUIsV0FBaUM7UUFBakMsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO0lBQUcsQ0FBQzsrR0FEN0MsMEJBQTBCO21HQUExQiwwQkFBMEI7OzRGQUExQiwwQkFBMEI7a0JBSHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25nZ0Ryb3Bkb3duT3B0aW9uXScsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ0Ryb3Bkb3duT3B0aW9uRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPikge31cbn1cbiJdfQ==
@@ -0,0 +1,212 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, Inject, Injector, Input, Output, ViewChild, } from '@angular/core';
2
+ import { NgControl, NG_VALUE_ACCESSOR, } from '@angular/forms';
3
+ import { NggDropdownOptionDirective } from './dropdown-option.directive';
4
+ import { NggDropdownButtonDirective } from './dropdown-button.directive';
5
+ import '@sebgroup/green-core/components/dropdown/index.js';
6
+ import * as DropdownTransStyles from '@sebgroup/green-core/components/dropdown/dropdown.trans.styles.js';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common";
9
+ import * as i2 from "@sebgroup/green-angular/src/lib/shared";
10
+ export class NggDropdownComponent {
11
+ //
12
+ set options(value) {
13
+ this._options = value;
14
+ this.texts = {
15
+ ...this.texts,
16
+ select: this.displayTextByValue(this._value),
17
+ };
18
+ }
19
+ get options() {
20
+ return this._options;
21
+ }
22
+ //
23
+ set multiSelect(value) {
24
+ this._multiSelect = this.convertToBoolean(value);
25
+ }
26
+ get multiSelect() {
27
+ return this._multiSelect;
28
+ }
29
+ //
30
+ set searchable(value) {
31
+ this._searchable = this.convertToBoolean(value);
32
+ }
33
+ get searchable() {
34
+ return this._searchable;
35
+ }
36
+ //
37
+ set value(newValue) {
38
+ if (!this.options)
39
+ return;
40
+ this._value = newValue;
41
+ this.texts = {
42
+ ...this.texts,
43
+ select: this.displayTextByValue(this._value),
44
+ };
45
+ }
46
+ get value() {
47
+ return this._value;
48
+ }
49
+ //
50
+ get selectedOption() {
51
+ return Array.isArray(this.value)
52
+ ? this.value.map((v) => this.optionByValue(v))
53
+ : this.optionByValue(this.value);
54
+ }
55
+ get control() {
56
+ return this.injector.get(NgControl);
57
+ }
58
+ constructor(injector, _cdr) {
59
+ this.injector = injector;
60
+ this._cdr = _cdr;
61
+ this.loop = false;
62
+ this.display = 'label';
63
+ this.useValue = 'value';
64
+ this._multiSelect = false;
65
+ this._searchable = false;
66
+ this.valueChange = new EventEmitter();
67
+ this.touched = new EventEmitter();
68
+ this.onValueChange = (event) => {
69
+ const target = event.target;
70
+ this._value = target.value;
71
+ this.texts = {
72
+ ...this.texts,
73
+ select: this.displayTextByValue(this._value),
74
+ };
75
+ this.onChangeFn?.(this.value);
76
+ this.valueChange.emit(this.value);
77
+ this._cdr.detectChanges();
78
+ };
79
+ // These adapter functions are used to maintain backwards compatibility with the old interface
80
+ this.compareWithAdapter = (o1, o2) => {
81
+ const compareFn = this.compareWith || ((a, b) => a === b);
82
+ return compareFn(o1, o2);
83
+ };
84
+ this.searchFilterAdapter = (q, o) => {
85
+ if (this.searchFilter)
86
+ return this.searchFilter(q, o.value);
87
+ else
88
+ return ((q, o) => o.innerHTML.toLowerCase().includes(q.toLowerCase()))(q, o);
89
+ };
90
+ this.optionByValue = (value) => {
91
+ return this.options?.find((o) => o[this.useValue] === value);
92
+ };
93
+ this.displayTextByValue = (value) => {
94
+ if (!Array.isArray(value))
95
+ return (this.optionByValue(value)?.[this.display] ||
96
+ (this.texts?.placeholder ?? 'Select'));
97
+ const displayValues = value.map((v) => this.optionByValue(v)?.[this.display]);
98
+ return displayValues?.length > 2
99
+ ? `${displayValues.length} ${this.texts?.selected} `
100
+ : displayValues?.join(', ') || (this.texts?.placeholder ?? 'Select');
101
+ };
102
+ DropdownTransStyles.register();
103
+ }
104
+ ngOnInit() {
105
+ if (!this._value) {
106
+ if (this.multiSelect)
107
+ this._value = this.options
108
+ ?.filter((o) => o.selected === true)
109
+ ?.map((o) => o[this.useValue]);
110
+ else
111
+ this._value = this.options?.find((o) => o.selected === true)?.[this.useValue];
112
+ this.texts = {
113
+ ...this.texts,
114
+ select: this.displayTextByValue(this._value),
115
+ };
116
+ }
117
+ this.texts = {
118
+ close: this.texts?.close ?? 'Close',
119
+ optionsDescription: this.texts?.optionsDescription ?? 'Options',
120
+ placeholder: this.texts?.placeholder ?? 'Select',
121
+ searchPlaceholder: this.texts?.searchPlaceholder ?? 'Search',
122
+ selected: this.texts?.selected ?? 'selected',
123
+ select: this.displayTextByValue(this._value),
124
+ };
125
+ }
126
+ writeValue(value) {
127
+ this.value = value;
128
+ this._cdr.detectChanges();
129
+ }
130
+ registerOnChange(fn) {
131
+ this.onChangeFn = fn;
132
+ }
133
+ registerOnTouched(fn) {
134
+ this.onTouchedFn = fn;
135
+ }
136
+ convertToBoolean(value) {
137
+ return (value === '' || value === 'true' || value.toString() === 'true' || false);
138
+ }
139
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDropdownComponent, deps: [{ token: Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
140
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NggDropdownComponent, selector: "ngg-dropdown", inputs: { id: "id", texts: "texts", loop: "loop", display: "display", useValue: "useValue", label: "label", valid: "valid", invalid: "invalid", compareWith: "compareWith", searchFilter: "searchFilter", syncPopoverWidth: "syncPopoverWidth", size: "size", hideLabel: "hideLabel", maxHeight: "maxHeight", fixedPlacement: "fixedPlacement", options: "options", multiSelect: "multiSelect", searchable: "searchable", value: "value" }, outputs: { valueChange: "valueChange", touched: "touched" }, providers: [
141
+ {
142
+ provide: NG_VALUE_ACCESSOR,
143
+ useExisting: NggDropdownComponent,
144
+ multi: true,
145
+ },
146
+ ], queries: [{ propertyName: "customOption", first: true, predicate: NggDropdownOptionDirective, descendants: true }, { propertyName: "customButton", first: true, predicate: NggDropdownButtonDirective, descendants: true }], viewQueries: [{ propertyName: "gdsDropdown", first: true, predicate: ["gdsDropdown"], descendants: true }], ngImport: i0, template: "<div class=\"form-group\">\n <gds-dropdown\n *nggCoreElement\n #gdsDropdown\n [value]=\"value\"\n [searchable]=\"searchable\"\n [label]=\"label\"\n (change)=\"onValueChange($event)\"\n [multiple]=\"multiSelect\"\n [invalid]=\"invalid\"\n [compareWith]=\"compareWithAdapter\"\n [searchFilter]=\"searchFilterAdapter\"\n [syncPopoverWidth]=\"syncPopoverWidth\"\n [size]=\"size\"\n [hideLabel]=\"hideLabel\"\n [maxHeight]=\"maxHeight\"\n >\n <span slot=\"message\" #formInfo\n ><ng-content select=\"[data-form-info]\"></ng-content\n ></span>\n\n <span slot=\"trigger\"\n ><ng-container\n *ngTemplateOutlet=\"\n customButton?.templateRef && selectedOption\n ? customButton!.templateRef\n : defaultButton;\n context: { option: selectedOption }\n \"\n ></ng-container\n ></span>\n\n <ng-container *ngFor=\"let option of options; let index = index\">\n <ng-container *ngIf=\"!option.heading; else optionHeading\">\n <gds-option *nggCoreElement [value]=\"option[useValue]\"\n ><ng-container\n *ngTemplateOutlet=\"\n customOption?.templateRef\n ? customOption!.templateRef\n : defaultOption;\n context: { option: option, index: index }\n \"\n ></ng-container\n ></gds-option>\n </ng-container>\n <ng-template #optionHeading>\n <gds-menu-heading *nggCoreElement>{{ option.label }}</gds-menu-heading>\n </ng-template>\n </ng-container>\n </gds-dropdown>\n</div>\n\n<ng-template #defaultButton let-selected=\"option\">\n <span class=\"trigger\">{{ texts?.select }}</span>\n</ng-template>\n\n<ng-template #defaultOption let-option=\"option\">\n {{ display ? option[display] : option.name }}\n</ng-template>\n", styles: [".trigger{display:block;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NggCoreElementDirective, selector: "[nggCoreElement]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
147
+ }
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDropdownComponent, decorators: [{
149
+ type: Component,
150
+ args: [{ selector: 'ngg-dropdown', providers: [
151
+ {
152
+ provide: NG_VALUE_ACCESSOR,
153
+ useExisting: NggDropdownComponent,
154
+ multi: true,
155
+ },
156
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-group\">\n <gds-dropdown\n *nggCoreElement\n #gdsDropdown\n [value]=\"value\"\n [searchable]=\"searchable\"\n [label]=\"label\"\n (change)=\"onValueChange($event)\"\n [multiple]=\"multiSelect\"\n [invalid]=\"invalid\"\n [compareWith]=\"compareWithAdapter\"\n [searchFilter]=\"searchFilterAdapter\"\n [syncPopoverWidth]=\"syncPopoverWidth\"\n [size]=\"size\"\n [hideLabel]=\"hideLabel\"\n [maxHeight]=\"maxHeight\"\n >\n <span slot=\"message\" #formInfo\n ><ng-content select=\"[data-form-info]\"></ng-content\n ></span>\n\n <span slot=\"trigger\"\n ><ng-container\n *ngTemplateOutlet=\"\n customButton?.templateRef && selectedOption\n ? customButton!.templateRef\n : defaultButton;\n context: { option: selectedOption }\n \"\n ></ng-container\n ></span>\n\n <ng-container *ngFor=\"let option of options; let index = index\">\n <ng-container *ngIf=\"!option.heading; else optionHeading\">\n <gds-option *nggCoreElement [value]=\"option[useValue]\"\n ><ng-container\n *ngTemplateOutlet=\"\n customOption?.templateRef\n ? customOption!.templateRef\n : defaultOption;\n context: { option: option, index: index }\n \"\n ></ng-container\n ></gds-option>\n </ng-container>\n <ng-template #optionHeading>\n <gds-menu-heading *nggCoreElement>{{ option.label }}</gds-menu-heading>\n </ng-template>\n </ng-container>\n </gds-dropdown>\n</div>\n\n<ng-template #defaultButton let-selected=\"option\">\n <span class=\"trigger\">{{ texts?.select }}</span>\n</ng-template>\n\n<ng-template #defaultOption let-option=\"option\">\n {{ display ? option[display] : option.name }}\n</ng-template>\n", styles: [".trigger{display:block;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}\n"] }]
157
+ }], ctorParameters: function () { return [{ type: i0.Injector, decorators: [{
158
+ type: Inject,
159
+ args: [Injector]
160
+ }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { id: [{
161
+ type: Input
162
+ }], texts: [{
163
+ type: Input
164
+ }], loop: [{
165
+ type: Input
166
+ }], display: [{
167
+ type: Input
168
+ }], useValue: [{
169
+ type: Input
170
+ }], label: [{
171
+ type: Input
172
+ }], valid: [{
173
+ type: Input
174
+ }], invalid: [{
175
+ type: Input
176
+ }], compareWith: [{
177
+ type: Input
178
+ }], searchFilter: [{
179
+ type: Input
180
+ }], syncPopoverWidth: [{
181
+ type: Input
182
+ }], size: [{
183
+ type: Input
184
+ }], hideLabel: [{
185
+ type: Input
186
+ }], maxHeight: [{
187
+ type: Input
188
+ }], fixedPlacement: [{
189
+ type: Input
190
+ }], options: [{
191
+ type: Input
192
+ }], multiSelect: [{
193
+ type: Input
194
+ }], searchable: [{
195
+ type: Input
196
+ }], value: [{
197
+ type: Input
198
+ }], valueChange: [{
199
+ type: Output
200
+ }], touched: [{
201
+ type: Output
202
+ }], customOption: [{
203
+ type: ContentChild,
204
+ args: [NggDropdownOptionDirective]
205
+ }], customButton: [{
206
+ type: ContentChild,
207
+ args: [NggDropdownButtonDirective]
208
+ }], gdsDropdown: [{
209
+ type: ViewChild,
210
+ args: ['gdsDropdown', { static: false }]
211
+ }] } });
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUV2QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUV4RSxPQUFPLG1EQUFtRCxDQUFBO0FBTTFELE9BQU8sS0FBSyxtQkFBbUIsTUFBTSxtRUFBbUUsQ0FBQTs7OztBQWtDeEcsTUFBTSxPQUFPLG9CQUFvQjtJQW1CL0IsRUFBRTtJQUNGLElBQWEsT0FBTyxDQUFDLEtBQW1DO1FBQ3RELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxHQUFHLElBQUksQ0FBQyxLQUFLO1lBQ2IsTUFBTSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQzdDLENBQUE7SUFDSCxDQUFDO0lBQ0QsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ3RCLENBQUM7SUFHRCxFQUFFO0lB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QWJoQyxTQUFTOytCQUNFLGNBQWMsYUFHYjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLHNCQUFzQjs0QkFDakMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07OzBCQThHNUMsTUFBTTsyQkFBQyxRQUFROzRFQTNHVCxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csY0FBYztzQkFBdEIsS0FBSztnQkFHTyxPQUFPO3NCQUFuQixLQUFLO2dCQWFPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBU08sVUFBVTtzQkFBdEIsS0FBSztnQkFTTyxLQUFLO3NCQUFqQixLQUFLO2dCQXlCYSxXQUFXO3NCQUE3QixNQUFNO2dCQUNZLE9BQU87c0JBQXpCLE1BQU07Z0JBSVAsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLDBCQUEwQjtnQkFJeEMsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLDBCQUEwQjtnQkFHSyxXQUFXO3NCQUF2RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5nQ29udHJvbCxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuXG5pbXBvcnQgeyBOZ2dEcm9wZG93bk9wdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcGRvd24tb3B0aW9uLmRpcmVjdGl2ZSdcbmltcG9ydCB7IE5nZ0Ryb3Bkb3duQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wZG93bi1idXR0b24uZGlyZWN0aXZlJ1xuXG5pbXBvcnQgJ0BzZWJncm91cC9ncmVlbi1jb3JlL2NvbXBvbmVudHMvZHJvcGRvd24vaW5kZXguanMnXG5pbXBvcnQgdHlwZSB7XG4gIEdkc0Ryb3Bkb3duLFxuICBHZHNPcHRpb24sXG59IGZyb20gJ0BzZWJncm91cC9ncmVlbi1jb3JlL2NvbXBvbmVudHMvZHJvcGRvd24vaW5kZXguanMnXG5cbmltcG9ydCAqIGFzIERyb3Bkb3duVHJhbnNTdHlsZXMgZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWNvcmUvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi50cmFucy5zdHlsZXMuanMnXG5cbmV4cG9ydCB0eXBlIENvbXBhcmVXaXRoPFQgPSBhbnk+ID0gKG8xOiBULCBvMjogVCkgPT4gYm9vbGVhblxuZXhwb3J0IHR5cGUgU2VhcmNoRmlsdGVyPFQgPSBhbnk+ID0gKHNlYXJjaDogc3RyaW5nLCB2YWx1ZTogVCkgPT4gYm9vbGVhblxuZXhwb3J0IHR5cGUgRHJvcGRvd25QbGFjZW1lbnRzID0gJ2JvdHRvbS1zdGFydCcgfCAndG9wLXN0YXJ0J1xuZXhwb3J0IGludGVyZmFjZSBEcm9wZG93blRleHRzIHtcbiAgc2VsZWN0Pzogc3RyaW5nXG4gIHNlbGVjdGVkPzogc3RyaW5nXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIHNlYXJjaFBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIGNsb3NlPzogc3RyaW5nXG4gIG9wdGlvbnNEZXNjcmlwdGlvbj86IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBEcm9wZG93bk9wdGlvbiB7XG4gIGxhYmVsPzogc3RyaW5nXG4gIHZhbHVlPzogYW55XG4gIHNlbGVjdGVkPzogYm9vbGVhblxuICBoZWFkaW5nPzogYm9vbGVhblxuICBba2V5OiBzdHJpbmddOiBhbnlcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdnLWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICdkcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydkcm9wZG93bi5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBOZ2dEcm9wZG93bkNvbXBvbmVudCxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xuICBASW5wdXQoKSBpZD86IHN0cmluZ1xuICBASW5wdXQoKSB0ZXh0cz86IERyb3Bkb3duVGV4dHNcbiAgQElucHV0KCkgbG9vcD86IGJvb2xlYW4gPSBmYWxzZVxuICBASW5wdXQoKSBkaXNwbGF5ID0gJ2xhYmVsJ1xuICBASW5wdXQoKSB1c2VWYWx1ZSA9ICd2YWx1ZSdcbiAgQElucHV0KCkgbGFiZWw/OiBzdHJpbmdcbiAgQElucHV0KCkgdmFsaWQ/OiBib29sZWFuXG4gIEBJbnB1dCgpIGludmFsaWQ/OiBib29sZWFuXG4gIEBJbnB1dCgpIGNvbXBhcmVXaXRoPzogQ29tcGFyZVdpdGhcbiAgQElucHV0KCkgc2VhcmNoRmlsdGVyPzogU2VhcmNoRmlsdGVyXG4gIEBJbnB1dCgpIHN5bmNQb3BvdmVyV2lkdGg/OiBib29sZWFuXG4gIEBJbnB1dCgpIHNpemU/OiAnc21hbGwnIHwgJ21lZGl1bSdcbiAgQElucHV0KCkgaGlkZUxhYmVsPzogYm9vbGVhblxuICBASW5wdXQoKSBtYXhIZWlnaHQ/OiBudW1iZXJcblxuICAvKiogQGRlcHJlY2F0ZWQgKi9cbiAgQElucHV0KCkgZml4ZWRQbGFjZW1lbnQ/OiBEcm9wZG93blBsYWNlbWVudHNcblxuICAvL1xuICBASW5wdXQoKSBzZXQgb3B0aW9ucyh2YWx1ZTogRHJvcGRvd25PcHRpb25bXSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX29wdGlvbnMgPSB2YWx1ZVxuICAgIHRoaXMudGV4dHMgPSB7XG4gICAgICAuLi50aGlzLnRleHRzLFxuICAgICAgc2VsZWN0OiB0aGlzLmRpc3BsYXlUZXh0QnlWYWx1ZSh0aGlzLl92YWx1ZSksXG4gICAgfVxuICB9XG4gIGdldCBvcHRpb25zKCk6IERyb3Bkb3duT3B0aW9uW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9vcHRpb25zXG4gIH1cbiAgcHJpdmF0ZSBfb3B0aW9uczogRHJvcGRvd25PcHRpb25bXSB8IHVuZGVmaW5lZFxuXG4gIC8vXG4gIEBJbnB1dCgpIHNldCBtdWx0aVNlbGVjdCh2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbikge1xuICAgIHRoaXMuX211bHRpU2VsZWN0ID0gdGhpcy5jb252ZXJ0VG9Cb29sZWFuKHZhbHVlKVxuICB9XG4gIGdldCBtdWx0aVNlbGVjdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fbXVsdGlTZWxlY3RcbiAgfVxuICBwcml2YXRlIF9tdWx0aVNlbGVjdCA9IGZhbHNlXG5cbiAgLy9cbiAgQElucHV0KCkgc2V0IHNlYXJjaGFibGUodmFsdWU6IHN0cmluZyB8IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zZWFyY2hhYmxlID0gdGhpcy5jb252ZXJ0VG9Cb29sZWFuKHZhbHVlKVxuICB9XG4gIGdldCBzZWFyY2hhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hhYmxlXG4gIH1cbiAgcHJpdmF0ZSBfc2VhcmNoYWJsZSA9IGZhbHNlXG5cbiAgLy9cbiAgQElucHV0KCkgc2V0IHZhbHVlKG5ld1ZhbHVlOiBhbnkpIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucykgcmV0dXJuXG5cbiAgICB0aGlzLl92YWx1ZSA9IG5ld1ZhbHVlXG5cbiAgICB0aGlzLnRleHRzID0ge1xuICAgICAgLi4udGhpcy50ZXh0cyxcbiAgICAgIHNlbGVjdDogdGhpcy5kaXNwbGF5VGV4dEJ5VmFsdWUodGhpcy5fdmFsdWUpLFxuICAgIH1cbiAgfVxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVcbiAgfVxuICBwcml2YXRlIF92YWx1ZTogRHJvcGRvd25PcHRpb24gfCBEcm9wZG93bk9wdGlvbltdIHwgdW5kZWZpbmVkXG5cbiAgLy9cbiAgZ2V0IHNlbGVjdGVkT3B0aW9uKCkge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpXG4gICAgICA/IHRoaXMudmFsdWUubWFwKCh2OiBhbnkpID0+IHRoaXMub3B0aW9uQnlWYWx1ZSh2KSlcbiAgICAgIDogdGhpcy5vcHRpb25CeVZhbHVlKHRoaXMudmFsdWUpXG4gIH1cblxuICBvbkNoYW5nZUZuPzogKHZhbHVlOiB1bmtub3duKSA9PiB2b2lkXG4gIG9uVG91Y2hlZEZuPzogKCkgPT4gdm9pZFxuXG4gIEBPdXRwdXQoKSByZWFkb25seSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdG91Y2hlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KClcblxuICBAQ29udGVudENoaWxkKE5nZ0Ryb3Bkb3duT3B0aW9uRGlyZWN0aXZlKVxuICBjdXN0b21PcHRpb24/OiBOZ2dEcm9wZG93bk9wdGlvbkRpcmVjdGl2ZVxuXG4gIEBDb250ZW50Q2hpbGQoTmdnRHJvcGRvd25CdXR0b25EaXJlY3RpdmUpXG4gIGN1c3RvbUJ1dHRvbj86IE5nZ0Ryb3Bkb3duQnV0dG9uRGlyZWN0aXZlXG5cbiAgQFZpZXdDaGlsZCgnZ2RzRHJvcGRvd24nLCB7IHN0YXRpYzogZmFsc2UgfSkgZ2RzRHJvcGRvd24/OiBFbGVtZW50UmVmXG5cbiAgcHVibGljIG9uVmFsdWVDaGFuZ2U6IChldmVudDogRXZlbnQpID0+IHZvaWQgPSAoZXZlbnQpID0+IHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgR2RzRHJvcGRvd248RHJvcGRvd25PcHRpb24+XG4gICAgdGhpcy5fdmFsdWUgPSB0YXJnZXQudmFsdWVcblxuICAgIHRoaXMudGV4dHMgPSB7XG4gICAgICAuLi50aGlzLnRleHRzLFxuICAgICAgc2VsZWN0OiB0aGlzLmRpc3BsYXlUZXh0QnlWYWx1ZSh0aGlzLl92YWx1ZSksXG4gICAgfVxuXG4gICAgdGhpcy5vbkNoYW5nZUZuPy4odGhpcy52YWx1ZSlcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSlcblxuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIGdldCBjb250cm9sKCk6IE5nQ29udHJvbCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoSW5qZWN0b3IpIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIERyb3Bkb3duVHJhbnNTdHlsZXMucmVnaXN0ZXIoKVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl92YWx1ZSkge1xuICAgICAgaWYgKHRoaXMubXVsdGlTZWxlY3QpXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5vcHRpb25zXG4gICAgICAgICAgPy5maWx0ZXIoKG8pID0+IG8uc2VsZWN0ZWQgPT09IHRydWUpXG4gICAgICAgICAgPy5tYXAoKG8pID0+IG9bdGhpcy51c2VWYWx1ZV0pXG4gICAgICBlbHNlXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5vcHRpb25zPy5maW5kKChvKSA9PiBvLnNlbGVjdGVkID09PSB0cnVlKT8uW1xuICAgICAgICAgIHRoaXMudXNlVmFsdWVcbiAgICAgICAgXVxuXG4gICAgICB0aGlzLnRleHRzID0ge1xuICAgICAgICAuLi50aGlzLnRleHRzLFxuICAgICAgICBzZWxlY3Q6IHRoaXMuZGlzcGxheVRleHRCeVZhbHVlKHRoaXMuX3ZhbHVlKSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnRleHRzID0ge1xuICAgICAgY2xvc2U6IHRoaXMudGV4dHM/LmNsb3NlID8/ICdDbG9zZScsXG4gICAgICBvcHRpb25zRGVzY3JpcHRpb246IHRoaXMudGV4dHM/Lm9wdGlvbnNEZXNjcmlwdGlvbiA/PyAnT3B0aW9ucycsXG4gICAgICBwbGFjZWhvbGRlcjogdGhpcy50ZXh0cz8ucGxhY2Vob2xkZXIgPz8gJ1NlbGVjdCcsXG4gICAgICBzZWFyY2hQbGFjZWhvbGRlcjogdGhpcy50ZXh0cz8uc2VhcmNoUGxhY2Vob2xkZXIgPz8gJ1NlYXJjaCcsXG4gICAgICBzZWxlY3RlZDogdGhpcy50ZXh0cz8uc2VsZWN0ZWQgPz8gJ3NlbGVjdGVkJyxcbiAgICAgIHNlbGVjdDogdGhpcy5kaXNwbGF5VGV4dEJ5VmFsdWUodGhpcy5fdmFsdWUpLFxuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZVxuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICgpID0+IHVua25vd24pOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlRm4gPSBmblxuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZEZuID0gZm5cbiAgfVxuXG4gIC8vIFRoZXNlIGFkYXB0ZXIgZnVuY3Rpb25zIGFyZSB1c2VkIHRvIG1haW50YWluIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGggdGhlIG9sZCBpbnRlcmZhY2VcbiAgY29tcGFyZVdpdGhBZGFwdGVyID0gKG8xOiBhbnksIG8yOiBhbnkpID0+IHtcbiAgICBjb25zdCBjb21wYXJlRm4gPSB0aGlzLmNvbXBhcmVXaXRoIHx8ICgoYSwgYikgPT4gYSA9PT0gYilcbiAgICByZXR1cm4gY29tcGFyZUZuKG8xLCBvMilcbiAgfVxuICBzZWFyY2hGaWx0ZXJBZGFwdGVyID0gKHE6IHN0cmluZywgbzogR2RzT3B0aW9uKSA9PiB7XG4gICAgaWYgKHRoaXMuc2VhcmNoRmlsdGVyKSByZXR1cm4gdGhpcy5zZWFyY2hGaWx0ZXIocSwgby52YWx1ZSlcbiAgICBlbHNlXG4gICAgICByZXR1cm4gKChxOiBzdHJpbmcsIG86IEdkc09wdGlvbikgPT5cbiAgICAgICAgby5pbm5lckhUTUwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhxLnRvTG93ZXJDYXNlKCkpKShxLCBvKVxuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlOiBzdHJpbmcgfCBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHZhbHVlID09PSAnJyB8fCB2YWx1ZSA9PT0gJ3RydWUnIHx8IHZhbHVlLnRvU3RyaW5nKCkgPT09ICd0cnVlJyB8fCBmYWxzZVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgb3B0aW9uQnlWYWx1ZSA9ICh2YWx1ZTogYW55KSA9PiB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucz8uZmluZCgobykgPT4gb1t0aGlzLnVzZVZhbHVlXSA9PT0gdmFsdWUpXG4gIH1cblxuICBwcml2YXRlIGRpc3BsYXlUZXh0QnlWYWx1ZSA9ICh2YWx1ZTogYW55KSA9PiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSlcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMub3B0aW9uQnlWYWx1ZSh2YWx1ZSk/Llt0aGlzLmRpc3BsYXldIHx8XG4gICAgICAgICh0aGlzLnRleHRzPy5wbGFjZWhvbGRlciA/PyAnU2VsZWN0JylcbiAgICAgIClcblxuICAgIGNvbnN0IGRpc3BsYXlWYWx1ZXMgPSB2YWx1ZS5tYXAoXG4gICAgICAodikgPT4gdGhpcy5vcHRpb25CeVZhbHVlKHYpPy5bdGhpcy5kaXNwbGF5XSxcbiAgICApXG4gICAgcmV0dXJuIGRpc3BsYXlWYWx1ZXM/Lmxlbmd0aCA+IDJcbiAgICAgID8gYCR7ZGlzcGxheVZhbHVlcy5sZW5ndGh9ICR7dGhpcy50ZXh0cz8uc2VsZWN0ZWR9IGBcbiAgICAgIDogZGlzcGxheVZhbHVlcz8uam9pbignLCAnKSB8fCAodGhpcy50ZXh0cz8ucGxhY2Vob2xkZXIgPz8gJ1NlbGVjdCcpXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gIDxnZHMtZHJvcGRvd25cbiAgICAqbmdnQ29yZUVsZW1lbnRcbiAgICAjZ2RzRHJvcGRvd25cbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgIFtzZWFyY2hhYmxlXT1cInNlYXJjaGFibGVcIlxuICAgIFtsYWJlbF09XCJsYWJlbFwiXG4gICAgKGNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aVNlbGVjdFwiXG4gICAgW2ludmFsaWRdPVwiaW52YWxpZFwiXG4gICAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVXaXRoQWRhcHRlclwiXG4gICAgW3NlYXJjaEZpbHRlcl09XCJzZWFyY2hGaWx0ZXJBZGFwdGVyXCJcbiAgICBbc3luY1BvcG92ZXJXaWR0aF09XCJzeW5jUG9wb3ZlcldpZHRoXCJcbiAgICBbc2l6ZV09XCJzaXplXCJcbiAgICBbaGlkZUxhYmVsXT1cImhpZGVMYWJlbFwiXG4gICAgW21heEhlaWdodF09XCJtYXhIZWlnaHRcIlxuICA+XG4gICAgPHNwYW4gc2xvdD1cIm1lc3NhZ2VcIiAjZm9ybUluZm9cbiAgICAgID48bmctY29udGVudCBzZWxlY3Q9XCJbZGF0YS1mb3JtLWluZm9dXCI+PC9uZy1jb250ZW50XG4gICAgPjwvc3Bhbj5cblxuICAgIDxzcGFuIHNsb3Q9XCJ0cmlnZ2VyXCJcbiAgICAgID48bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgY3VzdG9tQnV0dG9uPy50ZW1wbGF0ZVJlZiAmJiBzZWxlY3RlZE9wdGlvblxuICAgICAgICAgICAgPyBjdXN0b21CdXR0b24hLnRlbXBsYXRlUmVmXG4gICAgICAgICAgICA6IGRlZmF1bHRCdXR0b247XG4gICAgICAgICAgY29udGV4dDogeyBvcHRpb246IHNlbGVjdGVkT3B0aW9uIH1cbiAgICAgICAgXCJcbiAgICAgID48L25nLWNvbnRhaW5lclxuICAgID48L3NwYW4+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgbGV0IGluZGV4ID0gaW5kZXhcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhb3B0aW9uLmhlYWRpbmc7IGVsc2Ugb3B0aW9uSGVhZGluZ1wiPlxuICAgICAgICA8Z2RzLW9wdGlvbiAqbmdnQ29yZUVsZW1lbnQgW3ZhbHVlXT1cIm9wdGlvblt1c2VWYWx1ZV1cIlxuICAgICAgICAgID48bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICBjdXN0b21PcHRpb24/LnRlbXBsYXRlUmVmXG4gICAgICAgICAgICAgICAgPyBjdXN0b21PcHRpb24hLnRlbXBsYXRlUmVmXG4gICAgICAgICAgICAgICAgOiBkZWZhdWx0T3B0aW9uO1xuICAgICAgICAgICAgICBjb250ZXh0OiB7IG9wdGlvbjogb3B0aW9uLCBpbmRleDogaW5kZXggfVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXJcbiAgICAgICAgPjwvZ2RzLW9wdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNvcHRpb25IZWFkaW5nPlxuICAgICAgICA8Z2RzLW1lbnUtaGVhZGluZyAqbmdnQ29yZUVsZW1lbnQ+e3sgb3B0aW9uLmxhYmVsIH19PC9nZHMtbWVudS1oZWFkaW5nPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9nZHMtZHJvcGRvd24+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0QnV0dG9uIGxldC1zZWxlY3RlZD1cIm9wdGlvblwiPlxuICA8c3BhbiBjbGFzcz1cInRyaWdnZXJcIj57eyB0ZXh0cz8uc2VsZWN0IH19PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0T3B0aW9uIGxldC1vcHRpb249XCJvcHRpb25cIj5cbiAge3sgZGlzcGxheSA/IG9wdGlvbltkaXNwbGF5XSA6IG9wdGlvbi5uYW1lIH19XG48L25nLXRlbXBsYXRlPlxuIl19