@sebgroup/green-angular 3.8.0 → 4.0.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 (244) 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 +258 -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 +258 -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/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-modal.mjs +43 -43
  97. package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-modal.mjs.map +1 -1
  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 +289 -289
  111. package/{fesm2020 → fesm2022}/sebgroup-green-angular.mjs.map +1 -1
  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-segmented-control.mjs +0 -58
  193. package/fesm2020/sebgroup-green-angular-src-lib-segmented-control.mjs.map +0 -1
  194. /package/{esm2020 → esm2022}/index.mjs +0 -0
  195. /package/{esm2020 → esm2022}/lib/accordion/index.mjs +0 -0
  196. /package/{esm2020 → esm2022}/lib/badge/index.mjs +0 -0
  197. /package/{esm2020 → esm2022}/lib/button/index.mjs +0 -0
  198. /package/{esm2020 → esm2022}/lib/cell-table/cell-table.types.mjs +0 -0
  199. /package/{esm2020 → esm2022}/lib/cell-table/index.mjs +0 -0
  200. /package/{esm2020 → esm2022}/lib/context-menu/index.mjs +0 -0
  201. /package/{esm2020 → esm2022}/lib/datepicker/index.mjs +0 -0
  202. /package/{esm2020 → esm2022}/lib/dropdown/index.mjs +0 -0
  203. /package/{esm2020 → esm2022}/lib/in-page-wizard/index.mjs +0 -0
  204. /package/{esm2020 → esm2022}/lib/modal/index.mjs +0 -0
  205. /package/{esm2020 → esm2022}/lib/pagination/index.mjs +0 -0
  206. /package/{esm2020 → esm2022}/lib/progress-circle/index.mjs +0 -0
  207. /package/{esm2020 → esm2022}/lib/segmented-control/index.mjs +0 -0
  208. /package/{esm2020 → esm2022}/lib/shared/core-element/index.mjs +0 -0
  209. /package/{esm2020 → esm2022}/lib/shared/index.mjs +0 -0
  210. /package/{esm2020 → esm2022}/lib/slider/index.mjs +0 -0
  211. /package/{esm2020 → esm2022}/lib/sortable-list/index.mjs +0 -0
  212. /package/{esm2020 → esm2022}/sebgroup-green-angular.mjs +0 -0
  213. /package/{esm2020 → esm2022}/src/lib/accordion/index.mjs +0 -0
  214. /package/{esm2020 → esm2022}/src/lib/accordion/sebgroup-green-angular-src-lib-accordion.mjs +0 -0
  215. /package/{esm2020 → esm2022}/src/lib/badge/index.mjs +0 -0
  216. /package/{esm2020 → esm2022}/src/lib/badge/sebgroup-green-angular-src-lib-badge.mjs +0 -0
  217. /package/{esm2020 → esm2022}/src/lib/button/index.mjs +0 -0
  218. /package/{esm2020 → esm2022}/src/lib/button/sebgroup-green-angular-src-lib-button.mjs +0 -0
  219. /package/{esm2020 → esm2022}/src/lib/cell-table/cell-table.types.mjs +0 -0
  220. /package/{esm2020 → esm2022}/src/lib/cell-table/index.mjs +0 -0
  221. /package/{esm2020 → esm2022}/src/lib/cell-table/sebgroup-green-angular-src-lib-cell-table.mjs +0 -0
  222. /package/{esm2020 → esm2022}/src/lib/context-menu/index.mjs +0 -0
  223. /package/{esm2020 → esm2022}/src/lib/context-menu/sebgroup-green-angular-src-lib-context-menu.mjs +0 -0
  224. /package/{esm2020 → esm2022}/src/lib/datepicker/index.mjs +0 -0
  225. /package/{esm2020 → esm2022}/src/lib/datepicker/sebgroup-green-angular-src-lib-datepicker.mjs +0 -0
  226. /package/{esm2020 → esm2022}/src/lib/dropdown/index.mjs +0 -0
  227. /package/{esm2020 → esm2022}/src/lib/dropdown/sebgroup-green-angular-src-lib-dropdown.mjs +0 -0
  228. /package/{esm2020 → esm2022}/src/lib/in-page-wizard/index.mjs +0 -0
  229. /package/{esm2020 → esm2022}/src/lib/in-page-wizard/sebgroup-green-angular-src-lib-in-page-wizard.mjs +0 -0
  230. /package/{esm2020 → esm2022}/src/lib/modal/index.mjs +0 -0
  231. /package/{esm2020 → esm2022}/src/lib/modal/sebgroup-green-angular-src-lib-modal.mjs +0 -0
  232. /package/{esm2020 → esm2022}/src/lib/pagination/index.mjs +0 -0
  233. /package/{esm2020 → esm2022}/src/lib/pagination/sebgroup-green-angular-src-lib-pagination.mjs +0 -0
  234. /package/{esm2020 → esm2022}/src/lib/progress-circle/index.mjs +0 -0
  235. /package/{esm2020 → esm2022}/src/lib/progress-circle/sebgroup-green-angular-src-lib-progress-circle.mjs +0 -0
  236. /package/{esm2020 → esm2022}/src/lib/segmented-control/index.mjs +0 -0
  237. /package/{esm2020 → esm2022}/src/lib/segmented-control/sebgroup-green-angular-src-lib-segmented-control.mjs +0 -0
  238. /package/{esm2020 → esm2022}/src/lib/shared/core-element/index.mjs +0 -0
  239. /package/{esm2020 → esm2022}/src/lib/shared/index.mjs +0 -0
  240. /package/{esm2020 → esm2022}/src/lib/shared/sebgroup-green-angular-src-lib-shared.mjs +0 -0
  241. /package/{esm2020 → esm2022}/src/lib/slider/index.mjs +0 -0
  242. /package/{esm2020 → esm2022}/src/lib/slider/sebgroup-green-angular-src-lib-slider.mjs +0 -0
  243. /package/{esm2020 → esm2022}/src/lib/sortable-list/index.mjs +0 -0
  244. /package/{esm2020 → esm2022}/src/lib/sortable-list/sebgroup-green-angular-src-lib-sortable-list.mjs +0 -0
@@ -13,5 +13,5 @@ export declare class NggInPageWizardStepCardComponent {
13
13
  handleOnEditBtnClick(event: MouseEvent): void;
14
14
  handleOnNextBtnClick(event: MouseEvent): void;
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<NggInPageWizardStepCardComponent, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<NggInPageWizardStepCardComponent, "ngg-in-page-wizard-step-card", never, { "stepText": "stepText"; "title": "title"; "editBtnText": "editBtnText"; "nextBtnText": "nextBtnText"; "isCompleted": "isCompleted"; "disableNext": "disableNext"; "isActive": "isActive"; }, { "handleNextClick": "handleNextClick"; "handleEditClick": "handleEditClick"; }, never, ["*"], false, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<NggInPageWizardStepCardComponent, "ngg-in-page-wizard-step-card", never, { "stepText": { "alias": "stepText"; "required": false; }; "title": { "alias": "title"; "required": false; }; "editBtnText": { "alias": "editBtnText"; "required": false; }; "nextBtnText": { "alias": "nextBtnText"; "required": false; }; "isCompleted": { "alias": "isCompleted"; "required": false; }; "disableNext": { "alias": "disableNext"; "required": false; }; "isActive": { "alias": "isActive"; "required": false; }; }, { "handleNextClick": "handleNextClick"; "handleEditClick": "handleEditClick"; }, never, ["*"], false, never>;
17
17
  }
@@ -41,14 +41,14 @@ export declare class NggModalComponent implements OnDestroy, OnInit {
41
41
  private disableFocusTrap;
42
42
  ngOnDestroy(): void;
43
43
  static ɵfac: i0.ɵɵFactoryDeclaration<NggModalComponent, never>;
44
- static ɵcmp: i0.ɵɵComponentDeclaration<NggModalComponent, "ngg-modal", never, { "modalType": "modalType"; "header": "header"; "confirmLabel": "confirmLabel"; "dismissLabel": "dismissLabel"; "size": "size"; "hideHeader": "hideHeader"; "hideFooter": "hideFooter"; "disableBodyScroll": "disableBodyScroll"; "trapFocus": "trapFocus"; "isOpen": "isOpen"; }, { "isOpenChange": "isOpenChange"; "closed": "closed"; "confirm": "confirm"; "dismiss": "dismiss"; }, ["modalHeaderContent", "modalFooterContent"], ["[nggModalHeader]", "*", "[nggModalFooter]"], false, never>;
44
+ static ɵcmp: i0.ɵɵComponentDeclaration<NggModalComponent, "ngg-modal", never, { "modalType": { "alias": "modalType"; "required": false; }; "header": { "alias": "header"; "required": false; }; "confirmLabel": { "alias": "confirmLabel"; "required": false; }; "dismissLabel": { "alias": "dismissLabel"; "required": false; }; "size": { "alias": "size"; "required": false; }; "hideHeader": { "alias": "hideHeader"; "required": false; }; "hideFooter": { "alias": "hideFooter"; "required": false; }; "disableBodyScroll": { "alias": "disableBodyScroll"; "required": false; }; "trapFocus": { "alias": "trapFocus"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; }, { "isOpenChange": "isOpenChange"; "closed": "closed"; "confirm": "confirm"; "dismiss": "dismiss"; }, ["modalHeaderContent", "modalFooterContent"], ["[nggModalHeader]", "*", "[nggModalFooter]"], false, never>;
45
45
  }
46
46
  export declare class NggModalHeaderComponent {
47
47
  header?: string;
48
48
  closed: EventEmitter<MouseEvent>;
49
49
  handleClose(event: MouseEvent): void;
50
50
  static ɵfac: i0.ɵɵFactoryDeclaration<NggModalHeaderComponent, never>;
51
- static ɵcmp: i0.ɵɵComponentDeclaration<NggModalHeaderComponent, "[ngg-modal-header]", never, { "header": "header"; }, { "closed": "closed"; }, never, never, false, never>;
51
+ static ɵcmp: i0.ɵɵComponentDeclaration<NggModalHeaderComponent, "[ngg-modal-header]", never, { "header": { "alias": "header"; "required": false; }; }, { "closed": "closed"; }, never, never, false, never>;
52
52
  }
53
53
  export declare class NggModalBodyComponent {
54
54
  static ɵfac: i0.ɵɵFactoryDeclaration<NggModalBodyComponent, never>;
@@ -62,5 +62,5 @@ export declare class NggModalFooterComponent {
62
62
  handleDismiss(event: MouseEvent): void;
63
63
  handleConfirm(event: MouseEvent): void;
64
64
  static ɵfac: i0.ɵɵFactoryDeclaration<NggModalFooterComponent, never>;
65
- static ɵcmp: i0.ɵɵComponentDeclaration<NggModalFooterComponent, "[ngg-modal-footer]", never, { "dismissLabel": "dismissLabel"; "confirmLabel": "confirmLabel"; }, { "dismiss": "dismiss"; "confirm": "confirm"; }, never, never, false, never>;
65
+ static ɵcmp: i0.ɵɵComponentDeclaration<NggModalFooterComponent, "[ngg-modal-footer]", never, { "dismissLabel": { "alias": "dismissLabel"; "required": false; }; "confirmLabel": { "alias": "confirmLabel"; "required": false; }; }, { "dismiss": "dismiss"; "confirm": "confirm"; }, never, never, false, never>;
66
66
  }
@@ -38,5 +38,5 @@ export declare class NggPaginationComponent implements OnChanges {
38
38
  */
39
39
  private getCenteredPageIndicies;
40
40
  static ɵfac: i0.ɵɵFactoryDeclaration<NggPaginationComponent, never>;
41
- static ɵcmp: i0.ɵɵComponentDeclaration<NggPaginationComponent, "ngg-pagination", never, { "i18n": "i18n"; "size": "size"; "displayPages": "displayPages"; "length": "length"; "pageSize": "pageSize"; "pageIndex": "pageIndex"; }, { "page": "page"; }, never, never, false, never>;
41
+ static ɵcmp: i0.ɵɵComponentDeclaration<NggPaginationComponent, "ngg-pagination", never, { "i18n": { "alias": "i18n"; "required": false; }; "size": { "alias": "size"; "required": false; }; "displayPages": { "alias": "displayPages"; "required": false; }; "length": { "alias": "length"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "pageIndex": { "alias": "pageIndex"; "required": false; }; }, { "page": "page"; }, never, never, false, never>;
42
42
  }
@@ -10,5 +10,5 @@ export declare class NggProgressCircleComponent {
10
10
  /** progress circle value in percentage */
11
11
  set value(val: number);
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<NggProgressCircleComponent, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<NggProgressCircleComponent, "ngg-progress-circle", never, { "id": "id"; "theme": "theme"; "value": "value"; }, {}, never, ["*"], false, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<NggProgressCircleComponent, "ngg-progress-circle", never, { "id": { "alias": "id"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, ["*"], false, never>;
14
14
  }
@@ -7,5 +7,5 @@ export interface SegmentedControl {
7
7
  export declare class NggSegmentedControlComponent {
8
8
  $controls: Observable<Array<SegmentedControl>> | undefined;
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<NggSegmentedControlComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<NggSegmentedControlComponent, "ngg-segmented-control", never, { "$controls": "$controls"; }, {}, never, never, false, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<NggSegmentedControlComponent, "ngg-segmented-control", never, { "$controls": { "alias": "$controls"; "required": false; }; }, {}, never, never, false, never>;
11
11
  }
@@ -33,6 +33,6 @@ export declare class NggSliderComponent implements ControlValueAccessor, OnInit,
33
33
  registerOnChange(fn: any): void;
34
34
  registerOnTouched(fn: any): void;
35
35
  static ɵfac: i0.ɵɵFactoryDeclaration<NggSliderComponent, never>;
36
- static ɵcmp: i0.ɵɵComponentDeclaration<NggSliderComponent, "ngg-slider", never, { "name": "name"; "min": "min"; "max": "max"; "step": "step"; "label": "label"; "instruction": "instruction"; "placeholder": "placeholder"; "errorMessage": "errorMessage"; "hasTextbox": "hasTextbox"; "unitLabel": "unitLabel"; "disabled": "disabled"; "value": "value"; "enterkeyhint": "enterkeyhint"; }, { "sliderChange": "sliderChange"; "sliderTouch": "sliderTouch"; }, never, never, false, never>;
36
+ static ɵcmp: i0.ɵɵComponentDeclaration<NggSliderComponent, "ngg-slider", never, { "name": { "alias": "name"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "label": { "alias": "label"; "required": false; }; "instruction": { "alias": "instruction"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "hasTextbox": { "alias": "hasTextbox"; "required": false; }; "unitLabel": { "alias": "unitLabel"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; "enterkeyhint": { "alias": "enterkeyhint"; "required": false; }; }, { "sliderChange": "sliderChange"; "sliderTouch": "sliderTouch"; }, never, never, false, never>;
37
37
  }
38
38
  export {};
@@ -87,5 +87,5 @@ export declare class NggSortableListComponent {
87
87
  */
88
88
  itemHasFocus(groupIndex: number, itemIndex: number): boolean;
89
89
  static ɵfac: i0.ɵɵFactoryDeclaration<NggSortableListComponent, never>;
90
- static ɵcmp: i0.ɵɵComponentDeclaration<NggSortableListComponent, "ngg-sortable-list", never, { "groups": "groups"; "shouldDisplayCheckboxes": "shouldDisplayCheckboxes"; "isReadOnly": "isReadOnly"; "isDraggable": "isDraggable"; "description": "description"; "suffixTemplate": "suffixTemplate"; }, { "itemSelectionChanged": "itemSelectionChanged"; "itemOrderChanged": "itemOrderChanged"; }, never, never, false, never>;
90
+ static ɵcmp: i0.ɵɵComponentDeclaration<NggSortableListComponent, "ngg-sortable-list", never, { "groups": { "alias": "groups"; "required": false; }; "shouldDisplayCheckboxes": { "alias": "shouldDisplayCheckboxes"; "required": false; }; "isReadOnly": { "alias": "isReadOnly"; "required": false; }; "isDraggable": { "alias": "isDraggable"; "required": false; }; "description": { "alias": "description"; "required": false; }; "suffixTemplate": { "alias": "suffixTemplate"; "required": false; }; }, { "itemSelectionChanged": "itemSelectionChanged"; "itemOrderChanged": "itemOrderChanged"; }, never, never, false, never>;
91
91
  }
@@ -1,80 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output, } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- export class NggBadgeComponent {
5
- //eslint-disable-next-line
6
- constructor() {
7
- /** The color of the component */
8
- this.badgeType = '';
9
- /** Callback when component is dismissed */
10
- this.handleClose = new EventEmitter();
11
- }
12
- /** Flag whether the component can be dismissed */
13
- set isCloseable(value) {
14
- this._isCloseable = value;
15
- }
16
- get isCloseable() {
17
- return this._isCloseable === '' || !!this._isCloseable;
18
- }
19
- get class() {
20
- return ['badge', this.badgeType].join(' ');
21
- }
22
- ngOnInit() {
23
- if (!!this.customColor || !!this.customBackgroundColor) {
24
- this.badgeType = '';
25
- }
26
- }
27
- close(e) {
28
- this.handleClose.emit(e);
29
- }
30
- }
31
- NggBadgeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
- NggBadgeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NggBadgeComponent, selector: "[ngg-badge]", inputs: { badgeType: "badgeType", isCloseable: "isCloseable", closeText: "closeText", customColor: "customColor", customBackgroundColor: "customBackgroundColor" }, outputs: { handleClose: "handleClose" }, host: { properties: { "style.color": "this.customColor", "style.background-color": "this.customBackgroundColor", "class": "this.class" } }, ngImport: i0, template: `
33
- <strong>
34
- <ng-content></ng-content>
35
- </strong>
36
- <button *ngIf="isCloseable" class="close" (click)="close($event)">
37
- {{ closeText }}
38
- <i></i>
39
- </button>
40
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggBadgeComponent, decorators: [{
42
- type: Component,
43
- args: [{
44
- // we need to disable this warning since we don't want the badge component to create a new element
45
- // eslint-disable-next-line @angular-eslint/component-selector
46
- selector: '[ngg-badge]',
47
- template: `
48
- <strong>
49
- <ng-content></ng-content>
50
- </strong>
51
- <button *ngIf="isCloseable" class="close" (click)="close($event)">
52
- {{ closeText }}
53
- <i></i>
54
- </button>
55
- `,
56
- changeDetection: ChangeDetectionStrategy.OnPush,
57
- }]
58
- }], ctorParameters: function () { return []; }, propDecorators: { badgeType: [{
59
- type: Input
60
- }], isCloseable: [{
61
- type: Input
62
- }], closeText: [{
63
- type: Input
64
- }], customColor: [{
65
- type: HostBinding,
66
- args: ['style.color']
67
- }, {
68
- type: Input
69
- }], customBackgroundColor: [{
70
- type: HostBinding,
71
- args: ['style.background-color']
72
- }, {
73
- type: Input
74
- }], class: [{
75
- type: HostBinding,
76
- args: ['class']
77
- }], handleClose: [{
78
- type: Output
79
- }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvYmFkZ2UvYmFkZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTs7O0FBa0J0QixNQUFNLE9BQU8saUJBQWlCO0lBMEI1QiwwQkFBMEI7SUFDMUI7UUExQkEsaUNBQWlDO1FBQ3hCLGNBQVMsR0FBb0IsRUFBRSxDQUFBO1FBbUJ4QywyQ0FBMkM7UUFDakMsZ0JBQVcsR0FBd0IsSUFBSSxZQUFZLEVBQUUsQ0FBQTtJQUtoRCxDQUFDO0lBeEJoQixrREFBa0Q7SUFDbEQsSUFBYSxXQUFXLENBQUMsS0FBbUI7UUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUE7SUFDM0IsQ0FBQztJQUNELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUE7SUFDeEQsQ0FBQztJQVFELElBQTBCLEtBQUs7UUFDN0IsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzVDLENBQUM7SUFVRCxRQUFRO1FBQ04sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQ3RELElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFBO1NBQ3BCO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxDQUFRO1FBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDMUIsQ0FBQzs7OEdBckNVLGlCQUFpQjtrR0FBakIsaUJBQWlCLDRZQVhsQjs7Ozs7Ozs7R0FRVDsyRkFHVSxpQkFBaUI7a0JBZjdCLFNBQVM7bUJBQUM7b0JBQ1Qsa0dBQWtHO29CQUNsRyw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUU7Ozs7Ozs7O0dBUVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzBFQUdVLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRU8sV0FBVztzQkFBdkIsS0FBSztnQkFPRyxTQUFTO3NCQUFqQixLQUFLO2dCQUUrQixXQUFXO3NCQUEvQyxXQUFXO3VCQUFDLGFBQWE7O3NCQUFHLEtBQUs7Z0JBRWMscUJBQXFCO3NCQUFwRSxXQUFXO3VCQUFDLHdCQUF3Qjs7c0JBQUcsS0FBSztnQkFFbkIsS0FBSztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPO2dCQUtWLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCYWRnZVR5cGUgfSBmcm9tICdAc2ViZ3JvdXAvZXh0cmFjdCdcblxuQENvbXBvbmVudCh7XG4gIC8vIHdlIG5lZWQgdG8gZGlzYWJsZSB0aGlzIHdhcm5pbmcgc2luY2Ugd2UgZG9uJ3Qgd2FudCB0aGUgYmFkZ2UgY29tcG9uZW50IHRvIGNyZWF0ZSBhIG5ldyBlbGVtZW50XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW25nZy1iYWRnZV0nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxzdHJvbmc+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9zdHJvbmc+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImlzQ2xvc2VhYmxlXCIgY2xhc3M9XCJjbG9zZVwiIChjbGljayk9XCJjbG9zZSgkZXZlbnQpXCI+XG4gICAgICB7eyBjbG9zZVRleHQgfX1cbiAgICAgIDxpPjwvaT5cbiAgICA8L2J1dHRvbj5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ0JhZGdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqIFRoZSBjb2xvciBvZiB0aGUgY29tcG9uZW50ICovXG4gIEBJbnB1dCgpIGJhZGdlVHlwZT86IEJhZGdlVHlwZSB8ICcnID0gJydcbiAgLyoqIEZsYWcgd2hldGhlciB0aGUgY29tcG9uZW50IGNhbiBiZSBkaXNtaXNzZWQgKi9cbiAgQElucHV0KCkgc2V0IGlzQ2xvc2VhYmxlKHZhbHVlOiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLl9pc0Nsb3NlYWJsZSA9IHZhbHVlXG4gIH1cbiAgZ2V0IGlzQ2xvc2VhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0Nsb3NlYWJsZSA9PT0gJycgfHwgISF0aGlzLl9pc0Nsb3NlYWJsZVxuICB9XG4gIC8qKiBDbG9zZSB0ZXh0ICovXG4gIEBJbnB1dCgpIGNsb3NlVGV4dD86IHN0cmluZ1xuICAvKiogQ3VzdG9tIHRleHQgY29sb3IgKi9cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5jb2xvcicpIEBJbnB1dCgpIGN1c3RvbUNvbG9yPzogc3RyaW5nXG4gIC8qKiBDdXN0b20gYmFja2dyb3VuZCBjb2xvciAqL1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmJhY2tncm91bmQtY29sb3InKSBASW5wdXQoKSBjdXN0b21CYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmdcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IGNsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFsnYmFkZ2UnLCB0aGlzLmJhZGdlVHlwZV0uam9pbignICcpXG4gIH1cblxuICAvKiogQ2FsbGJhY2sgd2hlbiBjb21wb25lbnQgaXMgZGlzbWlzc2VkICovXG4gIEBPdXRwdXQoKSBoYW5kbGVDbG9zZTogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIHByaXZhdGUgX2lzQ2xvc2VhYmxlPzogYm9vbGVhbiB8ICcnXG5cbiAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghIXRoaXMuY3VzdG9tQ29sb3IgfHwgISF0aGlzLmN1c3RvbUJhY2tncm91bmRDb2xvcikge1xuICAgICAgdGhpcy5iYWRnZVR5cGUgPSAnJ1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlKGU6IEV2ZW50KSB7XG4gICAgdGhpcy5oYW5kbGVDbG9zZS5lbWl0KGUpXG4gIH1cbn1cbiJdfQ==
@@ -1,138 +0,0 @@
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
- constructor(_cdr) {
11
- this._cdr = _cdr;
12
- this.id = randomId();
13
- this.isValid = null;
14
- this.valueChange = new EventEmitter();
15
- DatepickerTransStyles.register();
16
- }
17
- get options() {
18
- return this._options;
19
- }
20
- set options(value) {
21
- this._options = value;
22
- }
23
- get showWeekNumbers() {
24
- return this.options?.showWeeks ?? false;
25
- }
26
- get dateFormat() {
27
- return this.options?.dateFormat ?? 'y-m-d';
28
- }
29
- get value() {
30
- return this._value;
31
- }
32
- set value(newValue) {
33
- if (typeof newValue === 'string') {
34
- newValue = new Date(newValue);
35
- }
36
- if (newValue !== this._value) {
37
- this._value = newValue || undefined;
38
- }
39
- }
40
- get min() {
41
- const minDate = this.options?.minDate;
42
- return minDate ? minDate : new Date(new Date().getFullYear() - 10, 0, 1);
43
- }
44
- get max() {
45
- const maxDate = this.options?.maxDate;
46
- return maxDate ? maxDate : new Date(new Date().getFullYear() + 10, 0, 1);
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
- }
68
- NggDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDatepickerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
69
- NggDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", 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: [
70
- {
71
- provide: NG_VALUE_ACCESSOR,
72
- useExisting: NggDatepickerComponent,
73
- multi: true,
74
- },
75
- ], 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 });
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBR0wsaUJBQWlCLEdBR2xCLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBRS9DLE9BQU8scURBQXFELENBQUE7QUFDNUQsT0FBTyxLQUFLLHFCQUFxQixNQUFNLHVFQUF1RSxDQUFBOzs7QUF5QzlHLE1BQU0sT0FBTyxzQkFBc0I7SUEwRGpDLFlBQW9CLElBQXVCO1FBQXZCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBckJsQyxPQUFFLEdBQVksUUFBUSxFQUFFLENBQUE7UUFFeEIsWUFBTyxHQUFtQixJQUFJLENBQUE7UUFDcEIsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQW1CekUscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDbEMsQ0FBQztJQXBERCxJQUNJLE9BQU87UUFDVCxPQUEwQixJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ3pDLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUF3QjtRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQTtJQUN2QixDQUFDO0lBRUQs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QUssRUFBRSxHQUFHLEVBQUU7WUFDL0IsT0FBTztnQkFDTCxTQUFTLEVBQUU7b0JBQ1QsT0FBTyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO29CQUM1QixVQUFVLEVBQUUsT0FBTztpQkFDcEI7YUFDRixDQUFBO1NBQ0Y7UUFFRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvckZuLFxufSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IHJhbmRvbUlkIH0gZnJvbSAnQHNlYmdyb3VwL2V4dHJhY3QnXG5pbXBvcnQgeyBlbmRPZkRheSwgc3RhcnRPZkRheSB9IGZyb20gJ2RhdGUtZm5zJ1xuXG5pbXBvcnQgJ0BzZWJncm91cC9ncmVlbi1jb3JlL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9pbmRleC5qcydcbmltcG9ydCAqIGFzIERhdGVwaWNrZXJUcmFuc1N0eWxlcyBmcm9tICdAc2ViZ3JvdXAvZ3JlZW4tY29yZS9jb21wb25lbnRzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci50cmFucy5zdHlsZXMuanMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgQXR0cmlidXRlcyB7XG4gIGlkPzogc3RyaW5nXG4gIHJvbGU/OiBzdHJpbmdcbiAgc3R5bGU/OiBDU1NTdHlsZURlY2xhcmF0aW9uXG4gIHRhYkluZGV4PzogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWxlbWVudFByb3BzIHtcbiAgYXR0cmlidXRlczogQXR0cmlidXRlc1xuICBjbGFzc2VzOiBzdHJpbmdbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGVwaWNrZXJPcHRpb25zIHtcbiAgbGFiZWw/OiBzdHJpbmdcbiAgbG9jYWxlPzogc3RyaW5nXG4gIGN1cnJlbnREYXRlPzogRGF0ZSB8IHN0cmluZ1xuICBzZWxlY3RlZERhdGU/OiBEYXRlIHwgc3RyaW5nXG4gIGNsb3NlT25TZWxlY3Q/OiBib29sZWFuXG4gIHVzZUN1cnJlbnRUaW1lPzogYm9vbGVhblxuICB3ZWVrTmFtZT86IHsgYWJicjogc3RyaW5nOyBkaXNwbGF5VGV4dDogc3RyaW5nIH1cbiAgc2hvd1dlZWtzPzogYm9vbGVhblxuICBtaW5EYXRlPzogRGF0ZVxuICBtYXhEYXRlPzogRGF0ZVxuICBkYXRlRm9ybWF0Pzogc3RyaW5nXG4gIG9uQ2hhbmdlPzogKHNlbGVjdGVkRGF0ZTogRGF0ZSkgPT4gdm9pZFxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ2ctZGF0ZXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IE5nZ0RhdGVwaWNrZXJDb21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmdnRGF0ZXBpY2tlckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0XG57XG4gIEBJbnB1dCgpIHNpemU/OiAnc21hbGwnIHwgJ21lZGl1bSdcbiAgQElucHV0KCkgaGlkZUxhYmVsPzogYm9vbGVhblxuICBASW5wdXQoKSBkaXNhYmxlZFdlZWtlbmRzPzogYm9vbGVhblxuICBASW5wdXQoKSBkaXNhYmxlZERhdGVzPzogRGF0ZVtdXG5cbiAgQElucHV0KClcbiAgZ2V0IG9wdGlvbnMoKTogRGF0ZXBpY2tlck9wdGlvbnMge1xuICAgIHJldHVybiA8RGF0ZXBpY2tlck9wdGlvbnM+dGhpcy5fb3B0aW9uc1xuICB9XG4gIHNldCBvcHRpb25zKHZhbHVlOiBEYXRlcGlja2VyT3B0aW9ucykge1xuICAgIHRoaXMuX29wdGlvbnMgPSB2YWx1ZVxuICB9XG5cbiAgZ2V0IHNob3dXZWVrTnVtYmVycygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zPy5zaG93V2Vla3MgPz8gZmFsc2VcbiAgfVxuXG4gIGdldCBkYXRlRm9ybWF0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucz8uZGF0ZUZvcm1hdCA/PyAneS1tLWQnXG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgdmFsdWUoKTogc3RyaW5nIHwgRGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlXG4gIH1cbiAgc2V0IHZhbHVlKG5ld1ZhbHVlOiBzdHJpbmcgfCBEYXRlIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHR5cGVvZiBuZXdWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIG5ld1ZhbHVlID0gbmV3IERhdGUobmV3VmFsdWUpXG4gICAgfVxuICAgIGlmIChuZXdWYWx1ZSAhPT0gdGhpcy5fdmFsdWUpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gbmV3VmFsdWUgfHwgdW5kZWZpbmVkXG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgaWQ/OiBzdHJpbmcgPSByYW5kb21JZCgpXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nXG4gIEBJbnB1dCgpIGlzVmFsaWQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbFxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcblxuICBvbkNoYW5nZUZuPzogKHZhbHVlOiBhbnkpID0+IHZvaWRcbiAgb25Ub3VjaGVkRm4/OiBhbnlcblxuICBfdmFsdWU6IERhdGUgfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSBfb3B0aW9ucz86IERhdGVwaWNrZXJPcHRpb25zXG5cbiAgZ2V0IG1pbigpOiBEYXRlIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBtaW5EYXRlID0gdGhpcy5vcHRpb25zPy5taW5EYXRlXG4gICAgcmV0dXJuIG1pbkRhdGUgPyBtaW5EYXRlIDogbmV3IERhdGUobmV3IERhdGUoKS5nZXRGdWxsWWVhcigpIC0gMTAsIDAsIDEpXG4gIH1cblxuICBnZXQgbWF4KCk6IERhdGUgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IG1heERhdGUgPSB0aGlzLm9wdGlvbnM/Lm1heERhdGVcbiAgICByZXR1cm4gbWF4RGF0ZSA/IG1heERhdGUgOiBuZXcgRGF0ZShuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkgKyAxMCwgMCwgMSlcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBEYXRlcGlja2VyVHJhbnNTdHlsZXMucmVnaXN0ZXIoKVxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlXG4gICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZUZuID0gZm5cbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZEZuID0gZm5cbiAgfVxuXG4gIG9uRGF0ZUNoYW5nZShldnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgZSA9IGV2dCBhcyBDdXN0b21FdmVudFxuXG4gICAgdGhpcy52YWx1ZSA9IGUuZGV0YWlsLnZhbHVlXG5cbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoZS5kZXRhaWwudmFsdWUpXG4gICAgdGhpcy5vbkNoYW5nZUZuICYmIHRoaXMub25DaGFuZ2VGbihlLmRldGFpbC52YWx1ZSlcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGVWYWxpZGF0b3IoZGF0ZXM/OiB7IG1pbj86IERhdGU7IG1heD86IERhdGUgfSk6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlXG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgY29uc3QgbmV3RGF0ZSA9IG5ldyBEYXRlKHZhbHVlKVxuICAgIGNvbnN0IGlzVmFsaWREYXRlID0gIWlzTmFOKG5ld0RhdGUuZ2V0VGltZSgpKVxuICAgIGlmICghaXNWYWxpZERhdGUpIHtcbiAgICAgIHJldHVybiB7IHZhbGlkRGF0ZTogdHJ1ZSB9XG4gICAgfVxuXG4gICAgY29uc3QgdmFsaWRNaW5EYXRlID0gZGF0ZXM/Lm1pbiA/IG5ld0RhdGUgPj0gc3RhcnRPZkRheShkYXRlcy5taW4pIDogdHJ1ZVxuICAgIGNvbnN0IHZhbGlkTWF4RGF0ZSA9IGRhdGVzPy5tYXggPyBuZXdEYXRlIDw9IGVuZE9mRGF5KGRhdGVzLm1heCkgOiB0cnVlXG5cbiAgICBpZiAoIXZhbGlkTWluRGF0ZSAmJiBkYXRlcz8ubWluKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB2YWxpZERhdGU6IHtcbiAgICAgICAgICBtaW5EYXRlOiBzdGFydE9mRGF5KGRhdGVzLm1pbiksXG4gICAgICAgICAgYWN0dWFsRGF0ZTogbmV3RGF0ZSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCF2YWxpZE1heERhdGUgJiYgZGF0ZXM/Lm1heCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdmFsaWREYXRlOiB7XG4gICAgICAgICAgbWF4RGF0ZTogZW5kT2ZEYXkoZGF0ZXMubWF4KSxcbiAgICAgICAgICBhY3R1YWxEYXRlOiBuZXdEYXRlLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gIDxnZHMtZGF0ZXBpY2tlclxuICAgICpuZ2dDb3JlRWxlbWVudFxuICAgIFthdHRyLmlkXT1cImlkXCJcbiAgICBbbGFiZWxdPVwibGFiZWxcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgKGNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW2ludmFsaWRdPVwiaXNWYWxpZCA9PT0gZmFsc2VcIlxuICAgIFttaW5dPVwibWluXCJcbiAgICBbbWF4XT1cIm1heFwiXG4gICAgW3Nob3dXZWVrTnVtYmVyc109XCJzaG93V2Vla051bWJlcnNcIlxuICAgIFtkYXRlZm9ybWF0XT1cImRhdGVGb3JtYXRcIlxuICAgIFtzaXplXT1cInNpemVcIlxuICAgIFtoaWRlTGFiZWxdPVwiaGlkZUxhYmVsXCJcbiAgICBbZGlzYWJsZWRXZWVrZW5kc109XCJkaXNhYmxlZFdlZWtlbmRzXCJcbiAgICBbZGlzYWJsZWREYXRlc109XCJkaXNhYmxlZERhdGVzXCJcbiAgPlxuICAgIDxzcGFuIHNsb3Q9XCJtZXNzYWdlXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZGF0YS1mb3JtLWluZm9dXCI+PC9uZy1jb250ZW50PlxuICAgIDwvc3Bhbj5cbiAgPC9nZHMtZGF0ZXBpY2tlcj5cbjwvZGl2PlxuIl19
@@ -1,212 +0,0 @@
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
- constructor(injector, _cdr) {
12
- this.injector = injector;
13
- this._cdr = _cdr;
14
- this.loop = false;
15
- this.display = 'label';
16
- this.useValue = 'value';
17
- this._multiSelect = false;
18
- this._searchable = false;
19
- this.valueChange = new EventEmitter();
20
- this.touched = new EventEmitter();
21
- this.onValueChange = (event) => {
22
- const target = event.target;
23
- this._value = target.value;
24
- this.texts = {
25
- ...this.texts,
26
- select: this.displayTextByValue(this._value),
27
- };
28
- this.onChangeFn?.(this.value);
29
- this.valueChange.emit(this.value);
30
- this._cdr.detectChanges();
31
- };
32
- // These adapter functions are used to maintain backwards compatibility with the old interface
33
- this.compareWithAdapter = (o1, o2) => {
34
- const compareFn = this.compareWith || ((a, b) => a === b);
35
- return compareFn(o1, o2);
36
- };
37
- this.searchFilterAdapter = (q, o) => {
38
- if (this.searchFilter)
39
- return this.searchFilter(q, o.value);
40
- else
41
- return ((q, o) => o.innerHTML.toLowerCase().includes(q.toLowerCase()))(q, o);
42
- };
43
- this.optionByValue = (value) => {
44
- return this.options?.find((o) => o[this.useValue] === value);
45
- };
46
- this.displayTextByValue = (value) => {
47
- if (!Array.isArray(value))
48
- return (this.optionByValue(value)?.[this.display] ||
49
- (this.texts?.placeholder ?? 'Select'));
50
- const displayValues = value.map((v) => this.optionByValue(v)?.[this.display]);
51
- return displayValues?.length > 2
52
- ? `${displayValues.length} ${this.texts?.selected} `
53
- : displayValues?.join(', ') || (this.texts?.placeholder ?? 'Select');
54
- };
55
- DropdownTransStyles.register();
56
- }
57
- //
58
- set options(value) {
59
- this._options = value;
60
- this.texts = {
61
- ...this.texts,
62
- select: this.displayTextByValue(this._value),
63
- };
64
- }
65
- get options() {
66
- return this._options;
67
- }
68
- //
69
- set multiSelect(value) {
70
- this._multiSelect = this.convertToBoolean(value);
71
- }
72
- get multiSelect() {
73
- return this._multiSelect;
74
- }
75
- //
76
- set searchable(value) {
77
- this._searchable = this.convertToBoolean(value);
78
- }
79
- get searchable() {
80
- return this._searchable;
81
- }
82
- //
83
- set value(newValue) {
84
- if (!this.options)
85
- return;
86
- this._value = newValue;
87
- this.texts = {
88
- ...this.texts,
89
- select: this.displayTextByValue(this._value),
90
- };
91
- }
92
- get value() {
93
- return this._value;
94
- }
95
- //
96
- get selectedOption() {
97
- return Array.isArray(this.value)
98
- ? this.value.map((v) => this.optionByValue(v))
99
- : this.optionByValue(this.value);
100
- }
101
- get control() {
102
- return this.injector.get(NgControl);
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
- }
140
- NggDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDropdownComponent, deps: [{ token: Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
141
- NggDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", 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: [
142
- {
143
- provide: NG_VALUE_ACCESSOR,
144
- useExisting: NggDropdownComponent,
145
- multi: true,
146
- },
147
- ], 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 });
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUV2QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUV4RSxPQUFPLG1EQUFtRCxDQUFBO0FBTTFELE9BQU8sS0FBSyxtQkFBbUIsTUFBTSxtRUFBbUUsQ0FBQTs7OztBQWtDeEcsTUFBTSxPQUFPLG9CQUFvQjtJQTJHL0IsWUFDNEIsUUFBa0IsRUFDcEMsSUFBdUI7UUFETCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3BDLFNBQUksR0FBSixJQUFJLENBQW1CO1FBMUd4QixTQUFJLEdBQWEsS0FBSyxDQUFBO1FBQ3RCLFlBQU8sR0FBRyxPQUFPLENBQUE7UUFDakIsYUFBUSxHQUFHLE9BQU8sQ0FBQTtRQWtDbkIsaUJBQVksR0FBRyxLQUFLLENBQUE7UUFTcEIsZ0JBQVcsR0FBRyxLQUFLLENBQUE7UUE0QlIsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUN4RCxZQUFPLEdBQ3hCLElBQUks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UzsrQkFDRSxjQUFjLGFBR2I7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxzQkFBc0I7NEJBQ2pDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNOzswQkE4RzVDLE1BQU07MkJBQUMsUUFBUTs0RUEzR1QsRUFBRTtzQkFBVixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBR08sT0FBTztzQkFBbkIsS0FBSztnQkFhTyxXQUFXO3NCQUF2QixLQUFLO2dCQVNPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBU08sS0FBSztzQkFBakIsS0FBSztnQkF5QmEsV0FBVztzQkFBN0IsTUFBTTtnQkFDWSxPQUFPO3NCQUF6QixNQUFNO2dCQUlQLFlBQVk7c0JBRFgsWUFBWTt1QkFBQywwQkFBMEI7Z0JBSXhDLFlBQVk7c0JBRFgsWUFBWTt1QkFBQywwQkFBMEI7Z0JBR0ssV0FBVztzQkFBdkQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOZ0NvbnRyb2wsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxufSBmcm9tICdAYW5ndWxhci9mb3JtcydcblxuaW1wb3J0IHsgTmdnRHJvcGRvd25PcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2Ryb3Bkb3duLW9wdGlvbi5kaXJlY3RpdmUnXG5pbXBvcnQgeyBOZ2dEcm9wZG93bkJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcGRvd24tYnV0dG9uLmRpcmVjdGl2ZSdcblxuaW1wb3J0ICdAc2ViZ3JvdXAvZ3JlZW4tY29yZS9jb21wb25lbnRzL2Ryb3Bkb3duL2luZGV4LmpzJ1xuaW1wb3J0IHR5cGUge1xuICBHZHNEcm9wZG93bixcbiAgR2RzT3B0aW9uLFxufSBmcm9tICdAc2ViZ3JvdXAvZ3JlZW4tY29yZS9jb21wb25lbnRzL2Ryb3Bkb3duL2luZGV4LmpzJ1xuXG5pbXBvcnQgKiBhcyBEcm9wZG93blRyYW5zU3R5bGVzIGZyb20gJ0BzZWJncm91cC9ncmVlbi1jb3JlL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24udHJhbnMuc3R5bGVzLmpzJ1xuXG5leHBvcnQgdHlwZSBDb21wYXJlV2l0aDxUID0gYW55PiA9IChvMTogVCwgbzI6IFQpID0+IGJvb2xlYW5cbmV4cG9ydCB0eXBlIFNlYXJjaEZpbHRlcjxUID0gYW55PiA9IChzZWFyY2g6IHN0cmluZywgdmFsdWU6IFQpID0+IGJvb2xlYW5cbmV4cG9ydCB0eXBlIERyb3Bkb3duUGxhY2VtZW50cyA9ICdib3R0b20tc3RhcnQnIHwgJ3RvcC1zdGFydCdcbmV4cG9ydCBpbnRlcmZhY2UgRHJvcGRvd25UZXh0cyB7XG4gIHNlbGVjdD86IHN0cmluZ1xuICBzZWxlY3RlZD86IHN0cmluZ1xuICBwbGFjZWhvbGRlcj86IHN0cmluZ1xuICBzZWFyY2hQbGFjZWhvbGRlcj86IHN0cmluZ1xuICBjbG9zZT86IHN0cmluZ1xuICBvcHRpb25zRGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRHJvcGRvd25PcHRpb24ge1xuICBsYWJlbD86IHN0cmluZ1xuICB2YWx1ZT86IGFueVxuICBzZWxlY3RlZD86IGJvb2xlYW5cbiAgaGVhZGluZz86IGJvb2xlYW5cbiAgW2tleTogc3RyaW5nXTogYW55XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nZy1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogTmdnRHJvcGRvd25Db21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmdnRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcbiAgQElucHV0KCkgaWQ/OiBzdHJpbmdcbiAgQElucHV0KCkgdGV4dHM/OiBEcm9wZG93blRleHRzXG4gIEBJbnB1dCgpIGxvb3A/OiBib29sZWFuID0gZmFsc2VcbiAgQElucHV0KCkgZGlzcGxheSA9ICdsYWJlbCdcbiAgQElucHV0KCkgdXNlVmFsdWUgPSAndmFsdWUnXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nXG4gIEBJbnB1dCgpIHZhbGlkPzogYm9vbGVhblxuICBASW5wdXQoKSBpbnZhbGlkPzogYm9vbGVhblxuICBASW5wdXQoKSBjb21wYXJlV2l0aD86IENvbXBhcmVXaXRoXG4gIEBJbnB1dCgpIHNlYXJjaEZpbHRlcj86IFNlYXJjaEZpbHRlclxuICBASW5wdXQoKSBzeW5jUG9wb3ZlcldpZHRoPzogYm9vbGVhblxuICBASW5wdXQoKSBzaXplPzogJ3NtYWxsJyB8ICdtZWRpdW0nXG4gIEBJbnB1dCgpIGhpZGVMYWJlbD86IGJvb2xlYW5cbiAgQElucHV0KCkgbWF4SGVpZ2h0PzogbnVtYmVyXG5cbiAgLyoqIEBkZXByZWNhdGVkICovXG4gIEBJbnB1dCgpIGZpeGVkUGxhY2VtZW50PzogRHJvcGRvd25QbGFjZW1lbnRzXG5cbiAgLy9cbiAgQElucHV0KCkgc2V0IG9wdGlvbnModmFsdWU6IERyb3Bkb3duT3B0aW9uW10gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9vcHRpb25zID0gdmFsdWVcbiAgICB0aGlzLnRleHRzID0ge1xuICAgICAgLi4udGhpcy50ZXh0cyxcbiAgICAgIHNlbGVjdDogdGhpcy5kaXNwbGF5VGV4dEJ5VmFsdWUodGhpcy5fdmFsdWUpLFxuICAgIH1cbiAgfVxuICBnZXQgb3B0aW9ucygpOiBEcm9wZG93bk9wdGlvbltdIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9uc1xuICB9XG4gIHByaXZhdGUgX29wdGlvbnM6IERyb3Bkb3duT3B0aW9uW10gfCB1bmRlZmluZWRcblxuICAvL1xuICBASW5wdXQoKSBzZXQgbXVsdGlTZWxlY3QodmFsdWU6IHN0cmluZyB8IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9tdWx0aVNlbGVjdCA9IHRoaXMuY29udmVydFRvQm9vbGVhbih2YWx1ZSlcbiAgfVxuICBnZXQgbXVsdGlTZWxlY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX211bHRpU2VsZWN0XG4gIH1cbiAgcHJpdmF0ZSBfbXVsdGlTZWxlY3QgPSBmYWxzZVxuXG4gIC8vXG4gIEBJbnB1dCgpIHNldCBzZWFyY2hhYmxlKHZhbHVlOiBzdHJpbmcgfCBib29sZWFuKSB7XG4gICAgdGhpcy5fc2VhcmNoYWJsZSA9IHRoaXMuY29udmVydFRvQm9vbGVhbih2YWx1ZSlcbiAgfVxuICBnZXQgc2VhcmNoYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoYWJsZVxuICB9XG4gIHByaXZhdGUgX3NlYXJjaGFibGUgPSBmYWxzZVxuXG4gIC8vXG4gIEBJbnB1dCgpIHNldCB2YWx1ZShuZXdWYWx1ZTogYW55KSB7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMpIHJldHVyblxuXG4gICAgdGhpcy5fdmFsdWUgPSBuZXdWYWx1ZVxuXG4gICAgdGhpcy50ZXh0cyA9IHtcbiAgICAgIC4uLnRoaXMudGV4dHMsXG4gICAgICBzZWxlY3Q6IHRoaXMuZGlzcGxheVRleHRCeVZhbHVlKHRoaXMuX3ZhbHVlKSxcbiAgICB9XG4gIH1cbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlXG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IERyb3Bkb3duT3B0aW9uIHwgRHJvcGRvd25PcHRpb25bXSB8IHVuZGVmaW5lZFxuXG4gIC8vXG4gIGdldCBzZWxlY3RlZE9wdGlvbigpIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKVxuICAgICAgPyB0aGlzLnZhbHVlLm1hcCgodjogYW55KSA9PiB0aGlzLm9wdGlvbkJ5VmFsdWUodikpXG4gICAgICA6IHRoaXMub3B0aW9uQnlWYWx1ZSh0aGlzLnZhbHVlKVxuICB9XG5cbiAgb25DaGFuZ2VGbj86ICh2YWx1ZTogdW5rbm93bikgPT4gdm9pZFxuICBvblRvdWNoZWRGbj86ICgpID0+IHZvaWRcblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHRvdWNoZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpXG5cbiAgQENvbnRlbnRDaGlsZChOZ2dEcm9wZG93bk9wdGlvbkRpcmVjdGl2ZSlcbiAgY3VzdG9tT3B0aW9uPzogTmdnRHJvcGRvd25PcHRpb25EaXJlY3RpdmVcblxuICBAQ29udGVudENoaWxkKE5nZ0Ryb3Bkb3duQnV0dG9uRGlyZWN0aXZlKVxuICBjdXN0b21CdXR0b24/OiBOZ2dEcm9wZG93bkJ1dHRvbkRpcmVjdGl2ZVxuXG4gIEBWaWV3Q2hpbGQoJ2dkc0Ryb3Bkb3duJywgeyBzdGF0aWM6IGZhbHNlIH0pIGdkc0Ryb3Bkb3duPzogRWxlbWVudFJlZlxuXG4gIHB1YmxpYyBvblZhbHVlQ2hhbmdlOiAoZXZlbnQ6IEV2ZW50KSA9PiB2b2lkID0gKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEdkc0Ryb3Bkb3duPERyb3Bkb3duT3B0aW9uPlxuICAgIHRoaXMuX3ZhbHVlID0gdGFyZ2V0LnZhbHVlXG5cbiAgICB0aGlzLnRleHRzID0ge1xuICAgICAgLi4udGhpcy50ZXh0cyxcbiAgICAgIHNlbGVjdDogdGhpcy5kaXNwbGF5VGV4dEJ5VmFsdWUodGhpcy5fdmFsdWUpLFxuICAgIH1cblxuICAgIHRoaXMub25DaGFuZ2VGbj8uKHRoaXMudmFsdWUpXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpXG5cbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cblxuICBnZXQgY29udHJvbCgpOiBOZ0NvbnRyb2wgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wpXG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEluamVjdG9yKSBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICBEcm9wZG93blRyYW5zU3R5bGVzLnJlZ2lzdGVyKClcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fdmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLm11bHRpU2VsZWN0KVxuICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMub3B0aW9uc1xuICAgICAgICAgID8uZmlsdGVyKChvKSA9PiBvLnNlbGVjdGVkID09PSB0cnVlKVxuICAgICAgICAgID8ubWFwKChvKSA9PiBvW3RoaXMudXNlVmFsdWVdKVxuICAgICAgZWxzZVxuICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMub3B0aW9ucz8uZmluZCgobykgPT4gby5zZWxlY3RlZCA9PT0gdHJ1ZSk/LltcbiAgICAgICAgICB0aGlzLnVzZVZhbHVlXG4gICAgICAgIF1cblxuICAgICAgdGhpcy50ZXh0cyA9IHtcbiAgICAgICAgLi4udGhpcy50ZXh0cyxcbiAgICAgICAgc2VsZWN0OiB0aGlzLmRpc3BsYXlUZXh0QnlWYWx1ZSh0aGlzLl92YWx1ZSksXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy50ZXh0cyA9IHtcbiAgICAgIGNsb3NlOiB0aGlzLnRleHRzPy5jbG9zZSA/PyAnQ2xvc2UnLFxuICAgICAgb3B0aW9uc0Rlc2NyaXB0aW9uOiB0aGlzLnRleHRzPy5vcHRpb25zRGVzY3JpcHRpb24gPz8gJ09wdGlvbnMnLFxuICAgICAgcGxhY2Vob2xkZXI6IHRoaXMudGV4dHM/LnBsYWNlaG9sZGVyID8/ICdTZWxlY3QnLFxuICAgICAgc2VhcmNoUGxhY2Vob2xkZXI6IHRoaXMudGV4dHM/LnNlYXJjaFBsYWNlaG9sZGVyID8/ICdTZWFyY2gnLFxuICAgICAgc2VsZWN0ZWQ6IHRoaXMudGV4dHM/LnNlbGVjdGVkID8/ICdzZWxlY3RlZCcsXG4gICAgICBzZWxlY3Q6IHRoaXMuZGlzcGxheVRleHRCeVZhbHVlKHRoaXMuX3ZhbHVlKSxcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWVcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoKSA9PiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZUZuID0gZm5cbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWRGbiA9IGZuXG4gIH1cblxuICAvLyBUaGVzZSBhZGFwdGVyIGZ1bmN0aW9ucyBhcmUgdXNlZCB0byBtYWludGFpbiBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBvbGQgaW50ZXJmYWNlXG4gIGNvbXBhcmVXaXRoQWRhcHRlciA9IChvMTogYW55LCBvMjogYW55KSA9PiB7XG4gICAgY29uc3QgY29tcGFyZUZuID0gdGhpcy5jb21wYXJlV2l0aCB8fCAoKGEsIGIpID0+IGEgPT09IGIpXG4gICAgcmV0dXJuIGNvbXBhcmVGbihvMSwgbzIpXG4gIH1cbiAgc2VhcmNoRmlsdGVyQWRhcHRlciA9IChxOiBzdHJpbmcsIG86IEdkc09wdGlvbikgPT4ge1xuICAgIGlmICh0aGlzLnNlYXJjaEZpbHRlcikgcmV0dXJuIHRoaXMuc2VhcmNoRmlsdGVyKHEsIG8udmFsdWUpXG4gICAgZWxzZVxuICAgICAgcmV0dXJuICgocTogc3RyaW5nLCBvOiBHZHNPcHRpb24pID0+XG4gICAgICAgIG8uaW5uZXJIVE1MLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocS50b0xvd2VyQ2FzZSgpKSkocSwgbylcbiAgfVxuXG4gIHByaXZhdGUgY29udmVydFRvQm9vbGVhbih2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB2YWx1ZSA9PT0gJycgfHwgdmFsdWUgPT09ICd0cnVlJyB8fCB2YWx1ZS50b1N0cmluZygpID09PSAndHJ1ZScgfHwgZmFsc2VcbiAgICApXG4gIH1cblxuICBwcml2YXRlIG9wdGlvbkJ5VmFsdWUgPSAodmFsdWU6IGFueSkgPT4ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnM/LmZpbmQoKG8pID0+IG9bdGhpcy51c2VWYWx1ZV0gPT09IHZhbHVlKVxuICB9XG5cbiAgcHJpdmF0ZSBkaXNwbGF5VGV4dEJ5VmFsdWUgPSAodmFsdWU6IGFueSkgPT4ge1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpXG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLm9wdGlvbkJ5VmFsdWUodmFsdWUpPy5bdGhpcy5kaXNwbGF5XSB8fFxuICAgICAgICAodGhpcy50ZXh0cz8ucGxhY2Vob2xkZXIgPz8gJ1NlbGVjdCcpXG4gICAgICApXG5cbiAgICBjb25zdCBkaXNwbGF5VmFsdWVzID0gdmFsdWUubWFwKFxuICAgICAgKHYpID0+IHRoaXMub3B0aW9uQnlWYWx1ZSh2KT8uW3RoaXMuZGlzcGxheV0sXG4gICAgKVxuICAgIHJldHVybiBkaXNwbGF5VmFsdWVzPy5sZW5ndGggPiAyXG4gICAgICA/IGAke2Rpc3BsYXlWYWx1ZXMubGVuZ3RofSAke3RoaXMudGV4dHM/LnNlbGVjdGVkfSBgXG4gICAgICA6IGRpc3BsYXlWYWx1ZXM/LmpvaW4oJywgJykgfHwgKHRoaXMudGV4dHM/LnBsYWNlaG9sZGVyID8/ICdTZWxlY3QnKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICA8Z2RzLWRyb3Bkb3duXG4gICAgKm5nZ0NvcmVFbGVtZW50XG4gICAgI2dkc0Ryb3Bkb3duXG4gICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICBbc2VhcmNoYWJsZV09XCJzZWFyY2hhYmxlXCJcbiAgICBbbGFiZWxdPVwibGFiZWxcIlxuICAgIChjaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlTZWxlY3RcIlxuICAgIFtpbnZhbGlkXT1cImludmFsaWRcIlxuICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlV2l0aEFkYXB0ZXJcIlxuICAgIFtzZWFyY2hGaWx0ZXJdPVwic2VhcmNoRmlsdGVyQWRhcHRlclwiXG4gICAgW3N5bmNQb3BvdmVyV2lkdGhdPVwic3luY1BvcG92ZXJXaWR0aFwiXG4gICAgW3NpemVdPVwic2l6ZVwiXG4gICAgW2hpZGVMYWJlbF09XCJoaWRlTGFiZWxcIlxuICAgIFttYXhIZWlnaHRdPVwibWF4SGVpZ2h0XCJcbiAgPlxuICAgIDxzcGFuIHNsb3Q9XCJtZXNzYWdlXCIgI2Zvcm1JbmZvXG4gICAgICA+PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2RhdGEtZm9ybS1pbmZvXVwiPjwvbmctY29udGVudFxuICAgID48L3NwYW4+XG5cbiAgICA8c3BhbiBzbG90PVwidHJpZ2dlclwiXG4gICAgICA+PG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgIGN1c3RvbUJ1dHRvbj8udGVtcGxhdGVSZWYgJiYgc2VsZWN0ZWRPcHRpb25cbiAgICAgICAgICAgID8gY3VzdG9tQnV0dG9uIS50ZW1wbGF0ZVJlZlxuICAgICAgICAgICAgOiBkZWZhdWx0QnV0dG9uO1xuICAgICAgICAgIGNvbnRleHQ6IHsgb3B0aW9uOiBzZWxlY3RlZE9wdGlvbiB9XG4gICAgICAgIFwiXG4gICAgICA+PC9uZy1jb250YWluZXJcbiAgICA+PC9zcGFuPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnM7IGxldCBpbmRleCA9IGluZGV4XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW9wdGlvbi5oZWFkaW5nOyBlbHNlIG9wdGlvbkhlYWRpbmdcIj5cbiAgICAgICAgPGdkcy1vcHRpb24gKm5nZ0NvcmVFbGVtZW50IFt2YWx1ZV09XCJvcHRpb25bdXNlVmFsdWVdXCJcbiAgICAgICAgICA+PG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgY3VzdG9tT3B0aW9uPy50ZW1wbGF0ZVJlZlxuICAgICAgICAgICAgICAgID8gY3VzdG9tT3B0aW9uIS50ZW1wbGF0ZVJlZlxuICAgICAgICAgICAgICAgIDogZGVmYXVsdE9wdGlvbjtcbiAgICAgICAgICAgICAgY29udGV4dDogeyBvcHRpb246IG9wdGlvbiwgaW5kZXg6IGluZGV4IH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyXG4gICAgICAgID48L2dkcy1vcHRpb24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjb3B0aW9uSGVhZGluZz5cbiAgICAgICAgPGdkcy1tZW51LWhlYWRpbmcgKm5nZ0NvcmVFbGVtZW50Pnt7IG9wdGlvbi5sYWJlbCB9fTwvZ2RzLW1lbnUtaGVhZGluZz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZ2RzLWRyb3Bkb3duPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEJ1dHRvbiBsZXQtc2VsZWN0ZWQ9XCJvcHRpb25cIj5cbiAgPHNwYW4gY2xhc3M9XCJ0cmlnZ2VyXCI+e3sgdGV4dHM/LnNlbGVjdCB9fTwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdE9wdGlvbiBsZXQtb3B0aW9uPVwib3B0aW9uXCI+XG4gIHt7IGRpc3BsYXkgPyBvcHRpb25bZGlzcGxheV0gOiBvcHRpb24ubmFtZSB9fVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==