@sebgroup/green-angular 0.0.0-v-angular-20250113082841

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 (838) hide show
  1. package/README.md +68 -0
  2. package/esm2022/index.mjs +18 -0
  3. package/esm2022/lib/accordion/accordion-list-item.component.mjs +50 -0
  4. package/esm2022/lib/accordion/accordion.component.mjs +72 -0
  5. package/esm2022/lib/accordion/accordion.module.mjs +19 -0
  6. package/esm2022/lib/accordion/index.mjs +4 -0
  7. package/esm2022/lib/badge/badge.component.mjs +80 -0
  8. package/esm2022/lib/badge/badge.module.mjs +18 -0
  9. package/esm2022/lib/badge/index.mjs +3 -0
  10. package/esm2022/lib/button/button.component.mjs +28 -0
  11. package/esm2022/lib/button/button.module.mjs +18 -0
  12. package/esm2022/lib/button/index.mjs +3 -0
  13. package/esm2022/lib/cell-table/cell-table-item.component.mjs +91 -0
  14. package/esm2022/lib/cell-table/cell-table.component.mjs +97 -0
  15. package/esm2022/lib/cell-table/cell-table.module.mjs +26 -0
  16. package/esm2022/lib/cell-table/cell-table.types.mjs +7 -0
  17. package/esm2022/lib/cell-table/cell-underline.directive.mjs +55 -0
  18. package/esm2022/lib/cell-table/index.mjs +4 -0
  19. package/esm2022/lib/context-menu/context-menu.component.mjs +73 -0
  20. package/esm2022/lib/context-menu/context-menu.module.mjs +20 -0
  21. package/esm2022/lib/context-menu/index.mjs +3 -0
  22. package/esm2022/lib/datepicker/datepicker.component.mjs +138 -0
  23. package/esm2022/lib/datepicker/datepicker.module.mjs +20 -0
  24. package/esm2022/lib/datepicker/index.mjs +3 -0
  25. package/esm2022/lib/dropdown/dropdown-button.directive.mjs +16 -0
  26. package/esm2022/lib/dropdown/dropdown-option.directive.mjs +16 -0
  27. package/esm2022/lib/dropdown/dropdown.component.mjs +222 -0
  28. package/esm2022/lib/dropdown/dropdown.module.mjs +34 -0
  29. package/esm2022/lib/dropdown/index.mjs +5 -0
  30. package/esm2022/lib/green-angular.module.mjs +72 -0
  31. package/esm2022/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +61 -0
  32. package/esm2022/lib/in-page-wizard/in-page-wizard.module.mjs +18 -0
  33. package/esm2022/lib/in-page-wizard/index.mjs +3 -0
  34. package/esm2022/lib/modal/index.mjs +5 -0
  35. package/esm2022/lib/modal/modal-footer.directive.mjs +16 -0
  36. package/esm2022/lib/modal/modal-header.directive.mjs +16 -0
  37. package/esm2022/lib/modal/modal.component.mjs +309 -0
  38. package/esm2022/lib/modal/modal.module.mjs +41 -0
  39. package/esm2022/lib/pagination/index.mjs +3 -0
  40. package/esm2022/lib/pagination/pagination.component.mjs +175 -0
  41. package/esm2022/lib/pagination/pagination.module.mjs +18 -0
  42. package/esm2022/lib/progress-circle/index.mjs +3 -0
  43. package/esm2022/lib/progress-circle/progress-circle.component.mjs +41 -0
  44. package/esm2022/lib/progress-circle/progress-circle.module.mjs +18 -0
  45. package/esm2022/lib/segmented-control/index.mjs +3 -0
  46. package/esm2022/lib/segmented-control/segmented-control.component.mjs +35 -0
  47. package/esm2022/lib/segmented-control/segmented-control.module.mjs +19 -0
  48. package/esm2022/lib/shared/core-element/core-element.directive.mjs +33 -0
  49. package/esm2022/lib/shared/core-element/core-element.module.mjs +18 -0
  50. package/esm2022/lib/shared/core-element/index.mjs +3 -0
  51. package/esm2022/lib/shared/index.mjs +4 -0
  52. package/esm2022/lib/shared/on-scroll.directive.mjs +47 -0
  53. package/esm2022/lib/shared/shared.module.mjs +18 -0
  54. package/esm2022/lib/slider/index.mjs +3 -0
  55. package/esm2022/lib/slider/slider.component.mjs +113 -0
  56. package/esm2022/lib/slider/slider.module.mjs +19 -0
  57. package/esm2022/lib/sortable-list/index.mjs +3 -0
  58. package/esm2022/lib/sortable-list/sortable-list.component.mjs +181 -0
  59. package/esm2022/lib/sortable-list/sortable-list.module.mjs +20 -0
  60. package/esm2022/sebgroup-green-angular.mjs +5 -0
  61. package/esm2022/src/lib/accordion/accordion-list-item.component.mjs +50 -0
  62. package/esm2022/src/lib/accordion/accordion.component.mjs +72 -0
  63. package/esm2022/src/lib/accordion/accordion.module.mjs +19 -0
  64. package/esm2022/src/lib/accordion/index.mjs +4 -0
  65. package/esm2022/src/lib/accordion/sebgroup-green-angular-src-lib-accordion.mjs +5 -0
  66. package/esm2022/src/lib/badge/badge.component.mjs +80 -0
  67. package/esm2022/src/lib/badge/badge.module.mjs +18 -0
  68. package/esm2022/src/lib/badge/index.mjs +3 -0
  69. package/esm2022/src/lib/badge/sebgroup-green-angular-src-lib-badge.mjs +5 -0
  70. package/esm2022/src/lib/button/button.component.mjs +28 -0
  71. package/esm2022/src/lib/button/button.module.mjs +18 -0
  72. package/esm2022/src/lib/button/index.mjs +3 -0
  73. package/esm2022/src/lib/button/sebgroup-green-angular-src-lib-button.mjs +5 -0
  74. package/esm2022/src/lib/cell-table/cell-table-item.component.mjs +91 -0
  75. package/esm2022/src/lib/cell-table/cell-table.component.mjs +97 -0
  76. package/esm2022/src/lib/cell-table/cell-table.module.mjs +26 -0
  77. package/esm2022/src/lib/cell-table/cell-table.types.mjs +7 -0
  78. package/esm2022/src/lib/cell-table/cell-underline.directive.mjs +55 -0
  79. package/esm2022/src/lib/cell-table/index.mjs +4 -0
  80. package/esm2022/src/lib/cell-table/sebgroup-green-angular-src-lib-cell-table.mjs +5 -0
  81. package/esm2022/src/lib/context-menu/context-menu.component.mjs +73 -0
  82. package/esm2022/src/lib/context-menu/context-menu.module.mjs +20 -0
  83. package/esm2022/src/lib/context-menu/index.mjs +3 -0
  84. package/esm2022/src/lib/context-menu/sebgroup-green-angular-src-lib-context-menu.mjs +5 -0
  85. package/esm2022/src/lib/datepicker/datepicker.component.mjs +138 -0
  86. package/esm2022/src/lib/datepicker/datepicker.module.mjs +20 -0
  87. package/esm2022/src/lib/datepicker/index.mjs +3 -0
  88. package/esm2022/src/lib/datepicker/sebgroup-green-angular-src-lib-datepicker.mjs +5 -0
  89. package/esm2022/src/lib/dropdown/dropdown-button.directive.mjs +16 -0
  90. package/esm2022/src/lib/dropdown/dropdown-option.directive.mjs +16 -0
  91. package/esm2022/src/lib/dropdown/dropdown.component.mjs +222 -0
  92. package/esm2022/src/lib/dropdown/dropdown.module.mjs +34 -0
  93. package/esm2022/src/lib/dropdown/index.mjs +5 -0
  94. package/esm2022/src/lib/dropdown/sebgroup-green-angular-src-lib-dropdown.mjs +5 -0
  95. package/esm2022/src/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +61 -0
  96. package/esm2022/src/lib/in-page-wizard/in-page-wizard.module.mjs +18 -0
  97. package/esm2022/src/lib/in-page-wizard/index.mjs +3 -0
  98. package/esm2022/src/lib/in-page-wizard/sebgroup-green-angular-src-lib-in-page-wizard.mjs +5 -0
  99. package/esm2022/src/lib/modal/index.mjs +5 -0
  100. package/esm2022/src/lib/modal/modal-footer.directive.mjs +16 -0
  101. package/esm2022/src/lib/modal/modal-header.directive.mjs +16 -0
  102. package/esm2022/src/lib/modal/modal.component.mjs +309 -0
  103. package/esm2022/src/lib/modal/modal.module.mjs +41 -0
  104. package/esm2022/src/lib/modal/sebgroup-green-angular-src-lib-modal.mjs +5 -0
  105. package/esm2022/src/lib/pagination/index.mjs +3 -0
  106. package/esm2022/src/lib/pagination/pagination.component.mjs +175 -0
  107. package/esm2022/src/lib/pagination/pagination.module.mjs +18 -0
  108. package/esm2022/src/lib/pagination/sebgroup-green-angular-src-lib-pagination.mjs +5 -0
  109. package/esm2022/src/lib/progress-circle/index.mjs +3 -0
  110. package/esm2022/src/lib/progress-circle/progress-circle.component.mjs +41 -0
  111. package/esm2022/src/lib/progress-circle/progress-circle.module.mjs +18 -0
  112. package/esm2022/src/lib/progress-circle/sebgroup-green-angular-src-lib-progress-circle.mjs +5 -0
  113. package/esm2022/src/lib/segmented-control/index.mjs +3 -0
  114. package/esm2022/src/lib/segmented-control/sebgroup-green-angular-src-lib-segmented-control.mjs +5 -0
  115. package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +35 -0
  116. package/esm2022/src/lib/segmented-control/segmented-control.module.mjs +19 -0
  117. package/esm2022/src/lib/shared/core-element/core-element.directive.mjs +33 -0
  118. package/esm2022/src/lib/shared/core-element/core-element.module.mjs +18 -0
  119. package/esm2022/src/lib/shared/core-element/index.mjs +3 -0
  120. package/esm2022/src/lib/shared/index.mjs +4 -0
  121. package/esm2022/src/lib/shared/on-scroll.directive.mjs +47 -0
  122. package/esm2022/src/lib/shared/sebgroup-green-angular-src-lib-shared.mjs +5 -0
  123. package/esm2022/src/lib/shared/shared.module.mjs +18 -0
  124. package/esm2022/src/lib/slider/index.mjs +3 -0
  125. package/esm2022/src/lib/slider/sebgroup-green-angular-src-lib-slider.mjs +5 -0
  126. package/esm2022/src/lib/slider/slider.component.mjs +113 -0
  127. package/esm2022/src/lib/slider/slider.module.mjs +19 -0
  128. package/esm2022/src/lib/sortable-list/index.mjs +3 -0
  129. package/esm2022/src/lib/sortable-list/sebgroup-green-angular-src-lib-sortable-list.mjs +5 -0
  130. package/esm2022/src/lib/sortable-list/sortable-list.component.mjs +181 -0
  131. package/esm2022/src/lib/sortable-list/sortable-list.module.mjs +20 -0
  132. package/esm2022/src/v-angular/account-number/account-number.module.mjs +18 -0
  133. package/esm2022/src/v-angular/account-number/account-number.pipe.mjs +54 -0
  134. package/esm2022/src/v-angular/account-number/index.mjs +3 -0
  135. package/esm2022/src/v-angular/account-number/sebgroup-green-angular-src-v-angular-account-number.mjs +5 -0
  136. package/esm2022/src/v-angular/alert/alert.component.mjs +47 -0
  137. package/esm2022/src/v-angular/alert/alert.models.mjs +8 -0
  138. package/esm2022/src/v-angular/alert/alert.module.mjs +18 -0
  139. package/esm2022/src/v-angular/alert/index.mjs +4 -0
  140. package/esm2022/src/v-angular/alert/sebgroup-green-angular-src-v-angular-alert.mjs +5 -0
  141. package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +297 -0
  142. package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +17 -0
  143. package/esm2022/src/v-angular/base-control-value-accessor/index.mjs +3 -0
  144. package/esm2022/src/v-angular/base-control-value-accessor/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs +5 -0
  145. package/esm2022/src/v-angular/breadcrumbs/breadcrumbs.component.mjs +25 -0
  146. package/esm2022/src/v-angular/breadcrumbs/breadcrumbs.module.mjs +20 -0
  147. package/esm2022/src/v-angular/breadcrumbs/index.mjs +3 -0
  148. package/esm2022/src/v-angular/breadcrumbs/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs +5 -0
  149. package/esm2022/src/v-angular/button/button.component.mjs +108 -0
  150. package/esm2022/src/v-angular/button/button.module.mjs +20 -0
  151. package/esm2022/src/v-angular/button/index.mjs +3 -0
  152. package/esm2022/src/v-angular/button/sebgroup-green-angular-src-v-angular-button.mjs +5 -0
  153. package/esm2022/src/v-angular/card/card.component.mjs +11 -0
  154. package/esm2022/src/v-angular/card/card.module.mjs +18 -0
  155. package/esm2022/src/v-angular/card/index.mjs +3 -0
  156. package/esm2022/src/v-angular/card/sebgroup-green-angular-src-v-angular-card.mjs +5 -0
  157. package/esm2022/src/v-angular/character-countdown/character-countdown.directive.mjs +51 -0
  158. package/esm2022/src/v-angular/character-countdown/character-countdown.module.mjs +18 -0
  159. package/esm2022/src/v-angular/character-countdown/index.mjs +3 -0
  160. package/esm2022/src/v-angular/character-countdown/sebgroup-green-angular-src-v-angular-character-countdown.mjs +5 -0
  161. package/esm2022/src/v-angular/checkbox/checkbox.component.mjs +74 -0
  162. package/esm2022/src/v-angular/checkbox/checkbox.module.mjs +21 -0
  163. package/esm2022/src/v-angular/checkbox/index.mjs +3 -0
  164. package/esm2022/src/v-angular/checkbox/sebgroup-green-angular-src-v-angular-checkbox.mjs +5 -0
  165. package/esm2022/src/v-angular/core/core.globals.mjs +20 -0
  166. package/esm2022/src/v-angular/core/core.utils.mjs +62 -0
  167. package/esm2022/src/v-angular/core/index.mjs +3 -0
  168. package/esm2022/src/v-angular/core/sebgroup-green-angular-src-v-angular-core.mjs +5 -0
  169. package/esm2022/src/v-angular/datepicker/components/calendar/calendar.component.mjs +200 -0
  170. package/esm2022/src/v-angular/datepicker/components/calendar-control/calendar-control.component.mjs +115 -0
  171. package/esm2022/src/v-angular/datepicker/components/date-input/date-input.component.mjs +203 -0
  172. package/esm2022/src/v-angular/datepicker/components/datepicker/datepicker.component.mjs +135 -0
  173. package/esm2022/src/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.mjs +408 -0
  174. package/esm2022/src/v-angular/datepicker/datepicker.globals.mjs +20 -0
  175. package/esm2022/src/v-angular/datepicker/datepicker.models.mjs +56 -0
  176. package/esm2022/src/v-angular/datepicker/datepicker.module.mjs +63 -0
  177. package/esm2022/src/v-angular/datepicker/datepicker.utils.mjs +196 -0
  178. package/esm2022/src/v-angular/datepicker/directives/calendar-date.directive.mjs +47 -0
  179. package/esm2022/src/v-angular/datepicker/index.mjs +17 -0
  180. package/esm2022/src/v-angular/datepicker/models/dates.mjs +291 -0
  181. package/esm2022/src/v-angular/datepicker/pipes/date-thook.pipe.mjs +30 -0
  182. package/esm2022/src/v-angular/datepicker/pipes/is-disabled.pipe.mjs +37 -0
  183. package/esm2022/src/v-angular/datepicker/pipes/matches.pipe.mjs +17 -0
  184. package/esm2022/src/v-angular/datepicker/sebgroup-green-angular-src-v-angular-datepicker.mjs +5 -0
  185. package/esm2022/src/v-angular/drag-drop/drag-drop.component.mjs +496 -0
  186. package/esm2022/src/v-angular/drag-drop/drag-drop.models.mjs +2 -0
  187. package/esm2022/src/v-angular/drag-drop/drag-drop.module.mjs +49 -0
  188. package/esm2022/src/v-angular/drag-drop/drag-drop.pipes.mjs +70 -0
  189. package/esm2022/src/v-angular/drag-drop/drag-drop.utils.mjs +75 -0
  190. package/esm2022/src/v-angular/drag-drop/index.mjs +5 -0
  191. package/esm2022/src/v-angular/drag-drop/sebgroup-green-angular-src-v-angular-drag-drop.mjs +5 -0
  192. package/esm2022/src/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +271 -0
  193. package/esm2022/src/v-angular/dropdown/dropdown-list/index.mjs +2 -0
  194. package/esm2022/src/v-angular/dropdown/dropdown.component.mjs +246 -0
  195. package/esm2022/src/v-angular/dropdown/dropdown.module.mjs +38 -0
  196. package/esm2022/src/v-angular/dropdown/index.mjs +6 -0
  197. package/esm2022/src/v-angular/dropdown/sebgroup-green-angular-src-v-angular-dropdown.mjs +5 -0
  198. package/esm2022/src/v-angular/dropdown/typeahead/index.mjs +6 -0
  199. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +98 -0
  200. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +85 -0
  201. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +132 -0
  202. package/esm2022/src/v-angular/dropdown/typeahead/typeahead.directive.mjs +177 -0
  203. package/esm2022/src/v-angular/dropdown/typeahead/typeahead.module.mjs +33 -0
  204. package/esm2022/src/v-angular/external-link/external-link.directive.mjs +37 -0
  205. package/esm2022/src/v-angular/external-link/external-link.module.mjs +18 -0
  206. package/esm2022/src/v-angular/external-link/index.mjs +3 -0
  207. package/esm2022/src/v-angular/external-link/sebgroup-green-angular-src-v-angular-external-link.mjs +5 -0
  208. package/esm2022/src/v-angular/i18n/i18n.json +12 -0
  209. package/esm2022/src/v-angular/i18n/i18n.module.mjs +89 -0
  210. package/esm2022/src/v-angular/i18n/i18n.test.module.mjs +89 -0
  211. package/esm2022/src/v-angular/i18n/index.mjs +3 -0
  212. package/esm2022/src/v-angular/i18n/sebgroup-green-angular-src-v-angular-i18n.mjs +5 -0
  213. package/esm2022/src/v-angular/info-circle/index.mjs +3 -0
  214. package/esm2022/src/v-angular/info-circle/info-circle.component.mjs +28 -0
  215. package/esm2022/src/v-angular/info-circle/info-circle.module.mjs +21 -0
  216. package/esm2022/src/v-angular/info-circle/sebgroup-green-angular-src-v-angular-info-circle.mjs +5 -0
  217. package/esm2022/src/v-angular/input/index.mjs +3 -0
  218. package/esm2022/src/v-angular/input/input.component.mjs +218 -0
  219. package/esm2022/src/v-angular/input/input.module.mjs +41 -0
  220. package/esm2022/src/v-angular/input/sebgroup-green-angular-src-v-angular-input.mjs +5 -0
  221. package/esm2022/src/v-angular/input-mask/config.mjs +9 -0
  222. package/esm2022/src/v-angular/input-mask/constants.mjs +2 -0
  223. package/esm2022/src/v-angular/input-mask/index.mjs +6 -0
  224. package/esm2022/src/v-angular/input-mask/input-mask-format.pipe.mjs +21 -0
  225. package/esm2022/src/v-angular/input-mask/input-mask.directive.mjs +165 -0
  226. package/esm2022/src/v-angular/input-mask/input-mask.module.mjs +35 -0
  227. package/esm2022/src/v-angular/input-mask/input-mask.types.mjs +2 -0
  228. package/esm2022/src/v-angular/input-mask/sebgroup-green-angular-src-v-angular-input-mask.mjs +5 -0
  229. package/esm2022/src/v-angular/modal/dialog/dialog.component.mjs +217 -0
  230. package/esm2022/src/v-angular/modal/fold-out/fold-out.component.mjs +157 -0
  231. package/esm2022/src/v-angular/modal/fold-out/fold-out.directive.mjs +19 -0
  232. package/esm2022/src/v-angular/modal/fold-out/keyboard-key.enum.mjs +9 -0
  233. package/esm2022/src/v-angular/modal/index.mjs +6 -0
  234. package/esm2022/src/v-angular/modal/modal.globals.mjs +20 -0
  235. package/esm2022/src/v-angular/modal/modal.module.mjs +53 -0
  236. package/esm2022/src/v-angular/modal/modal.types.mjs +2 -0
  237. package/esm2022/src/v-angular/modal/sebgroup-green-angular-src-v-angular-modal.mjs +5 -0
  238. package/esm2022/src/v-angular/modal/slide-out/slide-out.component.mjs +253 -0
  239. package/esm2022/src/v-angular/pagination/index.mjs +3 -0
  240. package/esm2022/src/v-angular/pagination/pagination.component.mjs +144 -0
  241. package/esm2022/src/v-angular/pagination/pagination.module.mjs +37 -0
  242. package/esm2022/src/v-angular/pagination/sebgroup-green-angular-src-v-angular-pagination.mjs +5 -0
  243. package/esm2022/src/v-angular/radio/index.mjs +3 -0
  244. package/esm2022/src/v-angular/radio/radio.component.mjs +132 -0
  245. package/esm2022/src/v-angular/radio/radio.module.mjs +21 -0
  246. package/esm2022/src/v-angular/radio/sebgroup-green-angular-src-v-angular-radio.mjs +5 -0
  247. package/esm2022/src/v-angular/slug/index.mjs +3 -0
  248. package/esm2022/src/v-angular/slug/sebgroup-green-angular-src-v-angular-slug.mjs +5 -0
  249. package/esm2022/src/v-angular/slug/slug.module.mjs +18 -0
  250. package/esm2022/src/v-angular/slug/slug.pipe.mjs +27 -0
  251. package/esm2022/src/v-angular/table/index.mjs +9 -0
  252. package/esm2022/src/v-angular/table/sebgroup-green-angular-src-v-angular-table.mjs +5 -0
  253. package/esm2022/src/v-angular/table/table.component.mjs +387 -0
  254. package/esm2022/src/v-angular/table/table.directive.mjs +110 -0
  255. package/esm2022/src/v-angular/table/table.models.mjs +2 -0
  256. package/esm2022/src/v-angular/table/table.module.mjs +40 -0
  257. package/esm2022/src/v-angular/table/table.tools.mjs +29 -0
  258. package/esm2022/src/v-angular/table/tr-thook.pipe.mjs +22 -0
  259. package/esm2022/src/v-angular/tabs/index.mjs +8 -0
  260. package/esm2022/src/v-angular/tabs/sebgroup-green-angular-src-v-angular-tabs.mjs +5 -0
  261. package/esm2022/src/v-angular/tabs/tab.directive.mjs +81 -0
  262. package/esm2022/src/v-angular/tabs/tabs.component.mjs +260 -0
  263. package/esm2022/src/v-angular/tabs/tabs.models.mjs +2 -0
  264. package/esm2022/src/v-angular/tabs/tabs.module.mjs +21 -0
  265. package/esm2022/src/v-angular/textarea/index.mjs +3 -0
  266. package/esm2022/src/v-angular/textarea/sebgroup-green-angular-src-v-angular-textarea.mjs +5 -0
  267. package/esm2022/src/v-angular/textarea/textarea.component.mjs +105 -0
  268. package/esm2022/src/v-angular/textarea/textarea.module.mjs +34 -0
  269. package/esm2022/src/v-angular/toast/index.mjs +8 -0
  270. package/esm2022/src/v-angular/toast/sebgroup-green-angular-src-v-angular-toast.mjs +5 -0
  271. package/esm2022/src/v-angular/toast/toast-message.service.mjs +63 -0
  272. package/esm2022/src/v-angular/toast/toast.component.mjs +70 -0
  273. package/esm2022/src/v-angular/toast/toast.models.mjs +8 -0
  274. package/esm2022/src/v-angular/toast/toast.module.mjs +21 -0
  275. package/esm2022/src/v-angular/tooltip/index.mjs +3 -0
  276. package/esm2022/src/v-angular/tooltip/sebgroup-green-angular-src-v-angular-tooltip.mjs +5 -0
  277. package/esm2022/src/v-angular/tooltip/tooltip.directive.mjs +293 -0
  278. package/esm2022/src/v-angular/tooltip/tooltip.module.mjs +18 -0
  279. package/esm2022/src/v-angular/tooltip/tooltip.styles.mjs +60 -0
  280. package/esm2022/v-angular/alert/alert.component.mjs +47 -0
  281. package/esm2022/v-angular/alert/alert.models.mjs +8 -0
  282. package/esm2022/v-angular/alert/alert.module.mjs +18 -0
  283. package/esm2022/v-angular/alert/index.mjs +4 -0
  284. package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +297 -0
  285. package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +17 -0
  286. package/esm2022/v-angular/base-control-value-accessor/index.mjs +3 -0
  287. package/esm2022/v-angular/breadcrumbs/breadcrumbs.component.mjs +25 -0
  288. package/esm2022/v-angular/breadcrumbs/breadcrumbs.module.mjs +20 -0
  289. package/esm2022/v-angular/breadcrumbs/index.mjs +3 -0
  290. package/esm2022/v-angular/button/button.component.mjs +108 -0
  291. package/esm2022/v-angular/button/button.module.mjs +20 -0
  292. package/esm2022/v-angular/button/index.mjs +3 -0
  293. package/esm2022/v-angular/card/card.component.mjs +11 -0
  294. package/esm2022/v-angular/card/card.module.mjs +18 -0
  295. package/esm2022/v-angular/card/index.mjs +3 -0
  296. package/esm2022/v-angular/character-countdown/character-countdown.directive.mjs +51 -0
  297. package/esm2022/v-angular/character-countdown/character-countdown.module.mjs +18 -0
  298. package/esm2022/v-angular/character-countdown/index.mjs +3 -0
  299. package/esm2022/v-angular/checkbox/checkbox.component.mjs +74 -0
  300. package/esm2022/v-angular/checkbox/checkbox.module.mjs +21 -0
  301. package/esm2022/v-angular/checkbox/index.mjs +3 -0
  302. package/esm2022/v-angular/datepicker/components/calendar/calendar.component.mjs +200 -0
  303. package/esm2022/v-angular/datepicker/components/calendar-control/calendar-control.component.mjs +115 -0
  304. package/esm2022/v-angular/datepicker/components/date-input/date-input.component.mjs +203 -0
  305. package/esm2022/v-angular/datepicker/components/datepicker/datepicker.component.mjs +135 -0
  306. package/esm2022/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.mjs +408 -0
  307. package/esm2022/v-angular/datepicker/datepicker.globals.mjs +20 -0
  308. package/esm2022/v-angular/datepicker/datepicker.models.mjs +56 -0
  309. package/esm2022/v-angular/datepicker/datepicker.module.mjs +63 -0
  310. package/esm2022/v-angular/datepicker/datepicker.utils.mjs +196 -0
  311. package/esm2022/v-angular/datepicker/directives/calendar-date.directive.mjs +47 -0
  312. package/esm2022/v-angular/datepicker/index.mjs +17 -0
  313. package/esm2022/v-angular/datepicker/models/dates.mjs +291 -0
  314. package/esm2022/v-angular/datepicker/pipes/date-thook.pipe.mjs +30 -0
  315. package/esm2022/v-angular/datepicker/pipes/is-disabled.pipe.mjs +37 -0
  316. package/esm2022/v-angular/datepicker/pipes/matches.pipe.mjs +17 -0
  317. package/esm2022/v-angular/drag-drop/drag-drop.component.mjs +496 -0
  318. package/esm2022/v-angular/drag-drop/drag-drop.models.mjs +2 -0
  319. package/esm2022/v-angular/drag-drop/drag-drop.module.mjs +49 -0
  320. package/esm2022/v-angular/drag-drop/drag-drop.pipes.mjs +70 -0
  321. package/esm2022/v-angular/drag-drop/drag-drop.utils.mjs +75 -0
  322. package/esm2022/v-angular/drag-drop/index.mjs +5 -0
  323. package/esm2022/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +271 -0
  324. package/esm2022/v-angular/dropdown/dropdown-list/index.mjs +2 -0
  325. package/esm2022/v-angular/dropdown/dropdown.component.mjs +246 -0
  326. package/esm2022/v-angular/dropdown/dropdown.module.mjs +38 -0
  327. package/esm2022/v-angular/dropdown/index.mjs +6 -0
  328. package/esm2022/v-angular/dropdown/typeahead/index.mjs +6 -0
  329. package/esm2022/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +98 -0
  330. package/esm2022/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +85 -0
  331. package/esm2022/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +132 -0
  332. package/esm2022/v-angular/dropdown/typeahead/typeahead.directive.mjs +177 -0
  333. package/esm2022/v-angular/dropdown/typeahead/typeahead.module.mjs +33 -0
  334. package/esm2022/v-angular/external-link/external-link.directive.mjs +37 -0
  335. package/esm2022/v-angular/external-link/external-link.module.mjs +18 -0
  336. package/esm2022/v-angular/external-link/index.mjs +3 -0
  337. package/esm2022/v-angular/i18n/i18n.json +12 -0
  338. package/esm2022/v-angular/i18n/i18n.module.mjs +89 -0
  339. package/esm2022/v-angular/i18n/i18n.test.module.mjs +89 -0
  340. package/esm2022/v-angular/i18n/index.mjs +3 -0
  341. package/esm2022/v-angular/index.mjs +27 -0
  342. package/esm2022/v-angular/info-circle/index.mjs +3 -0
  343. package/esm2022/v-angular/info-circle/info-circle.component.mjs +28 -0
  344. package/esm2022/v-angular/info-circle/info-circle.module.mjs +21 -0
  345. package/esm2022/v-angular/input/index.mjs +3 -0
  346. package/esm2022/v-angular/input/input.component.mjs +218 -0
  347. package/esm2022/v-angular/input/input.module.mjs +41 -0
  348. package/esm2022/v-angular/input-mask/config.mjs +9 -0
  349. package/esm2022/v-angular/input-mask/constants.mjs +2 -0
  350. package/esm2022/v-angular/input-mask/index.mjs +6 -0
  351. package/esm2022/v-angular/input-mask/input-mask-format.pipe.mjs +21 -0
  352. package/esm2022/v-angular/input-mask/input-mask.directive.mjs +165 -0
  353. package/esm2022/v-angular/input-mask/input-mask.module.mjs +35 -0
  354. package/esm2022/v-angular/input-mask/input-mask.types.mjs +2 -0
  355. package/esm2022/v-angular/modal/dialog/dialog.component.mjs +217 -0
  356. package/esm2022/v-angular/modal/fold-out/fold-out.component.mjs +157 -0
  357. package/esm2022/v-angular/modal/fold-out/fold-out.directive.mjs +19 -0
  358. package/esm2022/v-angular/modal/fold-out/keyboard-key.enum.mjs +9 -0
  359. package/esm2022/v-angular/modal/index.mjs +6 -0
  360. package/esm2022/v-angular/modal/modal.globals.mjs +20 -0
  361. package/esm2022/v-angular/modal/modal.module.mjs +53 -0
  362. package/esm2022/v-angular/modal/modal.types.mjs +2 -0
  363. package/esm2022/v-angular/modal/slide-out/slide-out.component.mjs +253 -0
  364. package/esm2022/v-angular/pagination/index.mjs +3 -0
  365. package/esm2022/v-angular/pagination/pagination.component.mjs +144 -0
  366. package/esm2022/v-angular/pagination/pagination.module.mjs +37 -0
  367. package/esm2022/v-angular/radio/index.mjs +3 -0
  368. package/esm2022/v-angular/radio/radio.component.mjs +132 -0
  369. package/esm2022/v-angular/radio/radio.module.mjs +21 -0
  370. package/esm2022/v-angular/sebgroup-green-angular-v-angular.mjs +5 -0
  371. package/esm2022/v-angular/slug/index.mjs +3 -0
  372. package/esm2022/v-angular/slug/slug.module.mjs +18 -0
  373. package/esm2022/v-angular/slug/slug.pipe.mjs +27 -0
  374. package/esm2022/v-angular/table/index.mjs +9 -0
  375. package/esm2022/v-angular/table/table.component.mjs +387 -0
  376. package/esm2022/v-angular/table/table.directive.mjs +110 -0
  377. package/esm2022/v-angular/table/table.models.mjs +2 -0
  378. package/esm2022/v-angular/table/table.module.mjs +40 -0
  379. package/esm2022/v-angular/table/table.tools.mjs +29 -0
  380. package/esm2022/v-angular/table/tr-thook.pipe.mjs +22 -0
  381. package/esm2022/v-angular/tabs/index.mjs +8 -0
  382. package/esm2022/v-angular/tabs/tab.directive.mjs +81 -0
  383. package/esm2022/v-angular/tabs/tabs.component.mjs +260 -0
  384. package/esm2022/v-angular/tabs/tabs.models.mjs +2 -0
  385. package/esm2022/v-angular/tabs/tabs.module.mjs +21 -0
  386. package/esm2022/v-angular/textarea/index.mjs +3 -0
  387. package/esm2022/v-angular/textarea/textarea.component.mjs +105 -0
  388. package/esm2022/v-angular/textarea/textarea.module.mjs +34 -0
  389. package/esm2022/v-angular/toast/index.mjs +8 -0
  390. package/esm2022/v-angular/toast/toast-message.service.mjs +63 -0
  391. package/esm2022/v-angular/toast/toast.component.mjs +70 -0
  392. package/esm2022/v-angular/toast/toast.models.mjs +8 -0
  393. package/esm2022/v-angular/toast/toast.module.mjs +21 -0
  394. package/esm2022/v-angular/tooltip/index.mjs +3 -0
  395. package/esm2022/v-angular/tooltip/tooltip.directive.mjs +293 -0
  396. package/esm2022/v-angular/tooltip/tooltip.module.mjs +18 -0
  397. package/esm2022/v-angular/tooltip/tooltip.styles.mjs +60 -0
  398. package/esm2022/v-angular/v-angular.module.mjs +120 -0
  399. package/fesm2022/sebgroup-green-angular-src-lib-accordion.mjs +141 -0
  400. package/fesm2022/sebgroup-green-angular-src-lib-accordion.mjs.map +1 -0
  401. package/fesm2022/sebgroup-green-angular-src-lib-badge.mjs +102 -0
  402. package/fesm2022/sebgroup-green-angular-src-lib-badge.mjs.map +1 -0
  403. package/fesm2022/sebgroup-green-angular-src-lib-button.mjs +50 -0
  404. package/fesm2022/sebgroup-green-angular-src-lib-button.mjs.map +1 -0
  405. package/fesm2022/sebgroup-green-angular-src-lib-cell-table.mjs +270 -0
  406. package/fesm2022/sebgroup-green-angular-src-lib-cell-table.mjs.map +1 -0
  407. package/fesm2022/sebgroup-green-angular-src-lib-context-menu.mjs +97 -0
  408. package/fesm2022/sebgroup-green-angular-src-lib-context-menu.mjs.map +1 -0
  409. package/fesm2022/sebgroup-green-angular-src-lib-datepicker.mjs +162 -0
  410. package/fesm2022/sebgroup-green-angular-src-lib-datepicker.mjs.map +1 -0
  411. package/fesm2022/sebgroup-green-angular-src-lib-dropdown.mjs +284 -0
  412. package/fesm2022/sebgroup-green-angular-src-lib-dropdown.mjs.map +1 -0
  413. package/fesm2022/sebgroup-green-angular-src-lib-in-page-wizard.mjs +83 -0
  414. package/fesm2022/sebgroup-green-angular-src-lib-in-page-wizard.mjs.map +1 -0
  415. package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs +377 -0
  416. package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs.map +1 -0
  417. package/fesm2022/sebgroup-green-angular-src-lib-pagination.mjs +197 -0
  418. package/fesm2022/sebgroup-green-angular-src-lib-pagination.mjs.map +1 -0
  419. package/fesm2022/sebgroup-green-angular-src-lib-progress-circle.mjs +63 -0
  420. package/fesm2022/sebgroup-green-angular-src-lib-progress-circle.mjs.map +1 -0
  421. package/fesm2022/sebgroup-green-angular-src-lib-segmented-control.mjs +58 -0
  422. package/fesm2022/sebgroup-green-angular-src-lib-segmented-control.mjs.map +1 -0
  423. package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs +113 -0
  424. package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs.map +1 -0
  425. package/fesm2022/sebgroup-green-angular-src-lib-slider.mjs +135 -0
  426. package/fesm2022/sebgroup-green-angular-src-lib-slider.mjs.map +1 -0
  427. package/fesm2022/sebgroup-green-angular-src-lib-sortable-list.mjs +204 -0
  428. package/fesm2022/sebgroup-green-angular-src-lib-sortable-list.mjs.map +1 -0
  429. package/fesm2022/sebgroup-green-angular-src-v-angular-account-number.mjs +76 -0
  430. package/fesm2022/sebgroup-green-angular-src-v-angular-account-number.mjs.map +1 -0
  431. package/fesm2022/sebgroup-green-angular-src-v-angular-alert.mjs +76 -0
  432. package/fesm2022/sebgroup-green-angular-src-v-angular-alert.mjs.map +1 -0
  433. package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs +318 -0
  434. package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs.map +1 -0
  435. package/fesm2022/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs +49 -0
  436. package/fesm2022/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs.map +1 -0
  437. package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs +131 -0
  438. package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs.map +1 -0
  439. package/fesm2022/sebgroup-green-angular-src-v-angular-card.mjs +33 -0
  440. package/fesm2022/sebgroup-green-angular-src-v-angular-card.mjs.map +1 -0
  441. package/fesm2022/sebgroup-green-angular-src-v-angular-character-countdown.mjs +73 -0
  442. package/fesm2022/sebgroup-green-angular-src-v-angular-character-countdown.mjs.map +1 -0
  443. package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs +98 -0
  444. package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs.map +1 -0
  445. package/fesm2022/sebgroup-green-angular-src-v-angular-core.mjs +88 -0
  446. package/fesm2022/sebgroup-green-angular-src-v-angular-core.mjs.map +1 -0
  447. package/fesm2022/sebgroup-green-angular-src-v-angular-datepicker.mjs +1759 -0
  448. package/fesm2022/sebgroup-green-angular-src-v-angular-datepicker.mjs.map +1 -0
  449. package/fesm2022/sebgroup-green-angular-src-v-angular-drag-drop.mjs +685 -0
  450. package/fesm2022/sebgroup-green-angular-src-v-angular-drag-drop.mjs.map +1 -0
  451. package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs +1037 -0
  452. package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs.map +1 -0
  453. package/fesm2022/sebgroup-green-angular-src-v-angular-external-link.mjs +58 -0
  454. package/fesm2022/sebgroup-green-angular-src-v-angular-external-link.mjs.map +1 -0
  455. package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs +198 -0
  456. package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs.map +1 -0
  457. package/fesm2022/sebgroup-green-angular-src-v-angular-info-circle.mjs +53 -0
  458. package/fesm2022/sebgroup-green-angular-src-v-angular-info-circle.mjs.map +1 -0
  459. package/fesm2022/sebgroup-green-angular-src-v-angular-input-mask.mjs +227 -0
  460. package/fesm2022/sebgroup-green-angular-src-v-angular-input-mask.mjs.map +1 -0
  461. package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs +262 -0
  462. package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs.map +1 -0
  463. package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs +717 -0
  464. package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs.map +1 -0
  465. package/fesm2022/sebgroup-green-angular-src-v-angular-pagination.mjs +185 -0
  466. package/fesm2022/sebgroup-green-angular-src-v-angular-pagination.mjs.map +1 -0
  467. package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs +156 -0
  468. package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs.map +1 -0
  469. package/fesm2022/sebgroup-green-angular-src-v-angular-slug.mjs +49 -0
  470. package/fesm2022/sebgroup-green-angular-src-v-angular-slug.mjs.map +1 -0
  471. package/fesm2022/sebgroup-green-angular-src-v-angular-table.mjs +585 -0
  472. package/fesm2022/sebgroup-green-angular-src-v-angular-table.mjs.map +1 -0
  473. package/fesm2022/sebgroup-green-angular-src-v-angular-tabs.mjs +365 -0
  474. package/fesm2022/sebgroup-green-angular-src-v-angular-tabs.mjs.map +1 -0
  475. package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs +141 -0
  476. package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs.map +1 -0
  477. package/fesm2022/sebgroup-green-angular-src-v-angular-toast.mjs +166 -0
  478. package/fesm2022/sebgroup-green-angular-src-v-angular-toast.mjs.map +1 -0
  479. package/fesm2022/sebgroup-green-angular-src-v-angular-tooltip.mjs +374 -0
  480. package/fesm2022/sebgroup-green-angular-src-v-angular-tooltip.mjs.map +1 -0
  481. package/fesm2022/sebgroup-green-angular-v-angular.mjs +7538 -0
  482. package/fesm2022/sebgroup-green-angular-v-angular.mjs.map +1 -0
  483. package/fesm2022/sebgroup-green-angular.mjs +2229 -0
  484. package/fesm2022/sebgroup-green-angular.mjs.map +1 -0
  485. package/index.d.ts +17 -0
  486. package/lib/accordion/accordion-list-item.component.d.ts +16 -0
  487. package/lib/accordion/accordion.component.d.ts +16 -0
  488. package/lib/accordion/accordion.module.d.ts +9 -0
  489. package/lib/accordion/index.d.ts +3 -0
  490. package/lib/badge/badge.component.d.ts +25 -0
  491. package/lib/badge/badge.module.d.ts +8 -0
  492. package/lib/badge/index.d.ts +2 -0
  493. package/lib/button/button.component.d.ts +9 -0
  494. package/lib/button/button.module.d.ts +8 -0
  495. package/lib/button/index.d.ts +2 -0
  496. package/lib/cell-table/cell-table-item.component.d.ts +14 -0
  497. package/lib/cell-table/cell-table.component.d.ts +44 -0
  498. package/lib/cell-table/cell-table.module.d.ts +10 -0
  499. package/lib/cell-table/cell-table.types.d.ts +34 -0
  500. package/lib/cell-table/cell-underline.directive.d.ts +14 -0
  501. package/lib/cell-table/index.d.ts +3 -0
  502. package/lib/context-menu/context-menu.component.d.ts +44 -0
  503. package/lib/context-menu/context-menu.module.d.ts +9 -0
  504. package/lib/context-menu/index.d.ts +2 -0
  505. package/lib/datepicker/datepicker.component.d.ts +59 -0
  506. package/lib/datepicker/datepicker.module.d.ts +9 -0
  507. package/lib/datepicker/index.d.ts +2 -0
  508. package/lib/dropdown/dropdown-button.directive.d.ts +8 -0
  509. package/lib/dropdown/dropdown-option.directive.d.ts +8 -0
  510. package/lib/dropdown/dropdown.component.d.ts +78 -0
  511. package/lib/dropdown/dropdown.module.d.ts +11 -0
  512. package/lib/dropdown/index.d.ts +4 -0
  513. package/lib/green-angular.module.d.ts +21 -0
  514. package/lib/in-page-wizard/in-page-wizard-step-card.component.d.ts +19 -0
  515. package/lib/in-page-wizard/in-page-wizard.module.d.ts +8 -0
  516. package/lib/in-page-wizard/index.d.ts +2 -0
  517. package/lib/modal/index.d.ts +4 -0
  518. package/lib/modal/modal-footer.directive.d.ts +8 -0
  519. package/lib/modal/modal-header.directive.d.ts +8 -0
  520. package/lib/modal/modal.component.d.ts +67 -0
  521. package/lib/modal/modal.module.d.ts +11 -0
  522. package/lib/pagination/index.d.ts +2 -0
  523. package/lib/pagination/pagination.component.d.ts +42 -0
  524. package/lib/pagination/pagination.module.d.ts +8 -0
  525. package/lib/progress-circle/index.d.ts +2 -0
  526. package/lib/progress-circle/progress-circle.component.d.ts +14 -0
  527. package/lib/progress-circle/progress-circle.module.d.ts +8 -0
  528. package/lib/segmented-control/index.d.ts +2 -0
  529. package/lib/segmented-control/segmented-control.component.d.ts +11 -0
  530. package/lib/segmented-control/segmented-control.module.d.ts +9 -0
  531. package/lib/shared/core-element/core-element.directive.d.ts +13 -0
  532. package/lib/shared/core-element/core-element.module.d.ts +8 -0
  533. package/lib/shared/core-element/index.d.ts +2 -0
  534. package/lib/shared/index.d.ts +3 -0
  535. package/lib/shared/on-scroll.directive.d.ts +14 -0
  536. package/lib/shared/shared.module.d.ts +8 -0
  537. package/lib/slider/index.d.ts +2 -0
  538. package/lib/slider/slider.component.d.ts +38 -0
  539. package/lib/slider/slider.module.d.ts +9 -0
  540. package/lib/sortable-list/index.d.ts +2 -0
  541. package/lib/sortable-list/sortable-list.component.d.ts +91 -0
  542. package/lib/sortable-list/sortable-list.module.d.ts +10 -0
  543. package/package.json +308 -0
  544. package/src/lib/accordion/accordion-list-item.component.d.ts +16 -0
  545. package/src/lib/accordion/accordion.component.d.ts +16 -0
  546. package/src/lib/accordion/accordion.module.d.ts +9 -0
  547. package/src/lib/accordion/index.d.ts +3 -0
  548. package/src/lib/badge/badge.component.d.ts +25 -0
  549. package/src/lib/badge/badge.module.d.ts +8 -0
  550. package/src/lib/badge/index.d.ts +2 -0
  551. package/src/lib/button/button.component.d.ts +9 -0
  552. package/src/lib/button/button.module.d.ts +8 -0
  553. package/src/lib/button/index.d.ts +2 -0
  554. package/src/lib/cell-table/cell-table-item.component.d.ts +14 -0
  555. package/src/lib/cell-table/cell-table.component.d.ts +44 -0
  556. package/src/lib/cell-table/cell-table.module.d.ts +10 -0
  557. package/src/lib/cell-table/cell-table.types.d.ts +34 -0
  558. package/src/lib/cell-table/cell-underline.directive.d.ts +14 -0
  559. package/src/lib/cell-table/index.d.ts +3 -0
  560. package/src/lib/context-menu/context-menu.component.d.ts +44 -0
  561. package/src/lib/context-menu/context-menu.module.d.ts +9 -0
  562. package/src/lib/context-menu/index.d.ts +2 -0
  563. package/src/lib/datepicker/datepicker.component.d.ts +59 -0
  564. package/src/lib/datepicker/datepicker.module.d.ts +9 -0
  565. package/src/lib/datepicker/index.d.ts +2 -0
  566. package/src/lib/dropdown/dropdown-button.directive.d.ts +8 -0
  567. package/src/lib/dropdown/dropdown-option.directive.d.ts +8 -0
  568. package/src/lib/dropdown/dropdown.component.d.ts +78 -0
  569. package/src/lib/dropdown/dropdown.module.d.ts +11 -0
  570. package/src/lib/dropdown/index.d.ts +4 -0
  571. package/src/lib/in-page-wizard/in-page-wizard-step-card.component.d.ts +19 -0
  572. package/src/lib/in-page-wizard/in-page-wizard.module.d.ts +8 -0
  573. package/src/lib/in-page-wizard/index.d.ts +2 -0
  574. package/src/lib/modal/index.d.ts +4 -0
  575. package/src/lib/modal/modal-footer.directive.d.ts +8 -0
  576. package/src/lib/modal/modal-header.directive.d.ts +8 -0
  577. package/src/lib/modal/modal.component.d.ts +67 -0
  578. package/src/lib/modal/modal.module.d.ts +11 -0
  579. package/src/lib/pagination/index.d.ts +2 -0
  580. package/src/lib/pagination/pagination.component.d.ts +42 -0
  581. package/src/lib/pagination/pagination.module.d.ts +8 -0
  582. package/src/lib/progress-circle/index.d.ts +2 -0
  583. package/src/lib/progress-circle/progress-circle.component.d.ts +14 -0
  584. package/src/lib/progress-circle/progress-circle.module.d.ts +8 -0
  585. package/src/lib/segmented-control/index.d.ts +2 -0
  586. package/src/lib/segmented-control/segmented-control.component.d.ts +11 -0
  587. package/src/lib/segmented-control/segmented-control.module.d.ts +9 -0
  588. package/src/lib/shared/core-element/core-element.directive.d.ts +13 -0
  589. package/src/lib/shared/core-element/core-element.module.d.ts +8 -0
  590. package/src/lib/shared/core-element/index.d.ts +2 -0
  591. package/src/lib/shared/index.d.ts +3 -0
  592. package/src/lib/shared/on-scroll.directive.d.ts +14 -0
  593. package/src/lib/shared/shared.module.d.ts +8 -0
  594. package/src/lib/slider/index.d.ts +2 -0
  595. package/src/lib/slider/slider.component.d.ts +38 -0
  596. package/src/lib/slider/slider.module.d.ts +9 -0
  597. package/src/lib/sortable-list/index.d.ts +2 -0
  598. package/src/lib/sortable-list/sortable-list.component.d.ts +91 -0
  599. package/src/lib/sortable-list/sortable-list.module.d.ts +10 -0
  600. package/src/v-angular/account-number/README.md +70 -0
  601. package/src/v-angular/account-number/account-number.module.d.ts +8 -0
  602. package/src/v-angular/account-number/account-number.pipe.d.ts +32 -0
  603. package/src/v-angular/account-number/index.d.ts +2 -0
  604. package/src/v-angular/alert/alert.component.d.ts +19 -0
  605. package/src/v-angular/alert/alert.models.d.ts +13 -0
  606. package/src/v-angular/alert/alert.module.d.ts +8 -0
  607. package/src/v-angular/alert/index.d.ts +3 -0
  608. package/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.d.ts +130 -0
  609. package/src/v-angular/base-control-value-accessor/base-control-value-accessor.module.d.ts +7 -0
  610. package/src/v-angular/base-control-value-accessor/index.d.ts +2 -0
  611. package/src/v-angular/breadcrumbs/breadcrumbs.component.d.ts +18 -0
  612. package/src/v-angular/breadcrumbs/breadcrumbs.module.d.ts +10 -0
  613. package/src/v-angular/breadcrumbs/index.d.ts +2 -0
  614. package/src/v-angular/button/button.component.d.ts +62 -0
  615. package/src/v-angular/button/button.module.d.ts +10 -0
  616. package/src/v-angular/button/index.d.ts +2 -0
  617. package/src/v-angular/card/card.component.d.ts +5 -0
  618. package/src/v-angular/card/card.module.d.ts +8 -0
  619. package/src/v-angular/card/index.d.ts +2 -0
  620. package/src/v-angular/character-countdown/character-countdown.directive.d.ts +17 -0
  621. package/src/v-angular/character-countdown/character-countdown.module.d.ts +8 -0
  622. package/src/v-angular/character-countdown/index.d.ts +2 -0
  623. package/src/v-angular/checkbox/checkbox.component.d.ts +28 -0
  624. package/src/v-angular/checkbox/checkbox.module.d.ts +10 -0
  625. package/src/v-angular/checkbox/index.d.ts +2 -0
  626. package/src/v-angular/core/core.globals.d.ts +13 -0
  627. package/src/v-angular/core/core.utils.d.ts +23 -0
  628. package/src/v-angular/core/index.d.ts +2 -0
  629. package/src/v-angular/datepicker/components/calendar/calendar.component.d.ts +36 -0
  630. package/src/v-angular/datepicker/components/calendar-control/calendar-control.component.d.ts +30 -0
  631. package/src/v-angular/datepicker/components/date-input/date-input.component.d.ts +102 -0
  632. package/src/v-angular/datepicker/components/datepicker/datepicker.component.d.ts +62 -0
  633. package/src/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.d.ts +165 -0
  634. package/src/v-angular/datepicker/datepicker.globals.d.ts +13 -0
  635. package/src/v-angular/datepicker/datepicker.models.d.ts +50 -0
  636. package/src/v-angular/datepicker/datepicker.module.d.ts +19 -0
  637. package/src/v-angular/datepicker/datepicker.utils.d.ts +39 -0
  638. package/src/v-angular/datepicker/directives/calendar-date.directive.d.ts +21 -0
  639. package/src/v-angular/datepicker/index.d.ts +13 -0
  640. package/src/v-angular/datepicker/models/dates.d.ts +15 -0
  641. package/src/v-angular/datepicker/pipes/date-thook.pipe.d.ts +8 -0
  642. package/src/v-angular/datepicker/pipes/is-disabled.pipe.d.ts +8 -0
  643. package/src/v-angular/datepicker/pipes/matches.pipe.d.ts +7 -0
  644. package/src/v-angular/drag-drop/drag-drop.component.d.ts +131 -0
  645. package/src/v-angular/drag-drop/drag-drop.models.d.ts +49 -0
  646. package/src/v-angular/drag-drop/drag-drop.module.d.ts +13 -0
  647. package/src/v-angular/drag-drop/drag-drop.pipes.d.ts +40 -0
  648. package/src/v-angular/drag-drop/drag-drop.utils.d.ts +33 -0
  649. package/src/v-angular/drag-drop/index.d.ts +4 -0
  650. package/src/v-angular/dropdown/dropdown-list/dropdown-list.component.d.ts +96 -0
  651. package/src/v-angular/dropdown/dropdown-list/index.d.ts +1 -0
  652. package/src/v-angular/dropdown/dropdown.component.d.ts +103 -0
  653. package/src/v-angular/dropdown/dropdown.module.d.ts +13 -0
  654. package/src/v-angular/dropdown/index.d.ts +5 -0
  655. package/src/v-angular/dropdown/typeahead/index.d.ts +5 -0
  656. package/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.d.ts +34 -0
  657. package/src/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.d.ts +34 -0
  658. package/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.d.ts +59 -0
  659. package/src/v-angular/dropdown/typeahead/typeahead.directive.d.ts +76 -0
  660. package/src/v-angular/dropdown/typeahead/typeahead.module.d.ts +11 -0
  661. package/src/v-angular/external-link/external-link.directive.d.ts +17 -0
  662. package/src/v-angular/external-link/external-link.module.d.ts +8 -0
  663. package/src/v-angular/external-link/index.d.ts +2 -0
  664. package/src/v-angular/i18n/i18n.module.d.ts +15 -0
  665. package/src/v-angular/i18n/i18n.test.module.d.ts +27 -0
  666. package/src/v-angular/i18n/index.d.ts +2 -0
  667. package/src/v-angular/info-circle/index.d.ts +2 -0
  668. package/src/v-angular/info-circle/info-circle.component.d.ts +16 -0
  669. package/src/v-angular/info-circle/info-circle.module.d.ts +10 -0
  670. package/src/v-angular/input/index.d.ts +2 -0
  671. package/src/v-angular/input/input.component.d.ts +85 -0
  672. package/src/v-angular/input/input.module.d.ts +13 -0
  673. package/src/v-angular/input-mask/config.d.ts +6 -0
  674. package/src/v-angular/input-mask/constants.d.ts +2 -0
  675. package/src/v-angular/input-mask/index.d.ts +5 -0
  676. package/src/v-angular/input-mask/input-mask-format.pipe.d.ts +8 -0
  677. package/src/v-angular/input-mask/input-mask.directive.d.ts +39 -0
  678. package/src/v-angular/input-mask/input-mask.module.d.ts +11 -0
  679. package/src/v-angular/input-mask/input-mask.types.d.ts +20 -0
  680. package/src/v-angular/modal/dialog/dialog.component.d.ts +64 -0
  681. package/src/v-angular/modal/fold-out/fold-out.component.d.ts +47 -0
  682. package/src/v-angular/modal/fold-out/fold-out.directive.d.ts +6 -0
  683. package/src/v-angular/modal/fold-out/keyboard-key.enum.d.ts +7 -0
  684. package/src/v-angular/modal/index.d.ts +5 -0
  685. package/src/v-angular/modal/modal.globals.d.ts +13 -0
  686. package/src/v-angular/modal/modal.module.d.ts +15 -0
  687. package/src/v-angular/modal/modal.types.d.ts +5 -0
  688. package/src/v-angular/modal/slide-out/slide-out.component.d.ts +83 -0
  689. package/src/v-angular/pagination/index.d.ts +2 -0
  690. package/src/v-angular/pagination/pagination.component.d.ts +64 -0
  691. package/src/v-angular/pagination/pagination.module.d.ts +12 -0
  692. package/src/v-angular/radio/index.d.ts +2 -0
  693. package/src/v-angular/radio/radio.component.d.ts +49 -0
  694. package/src/v-angular/radio/radio.module.d.ts +10 -0
  695. package/src/v-angular/slug/index.d.ts +2 -0
  696. package/src/v-angular/slug/slug.module.d.ts +8 -0
  697. package/src/v-angular/slug/slug.pipe.d.ts +12 -0
  698. package/src/v-angular/table/index.d.ts +5 -0
  699. package/src/v-angular/table/table.component.d.ts +229 -0
  700. package/src/v-angular/table/table.directive.d.ts +36 -0
  701. package/src/v-angular/table/table.models.d.ts +62 -0
  702. package/src/v-angular/table/table.module.d.ts +12 -0
  703. package/src/v-angular/table/table.tools.d.ts +5 -0
  704. package/src/v-angular/table/tr-thook.pipe.d.ts +7 -0
  705. package/src/v-angular/tabs/index.d.ts +4 -0
  706. package/src/v-angular/tabs/tab.directive.d.ts +37 -0
  707. package/src/v-angular/tabs/tabs.component.d.ts +65 -0
  708. package/src/v-angular/tabs/tabs.models.d.ts +25 -0
  709. package/src/v-angular/tabs/tabs.module.d.ts +11 -0
  710. package/src/v-angular/textarea/index.d.ts +2 -0
  711. package/src/v-angular/textarea/textarea.component.d.ts +45 -0
  712. package/src/v-angular/textarea/textarea.module.d.ts +12 -0
  713. package/src/v-angular/toast/index.d.ts +4 -0
  714. package/src/v-angular/toast/toast-message.service.d.ts +17 -0
  715. package/src/v-angular/toast/toast.component.d.ts +22 -0
  716. package/src/v-angular/toast/toast.models.d.ts +15 -0
  717. package/src/v-angular/toast/toast.module.d.ts +10 -0
  718. package/src/v-angular/tooltip/index.d.ts +2 -0
  719. package/src/v-angular/tooltip/tooltip.directive.d.ts +108 -0
  720. package/src/v-angular/tooltip/tooltip.module.d.ts +8 -0
  721. package/src/v-angular/tooltip/tooltip.styles.d.ts +11 -0
  722. package/v-angular/alert/alert.component.d.ts +19 -0
  723. package/v-angular/alert/alert.models.d.ts +13 -0
  724. package/v-angular/alert/alert.module.d.ts +8 -0
  725. package/v-angular/alert/index.d.ts +3 -0
  726. package/v-angular/base-control-value-accessor/base-control-value-accessor.component.d.ts +130 -0
  727. package/v-angular/base-control-value-accessor/base-control-value-accessor.module.d.ts +7 -0
  728. package/v-angular/base-control-value-accessor/index.d.ts +2 -0
  729. package/v-angular/breadcrumbs/breadcrumbs.component.d.ts +18 -0
  730. package/v-angular/breadcrumbs/breadcrumbs.module.d.ts +10 -0
  731. package/v-angular/breadcrumbs/index.d.ts +2 -0
  732. package/v-angular/button/button.component.d.ts +62 -0
  733. package/v-angular/button/button.module.d.ts +10 -0
  734. package/v-angular/button/index.d.ts +2 -0
  735. package/v-angular/card/card.component.d.ts +5 -0
  736. package/v-angular/card/card.module.d.ts +8 -0
  737. package/v-angular/card/index.d.ts +2 -0
  738. package/v-angular/character-countdown/character-countdown.directive.d.ts +17 -0
  739. package/v-angular/character-countdown/character-countdown.module.d.ts +8 -0
  740. package/v-angular/character-countdown/index.d.ts +2 -0
  741. package/v-angular/checkbox/checkbox.component.d.ts +28 -0
  742. package/v-angular/checkbox/checkbox.module.d.ts +10 -0
  743. package/v-angular/checkbox/index.d.ts +2 -0
  744. package/v-angular/datepicker/components/calendar/calendar.component.d.ts +36 -0
  745. package/v-angular/datepicker/components/calendar-control/calendar-control.component.d.ts +30 -0
  746. package/v-angular/datepicker/components/date-input/date-input.component.d.ts +102 -0
  747. package/v-angular/datepicker/components/datepicker/datepicker.component.d.ts +62 -0
  748. package/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.d.ts +165 -0
  749. package/v-angular/datepicker/datepicker.globals.d.ts +13 -0
  750. package/v-angular/datepicker/datepicker.models.d.ts +50 -0
  751. package/v-angular/datepicker/datepicker.module.d.ts +19 -0
  752. package/v-angular/datepicker/datepicker.utils.d.ts +39 -0
  753. package/v-angular/datepicker/directives/calendar-date.directive.d.ts +21 -0
  754. package/v-angular/datepicker/index.d.ts +13 -0
  755. package/v-angular/datepicker/models/dates.d.ts +15 -0
  756. package/v-angular/datepicker/pipes/date-thook.pipe.d.ts +8 -0
  757. package/v-angular/datepicker/pipes/is-disabled.pipe.d.ts +8 -0
  758. package/v-angular/datepicker/pipes/matches.pipe.d.ts +7 -0
  759. package/v-angular/drag-drop/drag-drop.component.d.ts +131 -0
  760. package/v-angular/drag-drop/drag-drop.models.d.ts +49 -0
  761. package/v-angular/drag-drop/drag-drop.module.d.ts +13 -0
  762. package/v-angular/drag-drop/drag-drop.pipes.d.ts +40 -0
  763. package/v-angular/drag-drop/drag-drop.utils.d.ts +33 -0
  764. package/v-angular/drag-drop/index.d.ts +4 -0
  765. package/v-angular/dropdown/dropdown-list/dropdown-list.component.d.ts +96 -0
  766. package/v-angular/dropdown/dropdown-list/index.d.ts +1 -0
  767. package/v-angular/dropdown/dropdown.component.d.ts +103 -0
  768. package/v-angular/dropdown/dropdown.module.d.ts +13 -0
  769. package/v-angular/dropdown/index.d.ts +5 -0
  770. package/v-angular/dropdown/typeahead/index.d.ts +5 -0
  771. package/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.d.ts +34 -0
  772. package/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.d.ts +34 -0
  773. package/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.d.ts +59 -0
  774. package/v-angular/dropdown/typeahead/typeahead.directive.d.ts +76 -0
  775. package/v-angular/dropdown/typeahead/typeahead.module.d.ts +11 -0
  776. package/v-angular/external-link/external-link.directive.d.ts +17 -0
  777. package/v-angular/external-link/external-link.module.d.ts +8 -0
  778. package/v-angular/external-link/index.d.ts +2 -0
  779. package/v-angular/i18n/i18n.module.d.ts +15 -0
  780. package/v-angular/i18n/i18n.test.module.d.ts +27 -0
  781. package/v-angular/i18n/index.d.ts +2 -0
  782. package/v-angular/index.d.ts +26 -0
  783. package/v-angular/info-circle/index.d.ts +2 -0
  784. package/v-angular/info-circle/info-circle.component.d.ts +16 -0
  785. package/v-angular/info-circle/info-circle.module.d.ts +10 -0
  786. package/v-angular/input/index.d.ts +2 -0
  787. package/v-angular/input/input.component.d.ts +85 -0
  788. package/v-angular/input/input.module.d.ts +13 -0
  789. package/v-angular/input-mask/config.d.ts +6 -0
  790. package/v-angular/input-mask/constants.d.ts +2 -0
  791. package/v-angular/input-mask/index.d.ts +5 -0
  792. package/v-angular/input-mask/input-mask-format.pipe.d.ts +8 -0
  793. package/v-angular/input-mask/input-mask.directive.d.ts +39 -0
  794. package/v-angular/input-mask/input-mask.module.d.ts +11 -0
  795. package/v-angular/input-mask/input-mask.types.d.ts +20 -0
  796. package/v-angular/modal/dialog/dialog.component.d.ts +64 -0
  797. package/v-angular/modal/fold-out/fold-out.component.d.ts +47 -0
  798. package/v-angular/modal/fold-out/fold-out.directive.d.ts +6 -0
  799. package/v-angular/modal/fold-out/keyboard-key.enum.d.ts +7 -0
  800. package/v-angular/modal/index.d.ts +5 -0
  801. package/v-angular/modal/modal.globals.d.ts +13 -0
  802. package/v-angular/modal/modal.module.d.ts +15 -0
  803. package/v-angular/modal/modal.types.d.ts +5 -0
  804. package/v-angular/modal/slide-out/slide-out.component.d.ts +83 -0
  805. package/v-angular/pagination/index.d.ts +2 -0
  806. package/v-angular/pagination/pagination.component.d.ts +64 -0
  807. package/v-angular/pagination/pagination.module.d.ts +12 -0
  808. package/v-angular/radio/index.d.ts +2 -0
  809. package/v-angular/radio/radio.component.d.ts +49 -0
  810. package/v-angular/radio/radio.module.d.ts +10 -0
  811. package/v-angular/slug/index.d.ts +2 -0
  812. package/v-angular/slug/slug.module.d.ts +8 -0
  813. package/v-angular/slug/slug.pipe.d.ts +12 -0
  814. package/v-angular/table/index.d.ts +5 -0
  815. package/v-angular/table/table.component.d.ts +229 -0
  816. package/v-angular/table/table.directive.d.ts +36 -0
  817. package/v-angular/table/table.models.d.ts +62 -0
  818. package/v-angular/table/table.module.d.ts +12 -0
  819. package/v-angular/table/table.tools.d.ts +5 -0
  820. package/v-angular/table/tr-thook.pipe.d.ts +7 -0
  821. package/v-angular/tabs/index.d.ts +4 -0
  822. package/v-angular/tabs/tab.directive.d.ts +37 -0
  823. package/v-angular/tabs/tabs.component.d.ts +65 -0
  824. package/v-angular/tabs/tabs.models.d.ts +25 -0
  825. package/v-angular/tabs/tabs.module.d.ts +11 -0
  826. package/v-angular/textarea/index.d.ts +2 -0
  827. package/v-angular/textarea/textarea.component.d.ts +45 -0
  828. package/v-angular/textarea/textarea.module.d.ts +12 -0
  829. package/v-angular/toast/index.d.ts +4 -0
  830. package/v-angular/toast/toast-message.service.d.ts +17 -0
  831. package/v-angular/toast/toast.component.d.ts +22 -0
  832. package/v-angular/toast/toast.models.d.ts +15 -0
  833. package/v-angular/toast/toast.module.d.ts +10 -0
  834. package/v-angular/tooltip/index.d.ts +2 -0
  835. package/v-angular/tooltip/tooltip.directive.d.ts +108 -0
  836. package/v-angular/tooltip/tooltip.module.d.ts +8 -0
  837. package/v-angular/tooltip/tooltip.styles.d.ts +11 -0
  838. package/v-angular/v-angular.module.d.ts +33 -0
@@ -0,0 +1,253 @@
1
+ import { animate, group, query, style, transition, trigger, } from '@angular/animations';
2
+ import { Component, ElementRef, EventEmitter, HostListener, Input, Output, Renderer2, ViewChild, } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@jsverse/transloco";
6
+ /** Modal slide-out component based on vanilla pattern library design.
7
+ * The modal title can be set using the @Input heading, and will automatically be translated if
8
+ * the string matches a cms key.
9
+ * Content can be injected into the body of the slide-out by either setting the @Input content to any type of
10
+ * markdown, or using content projection (adding content between the `nggv-slideout-modal`-start and end tag).
11
+ * If the content needs to stretch outside the normal padded area, add the attribute `slot="outside-content"` to the
12
+ * projected content main element.
13
+ * Test hooks:
14
+ * The modal hook defaults to 'slideout' but is customizeable.
15
+ * The closing button can be selected using 'slideout-close'.
16
+ * The backdrop is selectable using 'slideout-backdrop'.
17
+ */
18
+ export class NggvSlideOutComponent {
19
+ set shown(value) {
20
+ this._shown = value;
21
+ if (value) {
22
+ this.hideOverflow();
23
+ }
24
+ else {
25
+ this.resetOverflow();
26
+ }
27
+ }
28
+ get shown() {
29
+ return this._shown;
30
+ }
31
+ /** @internal */
32
+ get fromLeft() {
33
+ return this.side === 'left';
34
+ }
35
+ /** Buttons are defined as a key-value pair where key is one of "positive|neutral|negative" and value is the button label. */
36
+ set buttons(buttons) {
37
+ this._buttons = buttons;
38
+ }
39
+ constructor(host, renderer) {
40
+ this.host = host;
41
+ this.renderer = renderer;
42
+ /** Sets from which side the modal should open. */
43
+ this.side = 'right';
44
+ /** Defines the default visibility state of the slide-out. */
45
+ this._shown = false;
46
+ /** Defines the default visibility state of the modal. */
47
+ this.initiallyShown = false;
48
+ /** Sets whether it is possible to close the modal from the top right corner. */
49
+ this.closable = true;
50
+ /** Allows the modal content to decide the width of the modal. */
51
+ this.autoWidth = false;
52
+ /** Special property used for selecting DOM elements during automated UI testing. */
53
+ this.thook = 'slideout';
54
+ /** Will emit true on closing event. */
55
+ this.nggvCloseEvent = new EventEmitter();
56
+ this.nggvPositiveEvent = new EventEmitter();
57
+ this.nggvNeutralEvent = new EventEmitter();
58
+ this.nggvNegativeEvent = new EventEmitter();
59
+ // appends methods for opening and closing modal to native element
60
+ this.host.nativeElement.open = this.open.bind(this);
61
+ this.host.nativeElement.close = this.close.bind(this);
62
+ }
63
+ ngOnInit() {
64
+ this._shown = this.initiallyShown;
65
+ if (this.shown)
66
+ this.limitFocusable();
67
+ }
68
+ onAction(event, action) {
69
+ event.preventDefault();
70
+ switch (action) {
71
+ case 'positive':
72
+ this.nggvPositiveEvent.emit();
73
+ break;
74
+ case 'neutral':
75
+ this.nggvNeutralEvent.emit();
76
+ break;
77
+ case 'negative':
78
+ this.nggvNegativeEvent.emit();
79
+ break;
80
+ }
81
+ this.close(event, 'action');
82
+ }
83
+ /**
84
+ * Called on a modal element. Opens the modal and sets focus to the last focusable element in the modal.
85
+ *
86
+ * @param opener - reference to last focused element before opening modal
87
+ * @returns - true
88
+ */
89
+ open(opener) {
90
+ this._shown = true;
91
+ this.previous = opener || document.activeElement;
92
+ this.hideOverflow();
93
+ this.limitFocusable();
94
+ return true;
95
+ }
96
+ /**
97
+ * Called on a modal element. Closes the modal and emits a `nggvCloseEvent`. Sets focus to the lats focused element if an element was sent in to open function.
98
+ *
99
+ * @param event
100
+ * @param initiator
101
+ */
102
+ close(event, initiator) {
103
+ if (initiator === 'host' &&
104
+ event instanceof MouseEvent &&
105
+ event.target !== event.currentTarget)
106
+ return;
107
+ this.resetOverflow();
108
+ if (this.shown && this.closable) {
109
+ this.nggvCloseEvent.emit(this.shown);
110
+ this.shown = false;
111
+ window.setTimeout(() => {
112
+ if (this.previous)
113
+ this.previous.focus();
114
+ this.previous = undefined;
115
+ });
116
+ }
117
+ }
118
+ /** @internal */
119
+ focusTrap(event) {
120
+ if (event.key !== 'Tab')
121
+ return;
122
+ if (event.shiftKey) {
123
+ // shift + tab
124
+ if (this.lastFocusable &&
125
+ document.activeElement === this.firstFocusable) {
126
+ this.lastFocusable.focus();
127
+ event.preventDefault();
128
+ }
129
+ }
130
+ else {
131
+ // tab
132
+ if (this.firstFocusable &&
133
+ document.activeElement === this.lastFocusable) {
134
+ this.firstFocusable.focus();
135
+ event.preventDefault();
136
+ }
137
+ }
138
+ }
139
+ limitFocusable() {
140
+ window.setTimeout(() => {
141
+ if (!this.slideOutRef)
142
+ return;
143
+ const focusable = this.slideOutRef.nativeElement.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
144
+ this.firstFocusable = focusable[0];
145
+ this.lastFocusable = focusable[focusable.length - 1];
146
+ if (this.lastFocusable)
147
+ this.lastFocusable.focus();
148
+ });
149
+ }
150
+ hideOverflow() {
151
+ this.renderer.setStyle(document.body, 'overflow', 'hidden');
152
+ }
153
+ resetOverflow() {
154
+ this.renderer.removeStyle(document.body, 'overflow');
155
+ }
156
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvSlideOutComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
157
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NggvSlideOutComponent, selector: "nggv-slideout-modal", inputs: { side: "side", shown: "shown", initiallyShown: "initiallyShown", heading: "heading", title: "title", content: "content", closable: "closable", autoWidth: "autoWidth", thook: "thook", closeButtonAriaLabel: "closeButtonAriaLabel", buttons: "buttons" }, outputs: { nggvCloseEvent: "nggvCloseEvent", nggvPositiveEvent: "nggvPositiveEvent", nggvNeutralEvent: "nggvNeutralEvent", nggvNegativeEvent: "nggvNegativeEvent" }, host: { listeners: { "click": "close($event,\"host\")", "document:keydown.escape": "close($event)", "keydown": "focusTrap($event)" } }, viewQueries: [{ propertyName: "slideOutRef", first: true, predicate: ["slideOut"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"shown\">\n <div\n [ngClass]=\"{\n 'gds-slide-out--left': fromLeft,\n 'gds-slide-out--right': !fromLeft,\n }\"\n *transloco=\"let t\"\n [class.-active]=\"shown\"\n [attr.data-thook]=\"thook\"\n [attr.aria-hidden]=\"!shown\"\n [@modalAnimation]\n >\n <div\n #slideOut\n class=\"gds-slide-out\"\n [class.auto-width]=\"autoWidth\"\n [class.entered]=\"shown\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"gds-modal-title\"\n aria-describedby=\"gds-modal-body\"\n >\n <header class=\"gds-slide-out__header\">\n <h3 id=\"gds-modal-title\">\n {{ heading || title || '' }}\n </h3>\n <button\n data-testid=\"modal-close-button\"\n class=\"nggv-modal-slideout__close\"\n (click)=\"this.close()\"\n [attr.aria-label]=\"closeButtonAriaLabel\"\n >\n <i></i>\n </button>\n </header>\n\n <section id=\"modal-body\">\n <div class=\"gds-slide-out__content hide-if-empty\">\n <div *ngIf=\"content\" [innerHtml]=\"content\"></div>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"[slot='outside-content']\"></ng-content>\n </section>\n\n <footer class=\"modal-dialog__actions\">\n <button\n class=\"danger\"\n type=\"reset\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.negative || 'negative')\"\n (click)=\"onAction($event, 'negative')\"\n (keydown.enter)=\"onAction($event, 'negative')\"\n *ngIf=\"_buttons && _buttons.negative\"\n >\n {{ t(_buttons.negative) }}\n </button>\n\n <button\n class=\"secondary\"\n type=\"button\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.neutral || 'neutral')\"\n (click)=\"onAction($event, 'neutral')\"\n (keydown.enter)=\"onAction($event, 'neutral')\"\n *ngIf=\"_buttons && _buttons.neutral\"\n >\n {{ t(_buttons.neutral) }}\n </button>\n\n <button\n class=\"primary\"\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.positive || 'positive')\"\n (click)=\"onAction($event, 'positive')\"\n (keydown.enter)=\"onAction($event, 'positive')\"\n *ngIf=\"_buttons && _buttons.positive\"\n >\n {{ t(_buttons.positive) }}\n </button>\n </footer>\n </div>\n\n <div\n class=\"nggv-backdrop\"\n data-thook=\"slideout-backdrop\"\n (click)=\"close()\"\n ></div>\n </div>\n</ng-container>\n", styles: [":host{--background-hsl: 0deg, 0%, 0%;--gds-ref-pallet-base200: hsl(0, 0%, 91%);--gds-sys-color-base: hsl(0, 0%, 20%);--gds-sys-color-font: hsl(0, 0%, 20%);--gds-sys-shape-corner-round: 50%;--grey-500: rgb(222, 222, 222);--sg-border-color: hsl(0, 0%, 53%);--sg-border-radius: .25rem;--sg-border-width: 1px;--sg-hsl-contrast: 0deg, 0%, 0%;--sg-modal-backdrop-background: rgba(0, 0, 0, .5);--sg-modal-background: #fff;--sg-modal-box-shadow: 0 .125rem .375rem rgba(0, 0, 0, .15);--sg-z-index-modal-backdrop: 1040;--sg-z-index-modal: 1050;--text-primary-color: rgb(51, 51, 51)}:host .gds-slide-out{background:var(--sg-modal-background);display:flex;flex-direction:column;box-shadow:var(--sg-modal-box-shadow);position:absolute;width:100%;z-index:var(--sg-z-index-modal);position:fixed;height:100dvh;max-width:512px;min-height:-webkit-fill-available;min-height:-moz-available;min-height:stretch;right:0;top:0;transition:transform .35s cubic-bezier(.33,1,.68,1);transform:translate(100%);z-index:1050}:host .gds-slide-out>.header,:host .gds-slide-out>header{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .gds-slide-out>.header h3,:host .gds-slide-out>.header .h3,:host .gds-slide-out>header h3,:host .gds-slide-out>header .h3{margin-bottom:0;margin-top:0}:host .gds-slide-out>.header h3+.close,:host .gds-slide-out>.header .h3+.close,:host .gds-slide-out>header h3+.close,:host .gds-slide-out>header .h3+.close{margin:-7px;min-width:2rem}:host .gds-slide-out>.body{padding:1rem;overflow:auto;width:100%}:host .gds-slide-out>.body p{margin-bottom:0;margin-top:0}:host .gds-slide-out>.footer,:host .gds-slide-out>footer{padding:1rem;width:100%}@media (min-width: 36em){:host .gds-slide-out>.footer,:host .gds-slide-out>footer{display:flex;justify-content:flex-end}}@media (max-width: 35.98em){:host .gds-slide-out>.footer button+button,:host .gds-slide-out>.footer button+.button,:host .gds-slide-out>.footer .button+button,:host .gds-slide-out>.footer .button+.button,:host .gds-slide-out>footer button+button,:host .gds-slide-out>footer button+.button,:host .gds-slide-out>footer .button+button,:host .gds-slide-out>footer .button+.button{margin-top:.75rem}}@media (min-width: 36em){:host .gds-slide-out>.footer button+button,:host .gds-slide-out>.footer button+.button,:host .gds-slide-out>.footer .button+button,:host .gds-slide-out>.footer .button+.button,:host .gds-slide-out>footer button+button,:host .gds-slide-out>footer button+.button,:host .gds-slide-out>footer .button+button,:host .gds-slide-out>footer .button+.button{margin-left:.75rem}}:host .gds-slide-out.is-entering,:host .gds-slide-out.entered{transform:translate(0)}:host .gds-slide-out.is-exiting{transform:translate(100%)}:host .gds-slide-out.large{max-width:720px}:host .gds-slide-out>.body{flex:1 0}:host .gds-slide-out.left{left:0}:host .gds-slide-out.gds-slide-out--768{max-width:48rem}:host .gds-slide-out.gds-slide-out--960{max-width:60rem}:host .gds-slide-out.gds-slide-out--768 header,:host .gds-slide-out.gds-slide-out--960 header{padding:1.5rem 2rem 1rem}:host .gds-slide-out.gds-slide-out--768 .body,:host .gds-slide-out.gds-slide-out--960 .body{padding:2rem 2rem 1rem}:host .gds-slide-out.gds-slide-out--768 footer,:host .gds-slide-out.gds-slide-out--960 footer{padding:1rem 2rem 2rem}:host .gds-slide-out.auto-width{width:auto;max-width:initial}:host .hide-if-empty:empty{display:none}:host .nggv-backdrop{background:var(--sg-modal-backdrop-background);inset:0;position:fixed;z-index:var(--sg-z-index-modal-backdrop);display:block;transition:opacity .5s cubic-bezier(.33,1,.68,1)}:host .nggv-backdrop--transparent{opacity:0}:host .nggv-backdrop--transparent.entered,:host .nggv-backdrop--transparent.is-entering{opacity:1}:host .nggv-backdrop--transparent.is-exiting{opacity:0}:host .gds-slide-out__content{padding:1rem;overflow:auto;width:100%}:host .gds-slide-out__content p{margin-bottom:0;margin-top:0}:host .modal-dialog__actions,:host .gds-slide-out__header,:host .modal-body,:host .gds-slide-out__content{box-sizing:border-box}:host .modal-slide-out__heading{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .modal-slide-out__heading h3,:host .modal-slide-out__heading .h3{margin-bottom:0;margin-top:0}:host .modal-slide-out__heading h3+.close,:host .modal-slide-out__heading .h3+.close{margin:-7px;min-width:2rem}:host .nggv-modal-slideout__close{background-color:transparent;padding:0;font-size:0;background:var(--gds-sys-color-surface);border:0;border-radius:50%;content:\"\";cursor:pointer;display:flex;font-family:inherit;height:2rem;position:relative;width:2rem}@media (hover: none) and (pointer: coarse){:host .nggv-modal-slideout__close:not(:disabled):not(.disabled){padding:.375rem;height:2.75rem;width:2.75rem}:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>i{background:var(--gds-ref-pallet-base200);height:2rem;width:2rem;border-radius:50%;position:relative;--color: var(--gds-sys-color-base)}:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>div:after,:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>div:before{height:.789375rem;width:.130625rem;top:.625rem}}:host .nggv-modal-slideout__close:focus:not(:focus-visible){box-shadow:none;outline:0}:host .nggv-modal-slideout__close:focus,:host .nggv-modal-slideout__close:focus-visible i{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .nggv-modal-slideout__close>i{border-radius:var(--gds-sys-shape-corner-round);display:block;width:100%;height:100%}:host .nggv-modal-slideout__close>i:after,:host .nggv-modal-slideout__close>i:before{background:var(--gds-sys-color-font);content:\"\";display:block;height:.789375rem;width:.130625rem;border-radius:.5px;left:calc(50% - .0625rem);position:absolute;top:.625rem}:host .nggv-modal-slideout__close>i:after{transform:rotate(45deg)}:host .nggv-modal-slideout__close>i:before{transform:rotate(-45deg)}:host .nggv-modal-slideout__close>svg path{fill:var(--gds-sys-color-font)}@media (min-width: 48em){:host .nggv-modal-slideout__close:not(:disabled,.disabled):hover>i{background:color-mix(in srgb,var(--gds-sys-color-font) 10%,transparent)}:host .nggv-modal-slideout__close:not(:disabled,.disabled):hover:active>i{background:color-mix(in srgb,var(--gds-sys-color-font) 20%,transparent)}}:host .modal-dialog__actions button{background-color:transparent;border:0;cursor:pointer;padding:0;padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);font-weight:500;min-height:2.75rem;align-items:center;display:inline-flex;justify-content:center;font-size:1rem;font-family:inherit}:host .modal-dialog__actions button:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions button:focus,:host .modal-dialog__actions button:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media (max-width: 35.98em){:host .modal-dialog__actions button{min-width:100%}}@media screen and (-ms-high-contrast: active){:host .modal-dialog__actions button{border:2px solid currentcolor}}:host .modal-dialog__actions button.small{min-height:2rem;padding:.4375rem .75rem;line-height:1rem}:host .modal-dialog__actions button.large{min-height:4rem;padding:1rem 1.5rem;font-size:1.5rem;line-height:2rem}:host .modal-dialog__actions .primary{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:#007ac7;border-color:#007ac7;color:#fff;--color: #fff}:host .modal-dialog__actions .primary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3}:host .modal-dialog__actions .primary[aria-selected=true],:host .modal-dialog__actions .primary:active,:host .modal-dialog__actions .primary.active,:host .modal-dialog__actions .primary.active:hover,:host .modal-dialog__actions .primary:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .modal-dialog__actions .primary:focus-visible{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3!important}:host .modal-dialog__actions .primary:disabled,:host .modal-dialog__actions .primary.disabled,:host .modal-dialog__actions .primary[aria-disabled=true]{background:var(--form-control-primary-bg-disabled)!important;color:var(--text-primary-disabled-color)!important;border-color:var(--border-primary-disabled-color)!important;cursor:not-allowed}:host .modal-dialog__actions .primary:disabled::placeholder,:host .modal-dialog__actions .primary.disabled::placeholder,:host .modal-dialog__actions .primary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .modal-dialog__actions .secondary{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:transparent;border-color:#007ac7;color:#007ac7;--color: rgb(0, 122, 199)}:host .modal-dialog__actions .secondary:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions .secondary:focus,:host .modal-dialog__actions .secondary:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .modal-dialog__actions .secondary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3}:host .modal-dialog__actions .secondary[aria-selected=true],:host .modal-dialog__actions .secondary:active,:host .modal-dialog__actions .secondary.active,:host .modal-dialog__actions .secondary.active:hover,:host .modal-dialog__actions .secondary:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .modal-dialog__actions .secondary:disabled,:host .modal-dialog__actions .secondary.disabled,:host .modal-dialog__actions .secondary[aria-disabled=true]{background:var(--sg-form-control-bg-disabled)!important;color:var(--text-disabled-color)!important;border-color:var(--border-disabled-color)!important;cursor:not-allowed}:host .modal-dialog__actions .secondary:disabled::placeholder,:host .modal-dialog__actions .secondary.disabled::placeholder,:host .modal-dialog__actions .secondary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .modal-dialog__actions .danger{color:#bb000c;--color: rgb(187, 0, 12);border-color:transparent;transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s}:host .modal-dialog__actions .danger:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#d81a1a;color:#fff;--background: rgb(216, 26, 26);--color: rgb(255, 255, 255);border-color:#d81a1a}:host .modal-dialog__actions .danger[aria-selected=true],:host .modal-dialog__actions .danger:active,:host .modal-dialog__actions .danger.active,:host .modal-dialog__actions .danger.active:hover,:host .modal-dialog__actions .danger:active:hover{background-color:#bb000c;color:#fff;--background: rgb(187, 0, 12);--color: rgb(255, 255, 255);border-color:#bb000c}:host .modal-dialog__actions .danger[aria-selected]:hover,:host .modal-dialog__actions .danger.active:hover,:host .modal-dialog__actions .danger:active:hover{opacity:.9}:host .modal-dialog__actions .danger:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions .danger:focus,:host .modal-dialog__actions .danger:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host #sdv-modal-body{flex:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], animations: [
158
+ trigger('modalAnimation', [
159
+ transition(':enter', [
160
+ query('.gds-slide-out', style({ transform: 'translateX(100%)' }), {
161
+ optional: true,
162
+ }),
163
+ query('.gds-backdrop, [role=dialog]', style({ opacity: '0' }), {
164
+ optional: true,
165
+ }),
166
+ group([
167
+ query('.gds-slide-out', animate('350ms cubic-bezier(0.33, 1, 0.68, 1)', style({ transform: 'translateX(0)' })), { optional: true }),
168
+ query('.gds-backdrop, [role=dialog]', animate('350ms cubic-bezier(0.33, 1, 0.68, 1)', style({ opacity: '1' })), { optional: true }),
169
+ ]),
170
+ ]),
171
+ transition(':leave', [
172
+ query('.gds-slide-out', style({ transform: 'translateX(0)' }), {
173
+ optional: true,
174
+ }),
175
+ group([
176
+ query('.gds-slide-out', animate('350ms cubic-bezier(0.33, 1, 0.68, 1)', style({ transform: 'translateX(100%)' })), { optional: true }),
177
+ query('.gds-backdrop, [role=dialog]', animate('350ms cubic-bezier(0.33, 1, 0.68, 1)', style({ opacity: '0' })), { optional: true }),
178
+ ]),
179
+ ]),
180
+ ]),
181
+ ] }); }
182
+ }
183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvSlideOutComponent, decorators: [{
184
+ type: Component,
185
+ args: [{ selector: 'nggv-slideout-modal', animations: [
186
+ trigger('modalAnimation', [
187
+ transition(':enter', [
188
+ query('.gds-slide-out', style({ transform: 'translateX(100%)' }), {
189
+ optional: true,
190
+ }),
191
+ query('.gds-backdrop, [role=dialog]', style({ opacity: '0' }), {
192
+ optional: true,
193
+ }),
194
+ group([
195
+ query('.gds-slide-out', animate('350ms cubic-bezier(0.33, 1, 0.68, 1)', style({ transform: 'translateX(0)' })), { optional: true }),
196
+ query('.gds-backdrop, [role=dialog]', animate('350ms cubic-bezier(0.33, 1, 0.68, 1)', style({ opacity: '1' })), { optional: true }),
197
+ ]),
198
+ ]),
199
+ transition(':leave', [
200
+ query('.gds-slide-out', style({ transform: 'translateX(0)' }), {
201
+ optional: true,
202
+ }),
203
+ group([
204
+ query('.gds-slide-out', animate('350ms cubic-bezier(0.33, 1, 0.68, 1)', style({ transform: 'translateX(100%)' })), { optional: true }),
205
+ query('.gds-backdrop, [role=dialog]', animate('350ms cubic-bezier(0.33, 1, 0.68, 1)', style({ opacity: '0' })), { optional: true }),
206
+ ]),
207
+ ]),
208
+ ]),
209
+ ], template: "<ng-container *ngIf=\"shown\">\n <div\n [ngClass]=\"{\n 'gds-slide-out--left': fromLeft,\n 'gds-slide-out--right': !fromLeft,\n }\"\n *transloco=\"let t\"\n [class.-active]=\"shown\"\n [attr.data-thook]=\"thook\"\n [attr.aria-hidden]=\"!shown\"\n [@modalAnimation]\n >\n <div\n #slideOut\n class=\"gds-slide-out\"\n [class.auto-width]=\"autoWidth\"\n [class.entered]=\"shown\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"gds-modal-title\"\n aria-describedby=\"gds-modal-body\"\n >\n <header class=\"gds-slide-out__header\">\n <h3 id=\"gds-modal-title\">\n {{ heading || title || '' }}\n </h3>\n <button\n data-testid=\"modal-close-button\"\n class=\"nggv-modal-slideout__close\"\n (click)=\"this.close()\"\n [attr.aria-label]=\"closeButtonAriaLabel\"\n >\n <i></i>\n </button>\n </header>\n\n <section id=\"modal-body\">\n <div class=\"gds-slide-out__content hide-if-empty\">\n <div *ngIf=\"content\" [innerHtml]=\"content\"></div>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"[slot='outside-content']\"></ng-content>\n </section>\n\n <footer class=\"modal-dialog__actions\">\n <button\n class=\"danger\"\n type=\"reset\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.negative || 'negative')\"\n (click)=\"onAction($event, 'negative')\"\n (keydown.enter)=\"onAction($event, 'negative')\"\n *ngIf=\"_buttons && _buttons.negative\"\n >\n {{ t(_buttons.negative) }}\n </button>\n\n <button\n class=\"secondary\"\n type=\"button\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.neutral || 'neutral')\"\n (click)=\"onAction($event, 'neutral')\"\n (keydown.enter)=\"onAction($event, 'neutral')\"\n *ngIf=\"_buttons && _buttons.neutral\"\n >\n {{ t(_buttons.neutral) }}\n </button>\n\n <button\n class=\"primary\"\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.positive || 'positive')\"\n (click)=\"onAction($event, 'positive')\"\n (keydown.enter)=\"onAction($event, 'positive')\"\n *ngIf=\"_buttons && _buttons.positive\"\n >\n {{ t(_buttons.positive) }}\n </button>\n </footer>\n </div>\n\n <div\n class=\"nggv-backdrop\"\n data-thook=\"slideout-backdrop\"\n (click)=\"close()\"\n ></div>\n </div>\n</ng-container>\n", styles: [":host{--background-hsl: 0deg, 0%, 0%;--gds-ref-pallet-base200: hsl(0, 0%, 91%);--gds-sys-color-base: hsl(0, 0%, 20%);--gds-sys-color-font: hsl(0, 0%, 20%);--gds-sys-shape-corner-round: 50%;--grey-500: rgb(222, 222, 222);--sg-border-color: hsl(0, 0%, 53%);--sg-border-radius: .25rem;--sg-border-width: 1px;--sg-hsl-contrast: 0deg, 0%, 0%;--sg-modal-backdrop-background: rgba(0, 0, 0, .5);--sg-modal-background: #fff;--sg-modal-box-shadow: 0 .125rem .375rem rgba(0, 0, 0, .15);--sg-z-index-modal-backdrop: 1040;--sg-z-index-modal: 1050;--text-primary-color: rgb(51, 51, 51)}:host .gds-slide-out{background:var(--sg-modal-background);display:flex;flex-direction:column;box-shadow:var(--sg-modal-box-shadow);position:absolute;width:100%;z-index:var(--sg-z-index-modal);position:fixed;height:100dvh;max-width:512px;min-height:-webkit-fill-available;min-height:-moz-available;min-height:stretch;right:0;top:0;transition:transform .35s cubic-bezier(.33,1,.68,1);transform:translate(100%);z-index:1050}:host .gds-slide-out>.header,:host .gds-slide-out>header{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .gds-slide-out>.header h3,:host .gds-slide-out>.header .h3,:host .gds-slide-out>header h3,:host .gds-slide-out>header .h3{margin-bottom:0;margin-top:0}:host .gds-slide-out>.header h3+.close,:host .gds-slide-out>.header .h3+.close,:host .gds-slide-out>header h3+.close,:host .gds-slide-out>header .h3+.close{margin:-7px;min-width:2rem}:host .gds-slide-out>.body{padding:1rem;overflow:auto;width:100%}:host .gds-slide-out>.body p{margin-bottom:0;margin-top:0}:host .gds-slide-out>.footer,:host .gds-slide-out>footer{padding:1rem;width:100%}@media (min-width: 36em){:host .gds-slide-out>.footer,:host .gds-slide-out>footer{display:flex;justify-content:flex-end}}@media (max-width: 35.98em){:host .gds-slide-out>.footer button+button,:host .gds-slide-out>.footer button+.button,:host .gds-slide-out>.footer .button+button,:host .gds-slide-out>.footer .button+.button,:host .gds-slide-out>footer button+button,:host .gds-slide-out>footer button+.button,:host .gds-slide-out>footer .button+button,:host .gds-slide-out>footer .button+.button{margin-top:.75rem}}@media (min-width: 36em){:host .gds-slide-out>.footer button+button,:host .gds-slide-out>.footer button+.button,:host .gds-slide-out>.footer .button+button,:host .gds-slide-out>.footer .button+.button,:host .gds-slide-out>footer button+button,:host .gds-slide-out>footer button+.button,:host .gds-slide-out>footer .button+button,:host .gds-slide-out>footer .button+.button{margin-left:.75rem}}:host .gds-slide-out.is-entering,:host .gds-slide-out.entered{transform:translate(0)}:host .gds-slide-out.is-exiting{transform:translate(100%)}:host .gds-slide-out.large{max-width:720px}:host .gds-slide-out>.body{flex:1 0}:host .gds-slide-out.left{left:0}:host .gds-slide-out.gds-slide-out--768{max-width:48rem}:host .gds-slide-out.gds-slide-out--960{max-width:60rem}:host .gds-slide-out.gds-slide-out--768 header,:host .gds-slide-out.gds-slide-out--960 header{padding:1.5rem 2rem 1rem}:host .gds-slide-out.gds-slide-out--768 .body,:host .gds-slide-out.gds-slide-out--960 .body{padding:2rem 2rem 1rem}:host .gds-slide-out.gds-slide-out--768 footer,:host .gds-slide-out.gds-slide-out--960 footer{padding:1rem 2rem 2rem}:host .gds-slide-out.auto-width{width:auto;max-width:initial}:host .hide-if-empty:empty{display:none}:host .nggv-backdrop{background:var(--sg-modal-backdrop-background);inset:0;position:fixed;z-index:var(--sg-z-index-modal-backdrop);display:block;transition:opacity .5s cubic-bezier(.33,1,.68,1)}:host .nggv-backdrop--transparent{opacity:0}:host .nggv-backdrop--transparent.entered,:host .nggv-backdrop--transparent.is-entering{opacity:1}:host .nggv-backdrop--transparent.is-exiting{opacity:0}:host .gds-slide-out__content{padding:1rem;overflow:auto;width:100%}:host .gds-slide-out__content p{margin-bottom:0;margin-top:0}:host .modal-dialog__actions,:host .gds-slide-out__header,:host .modal-body,:host .gds-slide-out__content{box-sizing:border-box}:host .modal-slide-out__heading{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .modal-slide-out__heading h3,:host .modal-slide-out__heading .h3{margin-bottom:0;margin-top:0}:host .modal-slide-out__heading h3+.close,:host .modal-slide-out__heading .h3+.close{margin:-7px;min-width:2rem}:host .nggv-modal-slideout__close{background-color:transparent;padding:0;font-size:0;background:var(--gds-sys-color-surface);border:0;border-radius:50%;content:\"\";cursor:pointer;display:flex;font-family:inherit;height:2rem;position:relative;width:2rem}@media (hover: none) and (pointer: coarse){:host .nggv-modal-slideout__close:not(:disabled):not(.disabled){padding:.375rem;height:2.75rem;width:2.75rem}:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>i{background:var(--gds-ref-pallet-base200);height:2rem;width:2rem;border-radius:50%;position:relative;--color: var(--gds-sys-color-base)}:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>div:after,:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>div:before{height:.789375rem;width:.130625rem;top:.625rem}}:host .nggv-modal-slideout__close:focus:not(:focus-visible){box-shadow:none;outline:0}:host .nggv-modal-slideout__close:focus,:host .nggv-modal-slideout__close:focus-visible i{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .nggv-modal-slideout__close>i{border-radius:var(--gds-sys-shape-corner-round);display:block;width:100%;height:100%}:host .nggv-modal-slideout__close>i:after,:host .nggv-modal-slideout__close>i:before{background:var(--gds-sys-color-font);content:\"\";display:block;height:.789375rem;width:.130625rem;border-radius:.5px;left:calc(50% - .0625rem);position:absolute;top:.625rem}:host .nggv-modal-slideout__close>i:after{transform:rotate(45deg)}:host .nggv-modal-slideout__close>i:before{transform:rotate(-45deg)}:host .nggv-modal-slideout__close>svg path{fill:var(--gds-sys-color-font)}@media (min-width: 48em){:host .nggv-modal-slideout__close:not(:disabled,.disabled):hover>i{background:color-mix(in srgb,var(--gds-sys-color-font) 10%,transparent)}:host .nggv-modal-slideout__close:not(:disabled,.disabled):hover:active>i{background:color-mix(in srgb,var(--gds-sys-color-font) 20%,transparent)}}:host .modal-dialog__actions button{background-color:transparent;border:0;cursor:pointer;padding:0;padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);font-weight:500;min-height:2.75rem;align-items:center;display:inline-flex;justify-content:center;font-size:1rem;font-family:inherit}:host .modal-dialog__actions button:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions button:focus,:host .modal-dialog__actions button:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media (max-width: 35.98em){:host .modal-dialog__actions button{min-width:100%}}@media screen and (-ms-high-contrast: active){:host .modal-dialog__actions button{border:2px solid currentcolor}}:host .modal-dialog__actions button.small{min-height:2rem;padding:.4375rem .75rem;line-height:1rem}:host .modal-dialog__actions button.large{min-height:4rem;padding:1rem 1.5rem;font-size:1.5rem;line-height:2rem}:host .modal-dialog__actions .primary{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:#007ac7;border-color:#007ac7;color:#fff;--color: #fff}:host .modal-dialog__actions .primary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3}:host .modal-dialog__actions .primary[aria-selected=true],:host .modal-dialog__actions .primary:active,:host .modal-dialog__actions .primary.active,:host .modal-dialog__actions .primary.active:hover,:host .modal-dialog__actions .primary:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .modal-dialog__actions .primary:focus-visible{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3!important}:host .modal-dialog__actions .primary:disabled,:host .modal-dialog__actions .primary.disabled,:host .modal-dialog__actions .primary[aria-disabled=true]{background:var(--form-control-primary-bg-disabled)!important;color:var(--text-primary-disabled-color)!important;border-color:var(--border-primary-disabled-color)!important;cursor:not-allowed}:host .modal-dialog__actions .primary:disabled::placeholder,:host .modal-dialog__actions .primary.disabled::placeholder,:host .modal-dialog__actions .primary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .modal-dialog__actions .secondary{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:transparent;border-color:#007ac7;color:#007ac7;--color: rgb(0, 122, 199)}:host .modal-dialog__actions .secondary:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions .secondary:focus,:host .modal-dialog__actions .secondary:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .modal-dialog__actions .secondary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3}:host .modal-dialog__actions .secondary[aria-selected=true],:host .modal-dialog__actions .secondary:active,:host .modal-dialog__actions .secondary.active,:host .modal-dialog__actions .secondary.active:hover,:host .modal-dialog__actions .secondary:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .modal-dialog__actions .secondary:disabled,:host .modal-dialog__actions .secondary.disabled,:host .modal-dialog__actions .secondary[aria-disabled=true]{background:var(--sg-form-control-bg-disabled)!important;color:var(--text-disabled-color)!important;border-color:var(--border-disabled-color)!important;cursor:not-allowed}:host .modal-dialog__actions .secondary:disabled::placeholder,:host .modal-dialog__actions .secondary.disabled::placeholder,:host .modal-dialog__actions .secondary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .modal-dialog__actions .danger{color:#bb000c;--color: rgb(187, 0, 12);border-color:transparent;transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s}:host .modal-dialog__actions .danger:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#d81a1a;color:#fff;--background: rgb(216, 26, 26);--color: rgb(255, 255, 255);border-color:#d81a1a}:host .modal-dialog__actions .danger[aria-selected=true],:host .modal-dialog__actions .danger:active,:host .modal-dialog__actions .danger.active,:host .modal-dialog__actions .danger.active:hover,:host .modal-dialog__actions .danger:active:hover{background-color:#bb000c;color:#fff;--background: rgb(187, 0, 12);--color: rgb(255, 255, 255);border-color:#bb000c}:host .modal-dialog__actions .danger[aria-selected]:hover,:host .modal-dialog__actions .danger.active:hover,:host .modal-dialog__actions .danger:active:hover{opacity:.9}:host .modal-dialog__actions .danger:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions .danger:focus,:host .modal-dialog__actions .danger:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host #sdv-modal-body{flex:1}\n"] }]
210
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { slideOutRef: [{
211
+ type: ViewChild,
212
+ args: ['slideOut']
213
+ }], side: [{
214
+ type: Input
215
+ }], shown: [{
216
+ type: Input
217
+ }], initiallyShown: [{
218
+ type: Input
219
+ }], heading: [{
220
+ type: Input
221
+ }], title: [{
222
+ type: Input
223
+ }], content: [{
224
+ type: Input
225
+ }], closable: [{
226
+ type: Input
227
+ }], autoWidth: [{
228
+ type: Input
229
+ }], thook: [{
230
+ type: Input
231
+ }], closeButtonAriaLabel: [{
232
+ type: Input
233
+ }], buttons: [{
234
+ type: Input
235
+ }], nggvCloseEvent: [{
236
+ type: Output
237
+ }], nggvPositiveEvent: [{
238
+ type: Output
239
+ }], nggvNeutralEvent: [{
240
+ type: Output
241
+ }], nggvNegativeEvent: [{
242
+ type: Output
243
+ }], close: [{
244
+ type: HostListener,
245
+ args: ['click', ['$event', '"host"']]
246
+ }, {
247
+ type: HostListener,
248
+ args: ['document:keydown.escape', ['$event']]
249
+ }], focusTrap: [{
250
+ type: HostListener,
251
+ args: ['keydown', ['$event']]
252
+ }] } });
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtb3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL21vZGFsL3NsaWRlLW91dC9zbGlkZS1vdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvbW9kYWwvc2xpZGUtb3V0L3NsaWRlLW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQTtBQUM1QixPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTs7OztBQUl0Qjs7Ozs7Ozs7Ozs7R0FXRztBQTJESCxNQUFNLE9BQU8scUJBQXFCO0lBUWhDLElBQWEsS0FBSyxDQUFDLEtBQWM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7UUFDbkIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUNyQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUNELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUNwQixDQUFDO0lBdUJELGdCQUFnQjtJQUNoQixJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFBO0lBQzdCLENBQUM7SUFNRCw2SEFBNkg7SUFDN0gsSUFBYSxPQUFPLENBQUMsT0FBc0I7UUFDekMsSUFB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QWpCLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUdHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFZTyxPQUFPO3NCQUFuQixLQUFLO2dCQUtJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBMERQLEtBQUs7c0JBRkosWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDOztzQkFDMUMsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkF1Qm5ELFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhbmltYXRlLFxuICBncm91cCxcbiAgcXVlcnksXG4gIHN0eWxlLFxuICB0cmFuc2l0aW9uLFxuICB0cmlnZ2VyLFxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJ1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuaW1wb3J0IHsgRGlhbG9nQnV0dG9ucyB9IGZyb20gJy4uL21vZGFsLnR5cGVzJ1xuXG4vKiogTW9kYWwgc2xpZGUtb3V0IGNvbXBvbmVudCBiYXNlZCBvbiB2YW5pbGxhIHBhdHRlcm4gbGlicmFyeSBkZXNpZ24uXG4gKiBUaGUgbW9kYWwgdGl0bGUgY2FuIGJlIHNldCB1c2luZyB0aGUgQElucHV0IGhlYWRpbmcsIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgdHJhbnNsYXRlZCBpZlxuICogdGhlIHN0cmluZyBtYXRjaGVzIGEgY21zIGtleS5cbiAqIENvbnRlbnQgY2FuIGJlIGluamVjdGVkIGludG8gdGhlIGJvZHkgb2YgdGhlIHNsaWRlLW91dCBieSBlaXRoZXIgc2V0dGluZyB0aGUgQElucHV0IGNvbnRlbnQgdG8gYW55IHR5cGUgb2ZcbiAqIG1hcmtkb3duLCBvciB1c2luZyBjb250ZW50IHByb2plY3Rpb24gKGFkZGluZyBjb250ZW50IGJldHdlZW4gdGhlIGBuZ2d2LXNsaWRlb3V0LW1vZGFsYC1zdGFydCBhbmQgZW5kIHRhZykuXG4gKiBJZiB0aGUgY29udGVudCBuZWVkcyB0byBzdHJldGNoIG91dHNpZGUgdGhlIG5vcm1hbCBwYWRkZWQgYXJlYSwgYWRkIHRoZSBhdHRyaWJ1dGUgYHNsb3Q9XCJvdXRzaWRlLWNvbnRlbnRcImAgdG8gdGhlXG4gKiBwcm9qZWN0ZWQgY29udGVudCBtYWluIGVsZW1lbnQuXG4gKiBUZXN0IGhvb2tzOlxuICogVGhlIG1vZGFsIGhvb2sgZGVmYXVsdHMgdG8gJ3NsaWRlb3V0JyBidXQgaXMgY3VzdG9taXplYWJsZS5cbiAqIFRoZSBjbG9zaW5nIGJ1dHRvbiBjYW4gYmUgc2VsZWN0ZWQgdXNpbmcgJ3NsaWRlb3V0LWNsb3NlJy5cbiAqIFRoZSBiYWNrZHJvcCBpcyBzZWxlY3RhYmxlIHVzaW5nICdzbGlkZW91dC1iYWNrZHJvcCcuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nZ3Ytc2xpZGVvdXQtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2xpZGUtb3V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2xpZGUtb3V0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdtb2RhbEFuaW1hdGlvbicsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgcXVlcnkoJy5nZHMtc2xpZGUtb3V0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyB9KSwge1xuICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICB9KSxcbiAgICAgICAgcXVlcnkoJy5nZHMtYmFja2Ryb3AsIFtyb2xlPWRpYWxvZ10nLCBzdHlsZSh7IG9wYWNpdHk6ICcwJyB9KSwge1xuICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXAoW1xuICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgJy5nZHMtc2xpZGUtb3V0JyxcbiAgICAgICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICAgICczNTBtcyBjdWJpYy1iZXppZXIoMC4zMywgMSwgMC42OCwgMSknLFxuICAgICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHsgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgICApLFxuICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgJy5nZHMtYmFja2Ryb3AsIFtyb2xlPWRpYWxvZ10nLFxuICAgICAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgICAgJzM1MG1zIGN1YmljLWJlemllcigwLjMzLCAxLCAwLjY4LCAxKScsXG4gICAgICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogJzEnIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHsgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgICApLFxuICAgICAgICBdKSxcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICBxdWVyeSgnLmdkcy1zbGlkZS1vdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknIH0pLCB7XG4gICAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cChbXG4gICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAnLmdkcy1zbGlkZS1vdXQnLFxuICAgICAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgICAgJzM1MG1zIGN1YmljLWJlemllcigwLjMzLCAxLCAwLjY4LCAxKScsXG4gICAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgeyBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICAgICksXG4gICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAnLmdkcy1iYWNrZHJvcCwgW3JvbGU9ZGlhbG9nXScsXG4gICAgICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgICAnMzUwbXMgY3ViaWMtYmV6aWVyKDAuMzMsIDEsIDAuNjgsIDEpJyxcbiAgICAgICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAnMCcgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgeyBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICAgICksXG4gICAgICAgIF0pLFxuICAgICAgXSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5nZ3ZTbGlkZU91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgQFZpZXdDaGlsZCgnc2xpZGVPdXQnKSBzbGlkZU91dFJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZFxuXG4gIC8qKiBTZXRzIGZyb20gd2hpY2ggc2lkZSB0aGUgbW9kYWwgc2hvdWxkIG9wZW4uICovXG4gIEBJbnB1dCgpIHNpZGU6ICdsZWZ0JyB8ICdyaWdodCcgPSAncmlnaHQnXG4gIC8qKiBEZWZpbmVzIHRoZSBkZWZhdWx0IHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIHNsaWRlLW91dC4gKi9cbiAgcHJpdmF0ZSBfc2hvd24gPSBmYWxzZVxuICBASW5wdXQoKSBzZXQgc2hvd24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93biA9IHZhbHVlXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmhpZGVPdmVyZmxvdygpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVzZXRPdmVyZmxvdygpXG4gICAgfVxuICB9XG4gIGdldCBzaG93bigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2hvd25cbiAgfVxuICAvKiogRGVmaW5lcyB0aGUgZGVmYXVsdCB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSBtb2RhbC4gKi9cbiAgQElucHV0KCkgaW5pdGlhbGx5U2hvd24gPSBmYWxzZVxuICAvKiogU2V0cyBtb2RhbCBoZWFkaW5nLiBXaWxsIGJlIHRyYW5zbGF0ZWQgKHVzaW5nIHRyYW5zbG9jbykgaWYgdGhlIHN0cmluZyBtYXRjaGVzIGEgY21zIGtleS4gKi9cbiAgQElucHV0KCkgaGVhZGluZyE6IHN0cmluZ1xuICAvKipcbiAgICogU2V0cyBtb2RhbCB0aXRsZS4gV2lsbCBiZSB0cmFuc2xhdGVkICh1c2luZyB0cmFuc2xvY28pIGlmIHRoZSBzdHJpbmcgbWF0Y2hlcyBhIGNtcyBrZXkuXG4gICAqIEBkZXByZWNhdGVkIC0gdXNlIEBJbnB1dCgpIGhlYWRpbmcgaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCgpIHRpdGxlITogc3RyaW5nXG4gIC8qKiBTZXRzIGNvbnRlbnQgYm9keSBvZiB0aGUgbW9kYWwgYW5kIGNhbiBjb250YWluIGh0bWwgY29kZS4gVGhlIGNvbnRlbnQgYm9keSBjYW4gYWxzbyBiZSBzZXQgYnkgbmVzdGluZyBjaGlsZHJlbiB0byB0aGUgbW9kYWwgdGFnLiAqL1xuICBASW5wdXQoKSBjb250ZW50Pzogc3RyaW5nXG4gIC8qKiBTZXRzIHdoZXRoZXIgaXQgaXMgcG9zc2libGUgdG8gY2xvc2UgdGhlIG1vZGFsIGZyb20gdGhlIHRvcCByaWdodCBjb3JuZXIuICovXG4gIEBJbnB1dCgpIGNsb3NhYmxlID0gdHJ1ZVxuICAvKiogQWxsb3dzIHRoZSBtb2RhbCBjb250ZW50IHRvIGRlY2lkZSB0aGUgd2lkdGggb2YgdGhlIG1vZGFsLiAqL1xuICBASW5wdXQoKSBhdXRvV2lkdGggPSBmYWxzZVxuXG4gIC8qKiBTcGVjaWFsIHByb3BlcnR5IHVzZWQgZm9yIHNlbGVjdGluZyBET00gZWxlbWVudHMgZHVyaW5nIGF1dG9tYXRlZCBVSSB0ZXN0aW5nLiAqL1xuICBASW5wdXQoKSB0aG9vayA9ICdzbGlkZW91dCdcblxuICAvKiogQXJpYSBsYWJlbCBmb3IgdGhlIENsb3NlIGJ1dHRvbiB3aXRoIFwiWFwiIGljb24sIGluIHRoZSBoZWFkZXIgKi9cbiAgQElucHV0KCkgY2xvc2VCdXR0b25BcmlhTGFiZWw/OiBzdHJpbmdcblxuICAvKiogQGludGVybmFsICovXG4gIGdldCBmcm9tTGVmdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaWRlID09PSAnbGVmdCdcbiAgfVxuXG4gIC8vIC8qKiBAaW50ZXJuYWwgKi9cbiAgLy8gY2xvc2VJY29uID0gZmFUaW1lcztcblxuICBfYnV0dG9uczogRGlhbG9nQnV0dG9ucyB8IHVuZGVmaW5lZFxuICAvKiogQnV0dG9ucyBhcmUgZGVmaW5lZCBhcyBhIGtleS12YWx1ZSBwYWlyIHdoZXJlIGtleSBpcyBvbmUgb2YgXCJwb3NpdGl2ZXxuZXV0cmFsfG5lZ2F0aXZlXCIgYW5kIHZhbHVlIGlzIHRoZSBidXR0b24gbGFiZWwuICovXG4gIEBJbnB1dCgpIHNldCBidXR0b25zKGJ1dHRvbnM6IERpYWxvZ0J1dHRvbnMpIHtcbiAgICB0aGlzLl9idXR0b25zID0gYnV0dG9uc1xuICB9XG5cbiAgLyoqIFdpbGwgZW1pdCB0cnVlIG9uIGNsb3NpbmcgZXZlbnQuICovXG4gIEBPdXRwdXQoKSBuZ2d2Q2xvc2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKVxuICBAT3V0cHV0KCkgbmdndlBvc2l0aXZlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KClcbiAgQE91dHB1dCgpIG5nZ3ZOZXV0cmFsRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KClcbiAgQE91dHB1dCgpIG5nZ3ZOZWdhdGl2ZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpXG5cbiAgcHJpdmF0ZSBwcmV2aW91czogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSBmaXJzdEZvY3VzYWJsZTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSBsYXN0Rm9jdXNhYmxlOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaG9zdDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICkge1xuICAgIC8vIGFwcGVuZHMgbWV0aG9kcyBmb3Igb3BlbmluZyBhbmQgY2xvc2luZyBtb2RhbCB0byBuYXRpdmUgZWxlbWVudFxuICAgIHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50Lm9wZW4gPSB0aGlzLm9wZW4uYmluZCh0aGlzKVxuICAgIHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LmNsb3NlID0gdGhpcy5jbG9zZS5iaW5kKHRoaXMpXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl9zaG93biA9IHRoaXMuaW5pdGlhbGx5U2hvd25cbiAgICBpZiAodGhpcy5zaG93bikgdGhpcy5saW1pdEZvY3VzYWJsZSgpXG4gIH1cblxuICBwdWJsaWMgb25BY3Rpb24oZXZlbnQ6IEV2ZW50LCBhY3Rpb246IHN0cmluZykge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICBzd2l0Y2ggKGFjdGlvbikge1xuICAgICAgY2FzZSAncG9zaXRpdmUnOlxuICAgICAgICB0aGlzLm5nZ3ZQb3NpdGl2ZUV2ZW50LmVtaXQoKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnbmV1dHJhbCc6XG4gICAgICAgIHRoaXMubmdndk5ldXRyYWxFdmVudC5lbWl0KClcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ25lZ2F0aXZlJzpcbiAgICAgICAgdGhpcy5uZ2d2TmVnYXRpdmVFdmVudC5lbWl0KClcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gICAgdGhpcy5jbG9zZShldmVudCwgJ2FjdGlvbicpXG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIG9uIGEgbW9kYWwgZWxlbWVudC4gT3BlbnMgdGhlIG1vZGFsIGFuZCBzZXRzIGZvY3VzIHRvIHRoZSBsYXN0IGZvY3VzYWJsZSBlbGVtZW50IGluIHRoZSBtb2RhbC5cbiAgICpcbiAgICogQHBhcmFtIG9wZW5lciAtIHJlZmVyZW5jZSB0byBsYXN0IGZvY3VzZWQgZWxlbWVudCBiZWZvcmUgb3BlbmluZyBtb2RhbFxuICAgKiBAcmV0dXJucyAtIHRydWVcbiAgICovXG4gIG9wZW4ob3BlbmVyPzogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICB0aGlzLl9zaG93biA9IHRydWVcbiAgICB0aGlzLnByZXZpb3VzID0gb3BlbmVyIHx8IChkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KVxuICAgIHRoaXMuaGlkZU92ZXJmbG93KClcbiAgICB0aGlzLmxpbWl0Rm9jdXNhYmxlKClcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCBvbiBhIG1vZGFsIGVsZW1lbnQuIENsb3NlcyB0aGUgbW9kYWwgYW5kIGVtaXRzIGEgYG5nZ3ZDbG9zZUV2ZW50YC4gU2V0cyBmb2N1cyB0byB0aGUgbGF0cyBmb2N1c2VkIGVsZW1lbnQgaWYgYW4gZWxlbWVudCB3YXMgc2VudCBpbiB0byBvcGVuIGZ1bmN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnRcbiAgICogQHBhcmFtIGluaXRpYXRvclxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCcsICdcImhvc3RcIiddKVxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pXG4gIGNsb3NlKGV2ZW50PzogRXZlbnQsIGluaXRpYXRvcj86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIGluaXRpYXRvciA9PT0gJ2hvc3QnICYmXG4gICAgICBldmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQgJiZcbiAgICAgIGV2ZW50LnRhcmdldCAhPT0gZXZlbnQuY3VycmVudFRhcmdldFxuICAgIClcbiAgICAgIHJldHVyblxuXG4gICAgdGhpcy5yZXNldE92ZXJmbG93KClcblxuICAgIGlmICh0aGlzLnNob3duICYmIHRoaXMuY2xvc2FibGUpIHtcbiAgICAgIHRoaXMubmdndkNsb3NlRXZlbnQuZW1pdCh0aGlzLnNob3duKVxuICAgICAgdGhpcy5zaG93biA9IGZhbHNlXG4gICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnByZXZpb3VzKSB0aGlzLnByZXZpb3VzLmZvY3VzKClcbiAgICAgICAgdGhpcy5wcmV2aW91cyA9IHVuZGVmaW5lZFxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBmb2N1c1RyYXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnVGFiJykgcmV0dXJuXG4gICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAvLyBzaGlmdCArIHRhYlxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmxhc3RGb2N1c2FibGUgJiZcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5maXJzdEZvY3VzYWJsZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMubGFzdEZvY3VzYWJsZS5mb2N1cygpXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdGFiXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuZmlyc3RGb2N1c2FibGUgJiZcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5sYXN0Rm9jdXNhYmxlXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5maXJzdEZvY3VzYWJsZS5mb2N1cygpXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxpbWl0Rm9jdXNhYmxlKCkge1xuICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5zbGlkZU91dFJlZikgcmV0dXJuXG4gICAgICBjb25zdCBmb2N1c2FibGUgPSB0aGlzLnNsaWRlT3V0UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgJ2J1dHRvbiwgW2hyZWZdLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PVwiLTFcIl0pJyxcbiAgICAgIClcbiAgICAgIHRoaXMuZmlyc3RGb2N1c2FibGUgPSBmb2N1c2FibGVbMF1cbiAgICAgIHRoaXMubGFzdEZvY3VzYWJsZSA9IGZvY3VzYWJsZVtmb2N1c2FibGUubGVuZ3RoIC0gMV1cbiAgICAgIGlmICh0aGlzLmxhc3RGb2N1c2FibGUpIHRoaXMubGFzdEZvY3VzYWJsZS5mb2N1cygpXG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgaGlkZU92ZXJmbG93KCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93JywgJ2hpZGRlbicpXG4gIH1cblxuICBwcml2YXRlIHJlc2V0T3ZlcmZsb3coKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShkb2N1bWVudC5ib2R5LCAnb3ZlcmZsb3cnKVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd25cIj5cbiAgPGRpdlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdnZHMtc2xpZGUtb3V0LS1sZWZ0JzogZnJvbUxlZnQsXG4gICAgICAnZ2RzLXNsaWRlLW91dC0tcmlnaHQnOiAhZnJvbUxlZnQsXG4gICAgfVwiXG4gICAgKnRyYW5zbG9jbz1cImxldCB0XCJcbiAgICBbY2xhc3MuLWFjdGl2ZV09XCJzaG93blwiXG4gICAgW2F0dHIuZGF0YS10aG9va109XCJ0aG9va1wiXG4gICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiIXNob3duXCJcbiAgICBbQG1vZGFsQW5pbWF0aW9uXVxuICA+XG4gICAgPGRpdlxuICAgICAgI3NsaWRlT3V0XG4gICAgICBjbGFzcz1cImdkcy1zbGlkZS1vdXRcIlxuICAgICAgW2NsYXNzLmF1dG8td2lkdGhdPVwiYXV0b1dpZHRoXCJcbiAgICAgIFtjbGFzcy5lbnRlcmVkXT1cInNob3duXCJcbiAgICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiZ2RzLW1vZGFsLXRpdGxlXCJcbiAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJnZHMtbW9kYWwtYm9keVwiXG4gICAgPlxuICAgICAgPGhlYWRlciBjbGFzcz1cImdkcy1zbGlkZS1vdXRfX2hlYWRlclwiPlxuICAgICAgICA8aDMgaWQ9XCJnZHMtbW9kYWwtdGl0bGVcIj5cbiAgICAgICAgICB7eyBoZWFkaW5nIHx8IHRpdGxlIHx8ICcnIH19XG4gICAgICAgIDwvaDM+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBkYXRhLXRlc3RpZD1cIm1vZGFsLWNsb3NlLWJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJuZ2d2LW1vZGFsLXNsaWRlb3V0X19jbG9zZVwiXG4gICAgICAgICAgKGNsaWNrKT1cInRoaXMuY2xvc2UoKVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjbG9zZUJ1dHRvbkFyaWFMYWJlbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8aT48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9oZWFkZXI+XG5cbiAgICAgIDxzZWN0aW9uIGlkPVwibW9kYWwtYm9keVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2RzLXNsaWRlLW91dF9fY29udGVudCBoaWRlLWlmLWVtcHR5XCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImNvbnRlbnRcIiBbaW5uZXJIdG1sXT1cImNvbnRlbnRcIj48L2Rpdj5cbiAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2xvdD0nb3V0c2lkZS1jb250ZW50J11cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L3NlY3Rpb24+XG5cbiAgICAgIDxmb290ZXIgY2xhc3M9XCJtb2RhbC1kaWFsb2dfX2FjdGlvbnNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiZGFuZ2VyXCJcbiAgICAgICAgICB0eXBlPVwicmVzZXRcIlxuICAgICAgICAgIFthdHRyLmRhdGEtdGhvb2tdPVwiJ2RpYWxvZy0nICsgKF9idXR0b25zPy5uZWdhdGl2ZSB8fCAnbmVnYXRpdmUnKVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uKCRldmVudCwgJ25lZ2F0aXZlJylcIlxuICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uQWN0aW9uKCRldmVudCwgJ25lZ2F0aXZlJylcIlxuICAgICAgICAgICpuZ0lmPVwiX2J1dHRvbnMgJiYgX2J1dHRvbnMubmVnYXRpdmVcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgdChfYnV0dG9ucy5uZWdhdGl2ZSkgfX1cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBbYXR0ci5kYXRhLXRob29rXT1cIidkaWFsb2ctJyArIChfYnV0dG9ucz8ubmV1dHJhbCB8fCAnbmV1dHJhbCcpXCJcbiAgICAgICAgICAoY2xpY2spPVwib25BY3Rpb24oJGV2ZW50LCAnbmV1dHJhbCcpXCJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkFjdGlvbigkZXZlbnQsICduZXV0cmFsJylcIlxuICAgICAgICAgICpuZ0lmPVwiX2J1dHRvbnMgJiYgX2J1dHRvbnMubmV1dHJhbFwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyB0KF9idXR0b25zLm5ldXRyYWwpIH19XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cInByaW1hcnlcIlxuICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgIFthdHRyLmRhdGEtdGhvb2tdPVwiJ2RpYWxvZy0nICsgKF9idXR0b25zPy5wb3NpdGl2ZSB8fCAncG9zaXRpdmUnKVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uKCRldmVudCwgJ3Bvc2l0aXZlJylcIlxuICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uQWN0aW9uKCRldmVudCwgJ3Bvc2l0aXZlJylcIlxuICAgICAgICAgICpuZ0lmPVwiX2J1dHRvbnMgJiYgX2J1dHRvbnMucG9zaXRpdmVcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgdChfYnV0dG9ucy5wb3NpdGl2ZSkgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Zvb3Rlcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwibmdndi1iYWNrZHJvcFwiXG4gICAgICBkYXRhLXRob29rPVwic2xpZGVvdXQtYmFja2Ryb3BcIlxuICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgID48L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './pagination.component';
2
+ export * from './pagination.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9wYWdpbmF0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGFnaW5hdGlvbi5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL3BhZ2luYXRpb24ubW9kdWxlJ1xuIl19
@@ -0,0 +1,144 @@
1
+ import { Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import '@sebgroup/green-core/components/icon/icons/chevron-left.js';
3
+ import '@sebgroup/green-core/components/icon/icons/chevron-right.js';
4
+ import '@sebgroup/green-core/components/icon/icons/arrow-left.js';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@angular/forms";
8
+ import * as i3 from "@jsverse/transloco";
9
+ import * as i4 from "@sebgroup/green-angular/src/lib/shared";
10
+ /** The Pagination component is used to separate long sets of data so that it is easier for a user to consume information. To change the current page simply click on the page number. */
11
+ export class PaginationComponent {
12
+ constructor() {
13
+ /** Total size of pagination */
14
+ this.size = 0;
15
+ /** Selected page */
16
+ this.value = 1;
17
+ /** Use first and last navigation buttons*/
18
+ this.useFirstAndLast = true;
19
+ /** Use 'Go to page' input field */
20
+ this.showGoToPage = true;
21
+ /** Element class name */
22
+ this.className = '';
23
+ /** Callback on page change */
24
+ this.pageNumberChange = new EventEmitter();
25
+ /** @internal */
26
+ this.pageNumber = 0;
27
+ /** @internal */
28
+ this.list = [];
29
+ /** @internal */
30
+ this.dotnavList = [];
31
+ /** @internal */
32
+ this.pagingSize = 0;
33
+ /** @internal */
34
+ this.showEllipsisStart = false;
35
+ /** @internal */
36
+ this.showEllipsisEnd = false;
37
+ }
38
+ ngOnChanges(changes) {
39
+ if (changes?.offset || changes?.size) {
40
+ this.setPagingSize();
41
+ }
42
+ if (changes?.pagingLength || changes?.value) {
43
+ this.generateList();
44
+ }
45
+ }
46
+ /** @internal */
47
+ setPagingSize() {
48
+ const initialOffset = this.offset ? this.offset : 10;
49
+ this.pagingSize = Math.ceil(Number(this.size) / initialOffset);
50
+ this.generateList();
51
+ }
52
+ /** @internal */
53
+ handleOnChange(value) {
54
+ if (value <= 0) {
55
+ this.pageNumberChange.emit(1);
56
+ }
57
+ else if (value > this.pagingSize) {
58
+ this.pageNumberChange.emit(this.pagingSize);
59
+ }
60
+ else {
61
+ this.pageNumberChange.emit(value);
62
+ }
63
+ }
64
+ /** @internal */
65
+ handlePageInput(pageInput) {
66
+ this.handleOnChange(Number(pageInput));
67
+ }
68
+ /**
69
+ * Generates an array of the pages that needs to be displayed
70
+ * It depends on the size, offset, and the current value
71
+ */
72
+ generateList() {
73
+ const genList = [];
74
+ const length = this.pagingLength ? this.pagingLength : 5;
75
+ for (let i = 1; i <= this.pagingSize; i++) {
76
+ genList.push(i);
77
+ }
78
+ const medianValue = Math.ceil(length / 2);
79
+ let start = 0;
80
+ let end = this.pagingSize;
81
+ if (length < this.pagingSize) {
82
+ if (this.pagingSize - this.value < medianValue) {
83
+ start = this.pagingSize - length;
84
+ }
85
+ else if (this.value - medianValue > -1) {
86
+ start = this.value - medianValue;
87
+ }
88
+ end = start + length;
89
+ }
90
+ if (this.useFirstAndLast) {
91
+ if (start == 0) {
92
+ start = 1;
93
+ end = start + length;
94
+ }
95
+ if (end > this.pagingSize - 1) {
96
+ end = this.pagingSize - 1;
97
+ start = Math.max(1, end - length);
98
+ }
99
+ }
100
+ this.dotnavList = genList;
101
+ const pagingStart = genList[start];
102
+ const pagingEnd = genList[end - 1];
103
+ this.showEllipsisStart = pagingStart > 2;
104
+ this.showEllipsisEnd = pagingEnd < this.pagingSize - 1;
105
+ this.list = genList.slice(start, end);
106
+ }
107
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
108
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PaginationComponent, selector: "nggv-pagination", inputs: { size: "size", value: "value", firstText: "firstText", lastText: "lastText", nextText: "nextText", offset: "offset", pagingLength: "pagingLength", previousText: "previousText", useFirstAndLast: "useFirstAndLast", useTextNav: "useTextNav", useDotNav: "useDotNav", showGoToPage: "showGoToPage", className: "className", id: "id" }, outputs: { pageNumberChange: "pageNumberChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"pagination-wrapper\" [ngClass]=\"className\" [attr.id]=\"id\">\n <nav class=\"custom-pagination\">\n <ng-container *ngIf=\"useDotNav; else numNav\">\n <ul class=\"pagination dotnav\">\n <ng-container *ngFor=\"let num of dotnavList\">\n <li class=\"page-item\" (click)=\"handleOnChange(num)\" [value]=\"num\">\n <span\n class=\"page-dot-link\"\n [ngClass]=\"{ active: value === num }\"\n ></span>\n </li>\n </ng-container>\n </ul>\n </ng-container>\n\n <ng-template #numNav>\n <ul class=\"pagination\">\n <ng-container>\n <li class=\"page-item\" (click)=\"handleOnChange(value - 1)\">\n <button\n class=\"page-link\"\n [attr.title]=\"previousText\"\n [attr.disabled]=\"value === 1 ? 'disabled' : null\"\n >\n <span class=\"nav-action\">\n <ng-container *ngIf=\"useTextNav; else angleLeftIcon\">\n {{ previousText ? previousText : 'Previous' }}\n </ng-container>\n <ng-template #angleLeftIcon>\n <gds-icon-chevron-left\n *nggCoreElement\n ></gds-icon-chevron-left>\n </ng-template>\n </span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"useFirstAndLast\">\n <li class=\"page-item\" (click)=\"handleOnChange(1)\">\n <button\n class=\"page-link\"\n [ngClass]=\"{ active: value === 1 }\"\n [attr.title]=\"firstText\"\n >\n <span class=\"nav-num\">{{ 1 }}</span>\n </button>\n </li>\n\n <li class=\"page-item\" *ngIf=\"showEllipsisStart\">\n <span class=\"page-link\" [attr.title]=\"'...'\">\n <span class=\"nav-num\">...</span>\n </span>\n </li>\n </ng-container>\n\n <ng-container *ngFor=\"let num of list\">\n <li\n class=\"page-item\"\n [ngClass]=\"{ active: value === num }\"\n (click)=\"handleOnChange(num)\"\n value=\"num\"\n >\n <button class=\"page-link\" [ngClass]=\"{ active: value === num }\">\n <span class=\"nav-num\">{{ num }}</span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"useFirstAndLast\">\n <li class=\"page-item\" *ngIf=\"showEllipsisEnd\">\n <span class=\"page-link\" [attr.title]=\"'...'\">\n <span class=\"nav-num\">...</span>\n </span>\n </li>\n\n <li\n class=\"page-item\"\n (click)=\"handleOnChange(pagingSize)\"\n *ngIf=\"pagingSize > 1\"\n >\n <button\n class=\"page-link\"\n [ngClass]=\"{ active: value === pagingSize }\"\n [attr.title]=\"lastText\"\n >\n <span class=\"nav-num\">{{ pagingSize }}</span>\n </button>\n </li>\n </ng-container>\n\n <ng-container>\n <li class=\"page-item\" (click)=\"handleOnChange(value + 1)\">\n <button class=\"page-link\" [attr.title]=\"nextText\">\n <span class=\"nav-action\">\n <ng-container *ngIf=\"useTextNav; else angleRightIcon\">\n {{ nextText ? nextText : 'Next' }}\n </ng-container>\n <ng-template #angleRightIcon>\n <gds-icon-chevron-right\n *nggCoreElement\n ></gds-icon-chevron-right>\n </ng-template>\n </span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"showGoToPage\">\n <li>\n <div class=\"paging-input-wrapper\">\n <div class=\"label-wrapper\">\n <label for=\"pageInput\" *transloco=\"let t\">\n {{ t('label.gotopage') }}\n </label>\n </div>\n <div class=\"input-wrapper\">\n <input\n #pageInput\n data-thook=\"pagination-go-to-input\"\n min=\"1\"\n [max]=\"pagingSize\"\n id=\"pageInput\"\n class=\"gds-field\"\n type=\"number\"\n (keydown.enter)=\"handlePageInput(pageInput.value)\"\n [ngModel]=\"value\"\n />\n <button\n type=\"button\"\n data-thook=\"pagination-go-to-button\"\n (click)=\"handlePageInput(pageInput.value)\"\n >\n <gds-icon-chevron-right\n *nggCoreElement\n ></gds-icon-chevron-right>\n </button>\n </div>\n </div>\n </li>\n </ng-container>\n </ul>\n </ng-template>\n </nav>\n</div>\n", styles: [":host .pagination-wrapper .paging-input-wrapper{display:flex}:host .pagination-wrapper .paging-input-wrapper .label-wrapper{margin:auto;padding:0 1em}:host .pagination-wrapper .paging-input-wrapper .input-wrapper{display:flex;border:.0625em solid #868686;border-radius:4px;height:100%}:host .pagination-wrapper .paging-input-wrapper .input-wrapper input{border:0;padding:.5em;min-height:2.5rem;width:60px;box-sizing:border-box;border-radius:3px;font-size:1rem;font-family:inherit}:host .pagination-wrapper .paging-input-wrapper .input-wrapper input:focus{outline-color:#1a1a1a;outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .pagination-wrapper .paging-input-wrapper .input-wrapper>button{border:0;color:#1a1a1a;background-color:transparent;font-size:1rem;font-family:inherit}:host .pagination-wrapper .paging-input-wrapper .input-wrapper>button:focus{outline-color:#1a1a1a;outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .pagination-wrapper>.custom-pagination>.pagination{display:flex;list-style:none;margin-top:10px;margin-bottom:10px}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link{position:relative;text-align:center;padding-top:0;padding-bottom:0;min-width:38px;height:40px;display:inline-flex;align-items:center;background-color:transparent;color:#1a1a1a;border:none;border-radius:4px;font-size:1rem;font-family:inherit}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link.active{background-color:#1a1a1a;color:#eee}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link>.nav-num{margin:0 auto}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link>.nav-action{margin:0 auto;display:inline-flex}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link:focus{outline-color:#1a1a1a;outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link:hover{box-shadow:0 2px 6px #eee}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item{width:20px;height:25px}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item .page-dot-link{position:relative;display:inline-block;width:10px;height:10px;border-radius:50%;cursor:pointer;background-color:#a2ddfe;transition:all .2s;margin:0 auto;will-change:transform}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item .page-dot-link.active{background-color:#007ac7;cursor:default;transform:scale(1.3)}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item .page-dot-link:hover:not(.active){background-color:#41b0ee}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: i4.NggCoreElementDirective, selector: "[nggCoreElement]" }] }); }
109
+ }
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaginationComponent, decorators: [{
111
+ type: Component,
112
+ args: [{ selector: 'nggv-pagination', template: "<div class=\"pagination-wrapper\" [ngClass]=\"className\" [attr.id]=\"id\">\n <nav class=\"custom-pagination\">\n <ng-container *ngIf=\"useDotNav; else numNav\">\n <ul class=\"pagination dotnav\">\n <ng-container *ngFor=\"let num of dotnavList\">\n <li class=\"page-item\" (click)=\"handleOnChange(num)\" [value]=\"num\">\n <span\n class=\"page-dot-link\"\n [ngClass]=\"{ active: value === num }\"\n ></span>\n </li>\n </ng-container>\n </ul>\n </ng-container>\n\n <ng-template #numNav>\n <ul class=\"pagination\">\n <ng-container>\n <li class=\"page-item\" (click)=\"handleOnChange(value - 1)\">\n <button\n class=\"page-link\"\n [attr.title]=\"previousText\"\n [attr.disabled]=\"value === 1 ? 'disabled' : null\"\n >\n <span class=\"nav-action\">\n <ng-container *ngIf=\"useTextNav; else angleLeftIcon\">\n {{ previousText ? previousText : 'Previous' }}\n </ng-container>\n <ng-template #angleLeftIcon>\n <gds-icon-chevron-left\n *nggCoreElement\n ></gds-icon-chevron-left>\n </ng-template>\n </span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"useFirstAndLast\">\n <li class=\"page-item\" (click)=\"handleOnChange(1)\">\n <button\n class=\"page-link\"\n [ngClass]=\"{ active: value === 1 }\"\n [attr.title]=\"firstText\"\n >\n <span class=\"nav-num\">{{ 1 }}</span>\n </button>\n </li>\n\n <li class=\"page-item\" *ngIf=\"showEllipsisStart\">\n <span class=\"page-link\" [attr.title]=\"'...'\">\n <span class=\"nav-num\">...</span>\n </span>\n </li>\n </ng-container>\n\n <ng-container *ngFor=\"let num of list\">\n <li\n class=\"page-item\"\n [ngClass]=\"{ active: value === num }\"\n (click)=\"handleOnChange(num)\"\n value=\"num\"\n >\n <button class=\"page-link\" [ngClass]=\"{ active: value === num }\">\n <span class=\"nav-num\">{{ num }}</span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"useFirstAndLast\">\n <li class=\"page-item\" *ngIf=\"showEllipsisEnd\">\n <span class=\"page-link\" [attr.title]=\"'...'\">\n <span class=\"nav-num\">...</span>\n </span>\n </li>\n\n <li\n class=\"page-item\"\n (click)=\"handleOnChange(pagingSize)\"\n *ngIf=\"pagingSize > 1\"\n >\n <button\n class=\"page-link\"\n [ngClass]=\"{ active: value === pagingSize }\"\n [attr.title]=\"lastText\"\n >\n <span class=\"nav-num\">{{ pagingSize }}</span>\n </button>\n </li>\n </ng-container>\n\n <ng-container>\n <li class=\"page-item\" (click)=\"handleOnChange(value + 1)\">\n <button class=\"page-link\" [attr.title]=\"nextText\">\n <span class=\"nav-action\">\n <ng-container *ngIf=\"useTextNav; else angleRightIcon\">\n {{ nextText ? nextText : 'Next' }}\n </ng-container>\n <ng-template #angleRightIcon>\n <gds-icon-chevron-right\n *nggCoreElement\n ></gds-icon-chevron-right>\n </ng-template>\n </span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"showGoToPage\">\n <li>\n <div class=\"paging-input-wrapper\">\n <div class=\"label-wrapper\">\n <label for=\"pageInput\" *transloco=\"let t\">\n {{ t('label.gotopage') }}\n </label>\n </div>\n <div class=\"input-wrapper\">\n <input\n #pageInput\n data-thook=\"pagination-go-to-input\"\n min=\"1\"\n [max]=\"pagingSize\"\n id=\"pageInput\"\n class=\"gds-field\"\n type=\"number\"\n (keydown.enter)=\"handlePageInput(pageInput.value)\"\n [ngModel]=\"value\"\n />\n <button\n type=\"button\"\n data-thook=\"pagination-go-to-button\"\n (click)=\"handlePageInput(pageInput.value)\"\n >\n <gds-icon-chevron-right\n *nggCoreElement\n ></gds-icon-chevron-right>\n </button>\n </div>\n </div>\n </li>\n </ng-container>\n </ul>\n </ng-template>\n </nav>\n</div>\n", styles: [":host .pagination-wrapper .paging-input-wrapper{display:flex}:host .pagination-wrapper .paging-input-wrapper .label-wrapper{margin:auto;padding:0 1em}:host .pagination-wrapper .paging-input-wrapper .input-wrapper{display:flex;border:.0625em solid #868686;border-radius:4px;height:100%}:host .pagination-wrapper .paging-input-wrapper .input-wrapper input{border:0;padding:.5em;min-height:2.5rem;width:60px;box-sizing:border-box;border-radius:3px;font-size:1rem;font-family:inherit}:host .pagination-wrapper .paging-input-wrapper .input-wrapper input:focus{outline-color:#1a1a1a;outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .pagination-wrapper .paging-input-wrapper .input-wrapper>button{border:0;color:#1a1a1a;background-color:transparent;font-size:1rem;font-family:inherit}:host .pagination-wrapper .paging-input-wrapper .input-wrapper>button:focus{outline-color:#1a1a1a;outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .pagination-wrapper>.custom-pagination>.pagination{display:flex;list-style:none;margin-top:10px;margin-bottom:10px}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link{position:relative;text-align:center;padding-top:0;padding-bottom:0;min-width:38px;height:40px;display:inline-flex;align-items:center;background-color:transparent;color:#1a1a1a;border:none;border-radius:4px;font-size:1rem;font-family:inherit}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link.active{background-color:#1a1a1a;color:#eee}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link>.nav-num{margin:0 auto}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link>.nav-action{margin:0 auto;display:inline-flex}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link:focus{outline-color:#1a1a1a;outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link:hover{box-shadow:0 2px 6px #eee}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item{width:20px;height:25px}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item .page-dot-link{position:relative;display:inline-block;width:10px;height:10px;border-radius:50%;cursor:pointer;background-color:#a2ddfe;transition:all .2s;margin:0 auto;will-change:transform}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item .page-dot-link.active{background-color:#007ac7;cursor:default;transform:scale(1.3)}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item .page-dot-link:hover:not(.active){background-color:#41b0ee}\n"] }]
113
+ }], propDecorators: { size: [{
114
+ type: Input
115
+ }], value: [{
116
+ type: Input
117
+ }], firstText: [{
118
+ type: Input
119
+ }], lastText: [{
120
+ type: Input
121
+ }], nextText: [{
122
+ type: Input
123
+ }], offset: [{
124
+ type: Input
125
+ }], pagingLength: [{
126
+ type: Input
127
+ }], previousText: [{
128
+ type: Input
129
+ }], useFirstAndLast: [{
130
+ type: Input
131
+ }], useTextNav: [{
132
+ type: Input
133
+ }], useDotNav: [{
134
+ type: Input
135
+ }], showGoToPage: [{
136
+ type: Input
137
+ }], className: [{
138
+ type: Input
139
+ }], id: [{
140
+ type: Input
141
+ }], pageNumberChange: [{
142
+ type: Output
143
+ }] } });
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUE7QUFFdEIsT0FBTyw0REFBNEQsQ0FBQTtBQUNuRSxPQUFPLDZEQUE2RCxDQUFBO0FBQ3BFLE9BQU8sMERBQTBELENBQUE7Ozs7OztBQUVqRSx5TEFBeUw7QUFNekwsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQU1FLCtCQUErQjtRQUN0QixTQUFJLEdBQUcsQ0FBQyxDQUFBO1FBQ2pCLG9CQUFvQjtRQUNYLFVBQUssR0FBRyxDQUFDLENBQUE7UUFhbEIsMkNBQTJDO1FBQ2xDLG9CQUFlLEdBQWEsSUFBSSxDQUFBO1FBS3pDLG1DQUFtQztRQUMxQixpQkFBWSxHQUFHLElBQUksQ0FBQTtRQUM1Qix5QkFBeUI7UUFDaEIsY0FBUyxHQUFHLEVBQUUsQ0FBQTtRQUd2Qiw4QkFBOEI7UUFDcEIscUJBQWdCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUE7UUFFN0UsZ0JBQWdCO1FBQ2hCLGVBQVUsR0FBRyxDQUFDLENBQUE7UUFDZCxnQkFBZ0I7UUFDaEIsU0FBSSxHQUFrQixFQUFFLENBQUE7UUFDeEIsZ0JBQWdCO1FBQ2hCLGVBQVUsR0FBa0IsRUFBRSxDQUFBO1FBQzlCLGdCQUFnQjtRQUNoQixlQUFVLEdBQUcsQ0FBQyxDQUFBO1FBQ2QsZ0JBQWdCO1FBQ2hCLHNCQUFpQixHQUFHLEtBQUssQ0FBQTtRQUN6Qixn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UztzQkFBakIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsRUFBRTtzQkFBVixLQUFLO2dCQUVJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmltcG9ydCAnQHNlYmdyb3VwL2dyZWVuLWNvcmUvY29tcG9uZW50cy9pY29uL2ljb25zL2NoZXZyb24tbGVmdC5qcydcbmltcG9ydCAnQHNlYmdyb3VwL2dyZWVuLWNvcmUvY29tcG9uZW50cy9pY29uL2ljb25zL2NoZXZyb24tcmlnaHQuanMnXG5pbXBvcnQgJ0BzZWJncm91cC9ncmVlbi1jb3JlL2NvbXBvbmVudHMvaWNvbi9pY29ucy9hcnJvdy1sZWZ0LmpzJ1xuXG4vKiogVGhlIFBhZ2luYXRpb24gY29tcG9uZW50IGlzIHVzZWQgdG8gc2VwYXJhdGUgbG9uZyBzZXRzIG9mIGRhdGEgc28gdGhhdCBpdCBpcyBlYXNpZXIgZm9yIGEgdXNlciB0byBjb25zdW1lIGluZm9ybWF0aW9uLiBUbyBjaGFuZ2UgdGhlIGN1cnJlbnQgcGFnZSBzaW1wbHkgY2xpY2sgb24gdGhlIHBhZ2UgbnVtYmVyLiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdndi1wYWdpbmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAvKiogVG90YWwgc2l6ZSBvZiBwYWdpbmF0aW9uICovXG4gIEBJbnB1dCgpIHNpemUgPSAwXG4gIC8qKiBTZWxlY3RlZCBwYWdlICovXG4gIEBJbnB1dCgpIHZhbHVlID0gMVxuICAvKiogRmlyc3QgcGFnZSB0ZXh0ICovXG4gIEBJbnB1dCgpIGZpcnN0VGV4dD86IHN0cmluZ1xuICAvKiogTGFzdCBwYWdlIHRleHQgKi9cbiAgQElucHV0KCkgbGFzdFRleHQ/OiBzdHJpbmdcbiAgLyoqIE5leHQgcGFnZSB0ZXh0ICovXG4gIEBJbnB1dCgpIG5leHRUZXh0Pzogc3RyaW5nXG4gIC8qKiBPZmZzZXQgcGVyIHBhZ2UgKi9cbiAgQElucHV0KCkgb2Zmc2V0PzogbnVtYmVyXG4gIC8qKiBOdW1iZXIgb2YgcGFnZXMgdG8gZGlzcGxheSovXG4gIEBJbnB1dCgpIHBhZ2luZ0xlbmd0aD86IG51bWJlclxuICAvKiogUHJldmlvdXMgcGFnZSB0ZXh0ICovXG4gIEBJbnB1dCgpIHByZXZpb3VzVGV4dD86IHN0cmluZ1xuICAvKiogVXNlIGZpcnN0IGFuZCBsYXN0IG5hdmlnYXRpb24gYnV0dG9ucyovXG4gIEBJbnB1dCgpIHVzZUZpcnN0QW5kTGFzdD86IGJvb2xlYW4gPSB0cnVlXG4gIC8qKiBVc2UgdGV4dC1iYXNlZCBuYXZpZ2F0aW9uIGJ1dHRvbnMqL1xuICBASW5wdXQoKSB1c2VUZXh0TmF2PzogYm9vbGVhblxuICAvKiogVXNlIGRvdC1uYXZpZ2F0aW9uICovXG4gIEBJbnB1dCgpIHVzZURvdE5hdj86IGJvb2xlYW5cbiAgLyoqIFVzZSAnR28gdG8gcGFnZScgaW5wdXQgZmllbGQgKi9cbiAgQElucHV0KCkgc2hvd0dvVG9QYWdlID0gdHJ1ZVxuICAvKiogRWxlbWVudCBjbGFzcyBuYW1lICovXG4gIEBJbnB1dCgpIGNsYXNzTmFtZSA9ICcnXG4gIC8qKiBFbGVtZW50IElEICovXG4gIEBJbnB1dCgpIGlkPzogc3RyaW5nXG4gIC8qKiBDYWxsYmFjayBvbiBwYWdlIGNoYW5nZSAqL1xuICBAT3V0cHV0KCkgcGFnZU51bWJlckNoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcGFnZU51bWJlciA9IDBcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBsaXN0OiBBcnJheTxudW1iZXI+ID0gW11cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBkb3RuYXZMaXN0OiBBcnJheTxudW1iZXI+ID0gW11cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwYWdpbmdTaXplID0gMFxuICAvKiogQGludGVybmFsICovXG4gIHNob3dFbGxpcHNpc1N0YXJ0ID0gZmFsc2VcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBzaG93RWxsaXBzaXNFbmQgPSBmYWxzZVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcz8ub2Zmc2V0IHx8IGNoYW5nZXM/LnNpemUpIHtcbiAgICAgIHRoaXMuc2V0UGFnaW5nU2l6ZSgpXG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXM/LnBhZ2luZ0xlbmd0aCB8fCBjaGFuZ2VzPy52YWx1ZSkge1xuICAgICAgdGhpcy5nZW5lcmF0ZUxpc3QoKVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgc2V0UGFnaW5nU2l6ZSgpIHtcbiAgICBjb25zdCBpbml0aWFsT2Zmc2V0OiBudW1iZXIgPSB0aGlzLm9mZnNldCA/IHRoaXMub2Zmc2V0IDogMTBcbiAgICB0aGlzLnBhZ2luZ1NpemUgPSBNYXRoLmNlaWwoTnVtYmVyKHRoaXMuc2l6ZSkgLyBpbml0aWFsT2Zmc2V0KVxuICAgIHRoaXMuZ2VuZXJhdGVMaXN0KClcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgaGFuZGxlT25DaGFuZ2UodmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh2YWx1ZSA8PSAwKSB7XG4gICAgICB0aGlzLnBhZ2VOdW1iZXJDaGFuZ2UuZW1pdCgxKVxuICAgIH0gZWxzZSBpZiAodmFsdWUgPiB0aGlzLnBhZ2luZ1NpemUpIHtcbiAgICAgIHRoaXMucGFnZU51bWJlckNoYW5nZS5lbWl0KHRoaXMucGFnaW5nU2l6ZSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wYWdlTnVtYmVyQ2hhbmdlLmVtaXQodmFsdWUpXG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBoYW5kbGVQYWdlSW5wdXQocGFnZUlucHV0OiBzdHJpbmcpIHtcbiAgICB0aGlzLmhhbmRsZU9uQ2hhbmdlKE51bWJlcihwYWdlSW5wdXQpKVxuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhbiBhcnJheSBvZiB0aGUgcGFnZXMgdGhhdCBuZWVkcyB0byBiZSBkaXNwbGF5ZWRcbiAgICogSXQgZGVwZW5kcyBvbiB0aGUgc2l6ZSwgb2Zmc2V0LCBhbmQgdGhlIGN1cnJlbnQgdmFsdWVcbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVMaXN0KCk6IHZvaWQge1xuICAgIGNvbnN0IGdlbkxpc3Q6IEFycmF5PG51bWJlcj4gPSBbXVxuICAgIGNvbnN0IGxlbmd0aDogbnVtYmVyID0gdGhpcy5wYWdpbmdMZW5ndGggPyB0aGlzLnBhZ2luZ0xlbmd0aCA6IDVcblxuICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IHRoaXMucGFnaW5nU2l6ZTsgaSsrKSB7XG4gICAgICBnZW5MaXN0LnB1c2goaSlcbiAgICB9XG5cbiAgICBjb25zdCBtZWRpYW5WYWx1ZTogbnVtYmVyID0gTWF0aC5jZWlsKGxlbmd0aCAvIDIpXG4gICAgbGV0IHN0YXJ0ID0gMFxuICAgIGxldCBlbmQgPSB0aGlzLnBhZ2luZ1NpemVcblxuICAgIGlmIChsZW5ndGggPCB0aGlzLnBhZ2luZ1NpemUpIHtcbiAgICAgIGlmICh0aGlzLnBhZ2luZ1NpemUgLSB0aGlzLnZhbHVlIDwgbWVkaWFuVmFsdWUpIHtcbiAgICAgICAgc3RhcnQgPSB0aGlzLnBhZ2luZ1NpemUgLSBsZW5ndGhcbiAgICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZSAtIG1lZGlhblZhbHVlID4gLTEpIHtcbiAgICAgICAgc3RhcnQgPSB0aGlzLnZhbHVlIC0gbWVkaWFuVmFsdWVcbiAgICAgIH1cbiAgICAgIGVuZCA9IHN0YXJ0ICsgbGVuZ3RoXG4gICAgfVxuICAgIGlmICh0aGlzLnVzZUZpcnN0QW5kTGFzdCkge1xuICAgICAgaWYgKHN0YXJ0ID09IDApIHtcbiAgICAgICAgc3RhcnQgPSAxXG4gICAgICAgIGVuZCA9IHN0YXJ0ICsgbGVuZ3RoXG4gICAgICB9XG5cbiAgICAgIGlmIChlbmQgPiB0aGlzLnBhZ2luZ1NpemUgLSAxKSB7XG4gICAgICAgIGVuZCA9IHRoaXMucGFnaW5nU2l6ZSAtIDFcbiAgICAgICAgc3RhcnQgPSBNYXRoLm1heCgxLCBlbmQgLSBsZW5ndGgpXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5kb3RuYXZMaXN0ID0gZ2VuTGlzdFxuICAgIGNvbnN0IHBhZ2luZ1N0YXJ0ID0gZ2VuTGlzdFtzdGFydF1cbiAgICBjb25zdCBwYWdpbmdFbmQgPSBnZW5MaXN0W2VuZCAtIDFdXG4gICAgdGhpcy5zaG93RWxsaXBzaXNTdGFydCA9IHBhZ2luZ1N0YXJ0ID4gMlxuICAgIHRoaXMuc2hvd0VsbGlwc2lzRW5kID0gcGFnaW5nRW5kIDwgdGhpcy5wYWdpbmdTaXplIC0gMVxuICAgIHRoaXMubGlzdCA9IGdlbkxpc3Quc2xpY2Uoc3RhcnQsIGVuZClcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBhZ2luYXRpb24td3JhcHBlclwiIFtuZ0NsYXNzXT1cImNsYXNzTmFtZVwiIFthdHRyLmlkXT1cImlkXCI+XG4gIDxuYXYgY2xhc3M9XCJjdXN0b20tcGFnaW5hdGlvblwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VEb3ROYXY7IGVsc2UgbnVtTmF2XCI+XG4gICAgICA8dWwgY2xhc3M9XCJwYWdpbmF0aW9uIGRvdG5hdlwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBudW0gb2YgZG90bmF2TGlzdFwiPlxuICAgICAgICAgIDxsaSBjbGFzcz1cInBhZ2UtaXRlbVwiIChjbGljayk9XCJoYW5kbGVPbkNoYW5nZShudW0pXCIgW3ZhbHVlXT1cIm51bVwiPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJwYWdlLWRvdC1saW5rXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyBhY3RpdmU6IHZhbHVlID09PSBudW0gfVwiXG4gICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC91bD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbnVtTmF2PlxuICAgICAgPHVsIGNsYXNzPVwicGFnaW5hdGlvblwiPlxuICAgICAgICA8bmctY29udGFpbmVyPlxuICAgICAgICAgIDxsaSBjbGFzcz1cInBhZ2UtaXRlbVwiIChjbGljayk9XCJoYW5kbGVPbkNoYW5nZSh2YWx1ZSAtIDEpXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwicGFnZS1saW5rXCJcbiAgICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwicHJldmlvdXNUZXh0XCJcbiAgICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwidmFsdWUgPT09IDEgPyAnZGlzYWJsZWQnIDogbnVsbFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibmF2LWFjdGlvblwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VUZXh0TmF2OyBlbHNlIGFuZ2xlTGVmdEljb25cIj5cbiAgICAgICAgICAgICAgICAgIHt7IHByZXZpb3VzVGV4dCA/IHByZXZpb3VzVGV4dCA6ICdQcmV2aW91cycgfX1cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2FuZ2xlTGVmdEljb24+XG4gICAgICAgICAgICAgICAgICA8Z2RzLWljb24tY2hldnJvbi1sZWZ0XG4gICAgICAgICAgICAgICAgICAgICpuZ2dDb3JlRWxlbWVudFxuICAgICAgICAgICAgICAgICAgPjwvZ2RzLWljb24tY2hldnJvbi1sZWZ0PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VGaXJzdEFuZExhc3RcIj5cbiAgICAgICAgICA8bGkgY2xhc3M9XCJwYWdlLWl0ZW1cIiAoY2xpY2spPVwiaGFuZGxlT25DaGFuZ2UoMSlcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJwYWdlLWxpbmtcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogdmFsdWUgPT09IDEgfVwiXG4gICAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cImZpcnN0VGV4dFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibmF2LW51bVwiPnt7IDEgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2xpPlxuXG4gICAgICAgICAgPGxpIGNsYXNzPVwicGFnZS1pdGVtXCIgKm5nSWY9XCJzaG93RWxsaXBzaXNTdGFydFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYWdlLWxpbmtcIiBbYXR0ci50aXRsZV09XCInLi4uJ1wiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdi1udW1cIj4uLi48L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbnVtIG9mIGxpc3RcIj5cbiAgICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzPVwicGFnZS1pdGVtXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgYWN0aXZlOiB2YWx1ZSA9PT0gbnVtIH1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZU9uQ2hhbmdlKG51bSlcIlxuICAgICAgICAgICAgdmFsdWU9XCJudW1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJwYWdlLWxpbmtcIiBbbmdDbGFzc109XCJ7IGFjdGl2ZTogdmFsdWUgPT09IG51bSB9XCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibmF2LW51bVwiPnt7IG51bSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VGaXJzdEFuZExhc3RcIj5cbiAgICAgICAgICA8bGkgY2xhc3M9XCJwYWdlLWl0ZW1cIiAqbmdJZj1cInNob3dFbGxpcHNpc0VuZFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYWdlLWxpbmtcIiBbYXR0ci50aXRsZV09XCInLi4uJ1wiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdi1udW1cIj4uLi48L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9saT5cblxuICAgICAgICAgIDxsaVxuICAgICAgICAgICAgY2xhc3M9XCJwYWdlLWl0ZW1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZU9uQ2hhbmdlKHBhZ2luZ1NpemUpXCJcbiAgICAgICAgICAgICpuZ0lmPVwicGFnaW5nU2l6ZSA+IDFcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJwYWdlLWxpbmtcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogdmFsdWUgPT09IHBhZ2luZ1NpemUgfVwiXG4gICAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cImxhc3RUZXh0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYXYtbnVtXCI+e3sgcGFnaW5nU2l6ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgICAgPGxpIGNsYXNzPVwicGFnZS1pdGVtXCIgKGNsaWNrKT1cImhhbmRsZU9uQ2hhbmdlKHZhbHVlICsgMSlcIj5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJwYWdlLWxpbmtcIiBbYXR0ci50aXRsZV09XCJuZXh0VGV4dFwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdi1hY3Rpb25cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidXNlVGV4dE5hdjsgZWxzZSBhbmdsZVJpZ2h0SWNvblwiPlxuICAgICAgICAgICAgICAgICAge3sgbmV4dFRleHQgPyBuZXh0VGV4dCA6ICdOZXh0JyB9fVxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYW5nbGVSaWdodEljb24+XG4gICAgICAgICAgICAgICAgICA8Z2RzLWljb24tY2hldnJvbi1yaWdodFxuICAgICAgICAgICAgICAgICAgICAqbmdnQ29yZUVsZW1lbnRcbiAgICAgICAgICAgICAgICAgID48L2dkcy1pY29uLWNoZXZyb24tcmlnaHQ+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dHb1RvUGFnZVwiPlxuICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWdpbmctaW5wdXQtd3JhcHBlclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYWdlSW5wdXRcIiAqdHJhbnNsb2NvPVwibGV0IHRcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHQoJ2xhYmVsLmdvdG9wYWdlJykgfX1cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICNwYWdlSW5wdXRcbiAgICAgICAgICAgICAgICAgIGRhdGEtdGhvb2s9XCJwYWdpbmF0aW9uLWdvLXRvLWlucHV0XCJcbiAgICAgICAgICAgICAgICAgIG1pbj1cIjFcIlxuICAgICAgICAgICAgICAgICAgW21heF09XCJwYWdpbmdTaXplXCJcbiAgICAgICAgICAgICAgICAgIGlkPVwicGFnZUlucHV0XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ2RzLWZpZWxkXCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiaGFuZGxlUGFnZUlucHV0KHBhZ2VJbnB1dC52YWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBkYXRhLXRob29rPVwicGFnaW5hdGlvbi1nby10by1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVBhZ2VJbnB1dChwYWdlSW5wdXQudmFsdWUpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8Z2RzLWljb24tY2hldnJvbi1yaWdodFxuICAgICAgICAgICAgICAgICAgICAqbmdnQ29yZUVsZW1lbnRcbiAgICAgICAgICAgICAgICAgID48L2dkcy1pY29uLWNoZXZyb24tcmlnaHQ+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3VsPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmF2PlxuPC9kaXY+XG4iXX0=