@sebgroup/green-angular 5.1.1 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (440) hide show
  1. package/esm2022/lib/shared/core-element/core-element.directive.mjs +1 -2
  2. package/esm2022/src/lib/shared/core-element/core-element.directive.mjs +1 -2
  3. package/esm2022/src/v-angular/account-number/account-number.module.mjs +18 -0
  4. package/esm2022/src/v-angular/account-number/account-number.pipe.mjs +54 -0
  5. package/esm2022/src/v-angular/account-number/index.mjs +3 -0
  6. package/esm2022/src/v-angular/account-number/sebgroup-green-angular-src-v-angular-account-number.mjs +5 -0
  7. package/esm2022/src/v-angular/alert/alert.component.mjs +47 -0
  8. package/esm2022/src/v-angular/alert/alert.models.mjs +8 -0
  9. package/esm2022/src/v-angular/alert/alert.module.mjs +18 -0
  10. package/esm2022/src/v-angular/alert/index.mjs +4 -0
  11. package/esm2022/src/v-angular/alert/sebgroup-green-angular-src-v-angular-alert.mjs +5 -0
  12. package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +16 -6
  13. package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +9 -9
  14. package/esm2022/src/v-angular/breadcrumbs/breadcrumbs.component.mjs +5 -5
  15. package/esm2022/src/v-angular/breadcrumbs/breadcrumbs.module.mjs +11 -11
  16. package/esm2022/src/v-angular/button/button.component.mjs +9 -9
  17. package/esm2022/src/v-angular/button/button.module.mjs +11 -11
  18. package/esm2022/src/v-angular/card/card.component.mjs +6 -6
  19. package/esm2022/src/v-angular/card/card.module.mjs +9 -9
  20. package/esm2022/src/v-angular/character-countdown/character-countdown.module.mjs +6 -6
  21. package/esm2022/src/v-angular/checkbox/checkbox.component.mjs +9 -7
  22. package/esm2022/src/v-angular/checkbox/checkbox.module.mjs +14 -12
  23. package/esm2022/src/v-angular/core/core.utils.mjs +35 -1
  24. package/esm2022/src/v-angular/datepicker/components/calendar/calendar.component.mjs +200 -0
  25. package/esm2022/src/v-angular/datepicker/components/calendar-control/calendar-control.component.mjs +115 -0
  26. package/esm2022/src/v-angular/datepicker/components/date-input/date-input.component.mjs +203 -0
  27. package/esm2022/src/v-angular/datepicker/components/datepicker/datepicker.component.mjs +135 -0
  28. package/esm2022/src/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.mjs +408 -0
  29. package/esm2022/src/v-angular/datepicker/datepicker.globals.mjs +20 -0
  30. package/esm2022/src/v-angular/datepicker/datepicker.models.mjs +56 -0
  31. package/esm2022/src/v-angular/datepicker/datepicker.module.mjs +63 -0
  32. package/esm2022/src/v-angular/datepicker/datepicker.utils.mjs +196 -0
  33. package/esm2022/src/v-angular/datepicker/directives/calendar-date.directive.mjs +47 -0
  34. package/esm2022/src/v-angular/datepicker/index.mjs +17 -0
  35. package/esm2022/src/v-angular/datepicker/models/dates.mjs +291 -0
  36. package/esm2022/src/v-angular/datepicker/pipes/date-thook.pipe.mjs +30 -0
  37. package/esm2022/src/v-angular/datepicker/pipes/is-disabled.pipe.mjs +37 -0
  38. package/esm2022/src/v-angular/datepicker/pipes/matches.pipe.mjs +17 -0
  39. package/esm2022/src/v-angular/datepicker/sebgroup-green-angular-src-v-angular-datepicker.mjs +5 -0
  40. package/esm2022/src/v-angular/drag-drop/drag-drop.component.mjs +497 -0
  41. package/esm2022/src/v-angular/drag-drop/drag-drop.models.mjs +2 -0
  42. package/esm2022/src/v-angular/drag-drop/drag-drop.module.mjs +49 -0
  43. package/esm2022/src/v-angular/drag-drop/drag-drop.pipes.mjs +70 -0
  44. package/esm2022/src/v-angular/drag-drop/drag-drop.utils.mjs +76 -0
  45. package/esm2022/src/v-angular/drag-drop/index.mjs +5 -0
  46. package/esm2022/src/v-angular/drag-drop/sebgroup-green-angular-src-v-angular-drag-drop.mjs +5 -0
  47. package/esm2022/src/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +24 -9
  48. package/esm2022/src/v-angular/dropdown/dropdown.component.mjs +16 -9
  49. package/esm2022/src/v-angular/dropdown/dropdown.module.mjs +31 -15
  50. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +8 -8
  51. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +5 -5
  52. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +17 -10
  53. package/esm2022/src/v-angular/dropdown/typeahead/typeahead.directive.mjs +27 -20
  54. package/esm2022/src/v-angular/dropdown/typeahead/typeahead.module.mjs +21 -21
  55. package/esm2022/src/v-angular/external-link/external-link.directive.mjs +5 -5
  56. package/esm2022/src/v-angular/external-link/external-link.module.mjs +9 -9
  57. package/esm2022/src/v-angular/i18n/i18n.module.mjs +12 -12
  58. package/esm2022/src/v-angular/i18n/i18n.test.module.mjs +6 -6
  59. package/esm2022/src/v-angular/info-circle/info-circle.component.mjs +6 -6
  60. package/esm2022/src/v-angular/info-circle/info-circle.module.mjs +11 -11
  61. package/esm2022/src/v-angular/input/input.component.mjs +11 -15
  62. package/esm2022/src/v-angular/input/input.module.mjs +27 -22
  63. package/esm2022/src/v-angular/input-mask/input-mask.directive.mjs +6 -6
  64. package/esm2022/src/v-angular/input-mask/input-mask.module.mjs +10 -10
  65. package/esm2022/src/v-angular/modal/dialog/dialog.component.mjs +53 -31
  66. package/esm2022/src/v-angular/modal/fold-out/fold-out.component.mjs +116 -16
  67. package/esm2022/src/v-angular/modal/fold-out/fold-out.directive.mjs +5 -5
  68. package/esm2022/src/v-angular/modal/fold-out/keyboard-key.enum.mjs +9 -0
  69. package/esm2022/src/v-angular/modal/modal.module.mjs +38 -27
  70. package/esm2022/src/v-angular/modal/slide-out/slide-out.component.mjs +35 -12
  71. package/esm2022/src/v-angular/pagination/index.mjs +3 -0
  72. package/esm2022/src/v-angular/pagination/pagination.component.mjs +144 -0
  73. package/esm2022/src/v-angular/pagination/pagination.module.mjs +37 -0
  74. package/esm2022/src/v-angular/pagination/sebgroup-green-angular-src-v-angular-pagination.mjs +5 -0
  75. package/esm2022/src/v-angular/radio/radio.component.mjs +14 -12
  76. package/esm2022/src/v-angular/radio/radio.module.mjs +12 -11
  77. package/esm2022/src/v-angular/slug/slug.module.mjs +6 -6
  78. package/esm2022/src/v-angular/table/index.mjs +9 -0
  79. package/esm2022/src/v-angular/table/sebgroup-green-angular-src-v-angular-table.mjs +5 -0
  80. package/esm2022/src/v-angular/table/table.component.mjs +387 -0
  81. package/esm2022/src/v-angular/table/table.directive.mjs +110 -0
  82. package/esm2022/src/v-angular/table/table.models.mjs +2 -0
  83. package/esm2022/src/v-angular/table/table.module.mjs +40 -0
  84. package/esm2022/src/v-angular/table/table.tools.mjs +29 -0
  85. package/esm2022/src/v-angular/table/tr-thook.pipe.mjs +22 -0
  86. package/esm2022/src/v-angular/tabs/index.mjs +8 -0
  87. package/esm2022/src/v-angular/tabs/sebgroup-green-angular-src-v-angular-tabs.mjs +5 -0
  88. package/esm2022/src/v-angular/tabs/tab.directive.mjs +81 -0
  89. package/esm2022/src/v-angular/tabs/tabs.component.mjs +262 -0
  90. package/esm2022/src/v-angular/tabs/tabs.models.mjs +2 -0
  91. package/esm2022/src/v-angular/tabs/tabs.module.mjs +21 -0
  92. package/esm2022/src/v-angular/textarea/textarea.component.mjs +9 -7
  93. package/esm2022/src/v-angular/textarea/textarea.module.mjs +27 -13
  94. package/esm2022/src/v-angular/toast/index.mjs +8 -0
  95. package/esm2022/src/v-angular/toast/sebgroup-green-angular-src-v-angular-toast.mjs +5 -0
  96. package/esm2022/src/v-angular/toast/toast-message.service.mjs +63 -0
  97. package/esm2022/src/v-angular/toast/toast.component.mjs +70 -0
  98. package/esm2022/src/v-angular/toast/toast.models.mjs +8 -0
  99. package/esm2022/src/v-angular/toast/toast.module.mjs +21 -0
  100. package/esm2022/src/v-angular/tooltip/tooltip.directive.mjs +35 -15
  101. package/esm2022/src/v-angular/tooltip/tooltip.module.mjs +11 -11
  102. package/esm2022/src/v-angular/tooltip/tooltip.styles.mjs +60 -0
  103. package/esm2022/v-angular/alert/alert.component.mjs +47 -0
  104. package/esm2022/v-angular/alert/alert.models.mjs +8 -0
  105. package/esm2022/v-angular/alert/alert.module.mjs +18 -0
  106. package/esm2022/v-angular/alert/index.mjs +4 -0
  107. package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +16 -6
  108. package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +9 -9
  109. package/esm2022/v-angular/breadcrumbs/breadcrumbs.component.mjs +5 -5
  110. package/esm2022/v-angular/breadcrumbs/breadcrumbs.module.mjs +11 -11
  111. package/esm2022/v-angular/button/button.component.mjs +9 -9
  112. package/esm2022/v-angular/button/button.module.mjs +11 -11
  113. package/esm2022/v-angular/card/card.component.mjs +6 -6
  114. package/esm2022/v-angular/card/card.module.mjs +9 -9
  115. package/esm2022/v-angular/character-countdown/character-countdown.module.mjs +6 -6
  116. package/esm2022/v-angular/checkbox/checkbox.component.mjs +9 -7
  117. package/esm2022/v-angular/checkbox/checkbox.module.mjs +14 -12
  118. package/esm2022/v-angular/datepicker/components/calendar/calendar.component.mjs +200 -0
  119. package/esm2022/v-angular/datepicker/components/calendar-control/calendar-control.component.mjs +115 -0
  120. package/esm2022/v-angular/datepicker/components/date-input/date-input.component.mjs +203 -0
  121. package/esm2022/v-angular/datepicker/components/datepicker/datepicker.component.mjs +135 -0
  122. package/esm2022/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.mjs +408 -0
  123. package/esm2022/v-angular/datepicker/datepicker.globals.mjs +20 -0
  124. package/esm2022/v-angular/datepicker/datepicker.models.mjs +56 -0
  125. package/esm2022/v-angular/datepicker/datepicker.module.mjs +63 -0
  126. package/esm2022/v-angular/datepicker/datepicker.utils.mjs +196 -0
  127. package/esm2022/v-angular/datepicker/directives/calendar-date.directive.mjs +47 -0
  128. package/esm2022/v-angular/datepicker/index.mjs +17 -0
  129. package/esm2022/v-angular/datepicker/models/dates.mjs +291 -0
  130. package/esm2022/v-angular/datepicker/pipes/date-thook.pipe.mjs +30 -0
  131. package/esm2022/v-angular/datepicker/pipes/is-disabled.pipe.mjs +37 -0
  132. package/esm2022/v-angular/datepicker/pipes/matches.pipe.mjs +17 -0
  133. package/esm2022/v-angular/drag-drop/drag-drop.component.mjs +497 -0
  134. package/esm2022/v-angular/drag-drop/drag-drop.models.mjs +2 -0
  135. package/esm2022/v-angular/drag-drop/drag-drop.module.mjs +49 -0
  136. package/esm2022/v-angular/drag-drop/drag-drop.pipes.mjs +70 -0
  137. package/esm2022/v-angular/drag-drop/drag-drop.utils.mjs +76 -0
  138. package/esm2022/v-angular/drag-drop/index.mjs +5 -0
  139. package/esm2022/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +24 -9
  140. package/esm2022/v-angular/dropdown/dropdown.component.mjs +16 -9
  141. package/esm2022/v-angular/dropdown/dropdown.module.mjs +31 -15
  142. package/esm2022/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +8 -8
  143. package/esm2022/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +5 -5
  144. package/esm2022/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +17 -10
  145. package/esm2022/v-angular/dropdown/typeahead/typeahead.directive.mjs +27 -20
  146. package/esm2022/v-angular/dropdown/typeahead/typeahead.module.mjs +21 -21
  147. package/esm2022/v-angular/external-link/external-link.directive.mjs +37 -0
  148. package/esm2022/v-angular/external-link/external-link.module.mjs +18 -0
  149. package/esm2022/v-angular/external-link/index.mjs +3 -0
  150. package/esm2022/v-angular/i18n/i18n.module.mjs +12 -12
  151. package/esm2022/v-angular/i18n/i18n.test.module.mjs +6 -6
  152. package/esm2022/v-angular/index.mjs +10 -1
  153. package/esm2022/v-angular/info-circle/info-circle.component.mjs +6 -6
  154. package/esm2022/v-angular/info-circle/info-circle.module.mjs +11 -11
  155. package/esm2022/v-angular/input/input.component.mjs +11 -15
  156. package/esm2022/v-angular/input/input.module.mjs +27 -22
  157. package/esm2022/v-angular/input-mask/input-mask.directive.mjs +6 -6
  158. package/esm2022/v-angular/input-mask/input-mask.module.mjs +10 -10
  159. package/esm2022/v-angular/modal/dialog/dialog.component.mjs +53 -31
  160. package/esm2022/v-angular/modal/fold-out/fold-out.component.mjs +116 -16
  161. package/esm2022/v-angular/modal/fold-out/fold-out.directive.mjs +5 -5
  162. package/esm2022/v-angular/modal/fold-out/keyboard-key.enum.mjs +9 -0
  163. package/esm2022/v-angular/modal/modal.module.mjs +38 -27
  164. package/esm2022/v-angular/modal/slide-out/slide-out.component.mjs +35 -12
  165. package/esm2022/v-angular/pagination/index.mjs +3 -0
  166. package/esm2022/v-angular/pagination/pagination.component.mjs +144 -0
  167. package/esm2022/v-angular/pagination/pagination.module.mjs +37 -0
  168. package/esm2022/v-angular/radio/radio.component.mjs +14 -12
  169. package/esm2022/v-angular/radio/radio.module.mjs +12 -11
  170. package/esm2022/v-angular/slug/index.mjs +3 -0
  171. package/esm2022/v-angular/slug/slug.module.mjs +18 -0
  172. package/esm2022/v-angular/slug/slug.pipe.mjs +27 -0
  173. package/esm2022/v-angular/table/index.mjs +9 -0
  174. package/esm2022/v-angular/table/table.component.mjs +387 -0
  175. package/esm2022/v-angular/table/table.directive.mjs +110 -0
  176. package/esm2022/v-angular/table/table.models.mjs +2 -0
  177. package/esm2022/v-angular/table/table.module.mjs +40 -0
  178. package/esm2022/v-angular/table/table.tools.mjs +29 -0
  179. package/esm2022/v-angular/table/tr-thook.pipe.mjs +22 -0
  180. package/esm2022/v-angular/tabs/index.mjs +8 -0
  181. package/esm2022/v-angular/tabs/tab.directive.mjs +81 -0
  182. package/esm2022/v-angular/tabs/tabs.component.mjs +262 -0
  183. package/esm2022/v-angular/tabs/tabs.models.mjs +2 -0
  184. package/esm2022/v-angular/tabs/tabs.module.mjs +21 -0
  185. package/esm2022/v-angular/textarea/textarea.component.mjs +9 -7
  186. package/esm2022/v-angular/textarea/textarea.module.mjs +27 -13
  187. package/esm2022/v-angular/toast/index.mjs +8 -0
  188. package/esm2022/v-angular/toast/toast-message.service.mjs +63 -0
  189. package/esm2022/v-angular/toast/toast.component.mjs +70 -0
  190. package/esm2022/v-angular/toast/toast.models.mjs +8 -0
  191. package/esm2022/v-angular/toast/toast.module.mjs +21 -0
  192. package/esm2022/v-angular/tooltip/tooltip.directive.mjs +35 -15
  193. package/esm2022/v-angular/tooltip/tooltip.module.mjs +11 -11
  194. package/esm2022/v-angular/tooltip/tooltip.styles.mjs +60 -0
  195. package/esm2022/v-angular/v-angular.module.mjs +104 -68
  196. package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs +0 -1
  197. package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs.map +1 -1
  198. package/fesm2022/sebgroup-green-angular-src-v-angular-account-number.mjs +76 -0
  199. package/fesm2022/sebgroup-green-angular-src-v-angular-account-number.mjs.map +1 -0
  200. package/fesm2022/sebgroup-green-angular-src-v-angular-alert.mjs +76 -0
  201. package/fesm2022/sebgroup-green-angular-src-v-angular-alert.mjs.map +1 -0
  202. package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs +23 -13
  203. package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs.map +1 -1
  204. package/fesm2022/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs +14 -14
  205. package/fesm2022/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs.map +1 -1
  206. package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs +18 -18
  207. package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs.map +1 -1
  208. package/fesm2022/sebgroup-green-angular-src-v-angular-card.mjs +13 -13
  209. package/fesm2022/sebgroup-green-angular-src-v-angular-card.mjs.map +1 -1
  210. package/fesm2022/sebgroup-green-angular-src-v-angular-character-countdown.mjs +6 -6
  211. package/fesm2022/sebgroup-green-angular-src-v-angular-character-countdown.mjs.map +1 -1
  212. package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs +21 -17
  213. package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs.map +1 -1
  214. package/fesm2022/sebgroup-green-angular-src-v-angular-core.mjs +34 -0
  215. package/fesm2022/sebgroup-green-angular-src-v-angular-core.mjs.map +1 -1
  216. package/fesm2022/sebgroup-green-angular-src-v-angular-datepicker.mjs +1759 -0
  217. package/fesm2022/sebgroup-green-angular-src-v-angular-datepicker.mjs.map +1 -0
  218. package/fesm2022/sebgroup-green-angular-src-v-angular-drag-drop.mjs +687 -0
  219. package/fesm2022/sebgroup-green-angular-src-v-angular-drag-drop.mjs.map +1 -0
  220. package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs +126 -74
  221. package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs.map +1 -1
  222. package/fesm2022/sebgroup-green-angular-src-v-angular-external-link.mjs +12 -12
  223. package/fesm2022/sebgroup-green-angular-src-v-angular-external-link.mjs.map +1 -1
  224. package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs +17 -17
  225. package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs.map +1 -1
  226. package/fesm2022/sebgroup-green-angular-src-v-angular-info-circle.mjs +15 -15
  227. package/fesm2022/sebgroup-green-angular-src-v-angular-info-circle.mjs.map +1 -1
  228. package/fesm2022/sebgroup-green-angular-src-v-angular-input-mask.mjs +14 -14
  229. package/fesm2022/sebgroup-green-angular-src-v-angular-input-mask.mjs.map +1 -1
  230. package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs +36 -35
  231. package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs.map +1 -1
  232. package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs +246 -81
  233. package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs.map +1 -1
  234. package/fesm2022/sebgroup-green-angular-src-v-angular-pagination.mjs +185 -0
  235. package/fesm2022/sebgroup-green-angular-src-v-angular-pagination.mjs.map +1 -0
  236. package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs +24 -21
  237. package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs.map +1 -1
  238. package/fesm2022/sebgroup-green-angular-src-v-angular-slug.mjs +6 -6
  239. package/fesm2022/sebgroup-green-angular-src-v-angular-slug.mjs.map +1 -1
  240. package/fesm2022/sebgroup-green-angular-src-v-angular-table.mjs +585 -0
  241. package/fesm2022/sebgroup-green-angular-src-v-angular-table.mjs.map +1 -0
  242. package/fesm2022/sebgroup-green-angular-src-v-angular-tabs.mjs +367 -0
  243. package/fesm2022/sebgroup-green-angular-src-v-angular-tabs.mjs.map +1 -0
  244. package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs +33 -18
  245. package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs.map +1 -1
  246. package/fesm2022/sebgroup-green-angular-src-v-angular-toast.mjs +166 -0
  247. package/fesm2022/sebgroup-green-angular-src-v-angular-toast.mjs.map +1 -0
  248. package/fesm2022/sebgroup-green-angular-src-v-angular-tooltip.mjs +103 -24
  249. package/fesm2022/sebgroup-green-angular-src-v-angular-tooltip.mjs.map +1 -1
  250. package/fesm2022/sebgroup-green-angular-v-angular.mjs +6295 -2165
  251. package/fesm2022/sebgroup-green-angular-v-angular.mjs.map +1 -1
  252. package/fesm2022/sebgroup-green-angular.mjs +0 -1
  253. package/fesm2022/sebgroup-green-angular.mjs.map +1 -1
  254. package/package.json +51 -3
  255. package/src/v-angular/account-number/README.md +70 -0
  256. package/src/v-angular/account-number/account-number.module.d.ts +8 -0
  257. package/src/v-angular/account-number/account-number.pipe.d.ts +32 -0
  258. package/src/v-angular/account-number/index.d.ts +2 -0
  259. package/src/v-angular/alert/alert.component.d.ts +19 -0
  260. package/src/v-angular/alert/alert.models.d.ts +13 -0
  261. package/src/v-angular/alert/alert.module.d.ts +8 -0
  262. package/src/v-angular/alert/index.d.ts +3 -0
  263. package/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.d.ts +10 -4
  264. package/src/v-angular/base-control-value-accessor/base-control-value-accessor.module.d.ts +4 -4
  265. package/src/v-angular/breadcrumbs/breadcrumbs.component.d.ts +4 -4
  266. package/src/v-angular/breadcrumbs/breadcrumbs.module.d.ts +4 -4
  267. package/src/v-angular/button/button.component.d.ts +5 -5
  268. package/src/v-angular/button/button.module.d.ts +4 -4
  269. package/src/v-angular/card/card.component.d.ts +3 -3
  270. package/src/v-angular/card/card.module.d.ts +4 -4
  271. package/src/v-angular/character-countdown/character-countdown.module.d.ts +4 -4
  272. package/src/v-angular/checkbox/checkbox.component.d.ts +6 -5
  273. package/src/v-angular/checkbox/checkbox.module.d.ts +5 -4
  274. package/src/v-angular/core/core.utils.d.ts +1 -0
  275. package/src/v-angular/datepicker/components/calendar/calendar.component.d.ts +36 -0
  276. package/src/v-angular/datepicker/components/calendar-control/calendar-control.component.d.ts +30 -0
  277. package/src/v-angular/datepicker/components/date-input/date-input.component.d.ts +102 -0
  278. package/src/v-angular/datepicker/components/datepicker/datepicker.component.d.ts +62 -0
  279. package/src/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.d.ts +165 -0
  280. package/src/v-angular/datepicker/datepicker.globals.d.ts +13 -0
  281. package/src/v-angular/datepicker/datepicker.models.d.ts +50 -0
  282. package/src/v-angular/datepicker/datepicker.module.d.ts +19 -0
  283. package/src/v-angular/datepicker/datepicker.utils.d.ts +39 -0
  284. package/src/v-angular/datepicker/directives/calendar-date.directive.d.ts +21 -0
  285. package/src/v-angular/datepicker/index.d.ts +13 -0
  286. package/src/v-angular/datepicker/models/dates.d.ts +15 -0
  287. package/src/v-angular/datepicker/pipes/date-thook.pipe.d.ts +8 -0
  288. package/src/v-angular/datepicker/pipes/is-disabled.pipe.d.ts +8 -0
  289. package/src/v-angular/datepicker/pipes/matches.pipe.d.ts +7 -0
  290. package/src/v-angular/drag-drop/drag-drop.component.d.ts +131 -0
  291. package/src/v-angular/drag-drop/drag-drop.models.d.ts +49 -0
  292. package/src/v-angular/drag-drop/drag-drop.module.d.ts +13 -0
  293. package/src/v-angular/drag-drop/drag-drop.pipes.d.ts +40 -0
  294. package/src/v-angular/drag-drop/drag-drop.utils.d.ts +33 -0
  295. package/src/v-angular/drag-drop/index.d.ts +4 -0
  296. package/src/v-angular/dropdown/dropdown-list/dropdown-list.component.d.ts +11 -4
  297. package/src/v-angular/dropdown/dropdown.component.d.ts +10 -6
  298. package/src/v-angular/dropdown/dropdown.module.d.ts +8 -7
  299. package/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.d.ts +6 -6
  300. package/src/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.d.ts +3 -3
  301. package/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.d.ts +8 -6
  302. package/src/v-angular/dropdown/typeahead/typeahead.directive.d.ts +14 -12
  303. package/src/v-angular/dropdown/typeahead/typeahead.module.d.ts +4 -4
  304. package/src/v-angular/external-link/external-link.directive.d.ts +3 -3
  305. package/src/v-angular/external-link/external-link.module.d.ts +4 -4
  306. package/src/v-angular/i18n/i18n.module.d.ts +7 -7
  307. package/src/v-angular/i18n/i18n.test.module.d.ts +4 -4
  308. package/src/v-angular/info-circle/info-circle.component.d.ts +4 -4
  309. package/src/v-angular/info-circle/info-circle.module.d.ts +4 -4
  310. package/src/v-angular/input/input.component.d.ts +5 -10
  311. package/src/v-angular/input/input.module.d.ts +5 -4
  312. package/src/v-angular/input-mask/input-mask.directive.d.ts +3 -3
  313. package/src/v-angular/input-mask/input-mask.module.d.ts +5 -5
  314. package/src/v-angular/modal/dialog/dialog.component.d.ts +16 -7
  315. package/src/v-angular/modal/fold-out/fold-out.component.d.ts +34 -11
  316. package/src/v-angular/modal/fold-out/fold-out.directive.d.ts +3 -3
  317. package/src/v-angular/modal/fold-out/keyboard-key.enum.d.ts +7 -0
  318. package/src/v-angular/modal/modal.module.d.ts +4 -4
  319. package/src/v-angular/modal/slide-out/slide-out.component.d.ts +13 -6
  320. package/src/v-angular/pagination/index.d.ts +2 -0
  321. package/src/v-angular/pagination/pagination.component.d.ts +64 -0
  322. package/src/v-angular/pagination/pagination.module.d.ts +12 -0
  323. package/src/v-angular/radio/radio.component.d.ts +14 -13
  324. package/src/v-angular/radio/radio.module.d.ts +5 -4
  325. package/src/v-angular/slug/slug.module.d.ts +4 -4
  326. package/src/v-angular/table/index.d.ts +5 -0
  327. package/src/v-angular/table/table.component.d.ts +229 -0
  328. package/src/v-angular/table/table.directive.d.ts +36 -0
  329. package/src/v-angular/table/table.models.d.ts +62 -0
  330. package/src/v-angular/table/table.module.d.ts +12 -0
  331. package/src/v-angular/table/table.tools.d.ts +5 -0
  332. package/src/v-angular/table/tr-thook.pipe.d.ts +7 -0
  333. package/src/v-angular/tabs/index.d.ts +4 -0
  334. package/src/v-angular/tabs/tab.directive.d.ts +37 -0
  335. package/src/v-angular/tabs/tabs.component.d.ts +65 -0
  336. package/src/v-angular/tabs/tabs.models.d.ts +25 -0
  337. package/src/v-angular/tabs/tabs.module.d.ts +11 -0
  338. package/src/v-angular/textarea/textarea.component.d.ts +6 -5
  339. package/src/v-angular/textarea/textarea.module.d.ts +6 -4
  340. package/src/v-angular/toast/index.d.ts +4 -0
  341. package/src/v-angular/toast/toast-message.service.d.ts +17 -0
  342. package/src/v-angular/toast/toast.component.d.ts +22 -0
  343. package/src/v-angular/toast/toast.models.d.ts +15 -0
  344. package/src/v-angular/toast/toast.module.d.ts +10 -0
  345. package/src/v-angular/tooltip/tooltip.directive.d.ts +5 -3
  346. package/src/v-angular/tooltip/tooltip.module.d.ts +4 -4
  347. package/src/v-angular/tooltip/tooltip.styles.d.ts +11 -0
  348. package/v-angular/alert/alert.component.d.ts +19 -0
  349. package/v-angular/alert/alert.models.d.ts +13 -0
  350. package/v-angular/alert/alert.module.d.ts +8 -0
  351. package/v-angular/alert/index.d.ts +3 -0
  352. package/v-angular/base-control-value-accessor/base-control-value-accessor.component.d.ts +10 -4
  353. package/v-angular/base-control-value-accessor/base-control-value-accessor.module.d.ts +4 -4
  354. package/v-angular/breadcrumbs/breadcrumbs.component.d.ts +4 -4
  355. package/v-angular/breadcrumbs/breadcrumbs.module.d.ts +4 -4
  356. package/v-angular/button/button.component.d.ts +5 -5
  357. package/v-angular/button/button.module.d.ts +4 -4
  358. package/v-angular/card/card.component.d.ts +3 -3
  359. package/v-angular/card/card.module.d.ts +4 -4
  360. package/v-angular/character-countdown/character-countdown.module.d.ts +4 -4
  361. package/v-angular/checkbox/checkbox.component.d.ts +6 -5
  362. package/v-angular/checkbox/checkbox.module.d.ts +5 -4
  363. package/v-angular/datepicker/components/calendar/calendar.component.d.ts +36 -0
  364. package/v-angular/datepicker/components/calendar-control/calendar-control.component.d.ts +30 -0
  365. package/v-angular/datepicker/components/date-input/date-input.component.d.ts +102 -0
  366. package/v-angular/datepicker/components/datepicker/datepicker.component.d.ts +62 -0
  367. package/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.d.ts +165 -0
  368. package/v-angular/datepicker/datepicker.globals.d.ts +13 -0
  369. package/v-angular/datepicker/datepicker.models.d.ts +50 -0
  370. package/v-angular/datepicker/datepicker.module.d.ts +19 -0
  371. package/v-angular/datepicker/datepicker.utils.d.ts +39 -0
  372. package/v-angular/datepicker/directives/calendar-date.directive.d.ts +21 -0
  373. package/v-angular/datepicker/index.d.ts +13 -0
  374. package/v-angular/datepicker/models/dates.d.ts +15 -0
  375. package/v-angular/datepicker/pipes/date-thook.pipe.d.ts +8 -0
  376. package/v-angular/datepicker/pipes/is-disabled.pipe.d.ts +8 -0
  377. package/v-angular/datepicker/pipes/matches.pipe.d.ts +7 -0
  378. package/v-angular/drag-drop/drag-drop.component.d.ts +131 -0
  379. package/v-angular/drag-drop/drag-drop.models.d.ts +49 -0
  380. package/v-angular/drag-drop/drag-drop.module.d.ts +13 -0
  381. package/v-angular/drag-drop/drag-drop.pipes.d.ts +40 -0
  382. package/v-angular/drag-drop/drag-drop.utils.d.ts +33 -0
  383. package/v-angular/drag-drop/index.d.ts +4 -0
  384. package/v-angular/dropdown/dropdown-list/dropdown-list.component.d.ts +11 -4
  385. package/v-angular/dropdown/dropdown.component.d.ts +10 -6
  386. package/v-angular/dropdown/dropdown.module.d.ts +8 -7
  387. package/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.d.ts +6 -6
  388. package/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.d.ts +3 -3
  389. package/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.d.ts +8 -6
  390. package/v-angular/dropdown/typeahead/typeahead.directive.d.ts +14 -12
  391. package/v-angular/dropdown/typeahead/typeahead.module.d.ts +4 -4
  392. package/v-angular/external-link/external-link.directive.d.ts +17 -0
  393. package/v-angular/external-link/external-link.module.d.ts +8 -0
  394. package/v-angular/external-link/index.d.ts +2 -0
  395. package/v-angular/i18n/i18n.module.d.ts +7 -7
  396. package/v-angular/i18n/i18n.test.module.d.ts +4 -4
  397. package/v-angular/index.d.ts +9 -0
  398. package/v-angular/info-circle/info-circle.component.d.ts +4 -4
  399. package/v-angular/info-circle/info-circle.module.d.ts +4 -4
  400. package/v-angular/input/input.component.d.ts +5 -10
  401. package/v-angular/input/input.module.d.ts +5 -4
  402. package/v-angular/input-mask/input-mask.directive.d.ts +3 -3
  403. package/v-angular/input-mask/input-mask.module.d.ts +5 -5
  404. package/v-angular/modal/dialog/dialog.component.d.ts +16 -7
  405. package/v-angular/modal/fold-out/fold-out.component.d.ts +34 -11
  406. package/v-angular/modal/fold-out/fold-out.directive.d.ts +3 -3
  407. package/v-angular/modal/fold-out/keyboard-key.enum.d.ts +7 -0
  408. package/v-angular/modal/modal.module.d.ts +4 -4
  409. package/v-angular/modal/slide-out/slide-out.component.d.ts +13 -6
  410. package/v-angular/pagination/index.d.ts +2 -0
  411. package/v-angular/pagination/pagination.component.d.ts +64 -0
  412. package/v-angular/pagination/pagination.module.d.ts +12 -0
  413. package/v-angular/radio/radio.component.d.ts +14 -13
  414. package/v-angular/radio/radio.module.d.ts +5 -4
  415. package/v-angular/slug/index.d.ts +2 -0
  416. package/v-angular/slug/slug.module.d.ts +8 -0
  417. package/v-angular/slug/slug.pipe.d.ts +12 -0
  418. package/v-angular/table/index.d.ts +5 -0
  419. package/v-angular/table/table.component.d.ts +229 -0
  420. package/v-angular/table/table.directive.d.ts +36 -0
  421. package/v-angular/table/table.models.d.ts +62 -0
  422. package/v-angular/table/table.module.d.ts +12 -0
  423. package/v-angular/table/table.tools.d.ts +5 -0
  424. package/v-angular/table/tr-thook.pipe.d.ts +7 -0
  425. package/v-angular/tabs/index.d.ts +4 -0
  426. package/v-angular/tabs/tab.directive.d.ts +37 -0
  427. package/v-angular/tabs/tabs.component.d.ts +65 -0
  428. package/v-angular/tabs/tabs.models.d.ts +25 -0
  429. package/v-angular/tabs/tabs.module.d.ts +11 -0
  430. package/v-angular/textarea/textarea.component.d.ts +6 -5
  431. package/v-angular/textarea/textarea.module.d.ts +6 -4
  432. package/v-angular/toast/index.d.ts +4 -0
  433. package/v-angular/toast/toast-message.service.d.ts +17 -0
  434. package/v-angular/toast/toast.component.d.ts +22 -0
  435. package/v-angular/toast/toast.models.d.ts +15 -0
  436. package/v-angular/toast/toast.module.d.ts +10 -0
  437. package/v-angular/tooltip/tooltip.directive.d.ts +5 -3
  438. package/v-angular/tooltip/tooltip.module.d.ts +4 -4
  439. package/v-angular/tooltip/tooltip.styles.d.ts +11 -0
  440. package/v-angular/v-angular.module.d.ts +27 -18
@@ -0,0 +1,262 @@
1
+ /* eslint-disable no-console */
2
+ import { Component, ContentChildren, EventEmitter, HostBinding, Input, Output, QueryList, } from '@angular/core';
3
+ import { NavigationEnd, Router } from '@angular/router';
4
+ import { filter } from 'rxjs/operators';
5
+ import { TabDirective } from './tab.directive';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/router";
8
+ import * as i2 from "@angular/common";
9
+ import * as i3 from "@jsverse/transloco";
10
+ export class TabsComponent {
11
+ constructor(router) {
12
+ this.router = router;
13
+ /** @internal */
14
+ this.baseClass = true;
15
+ /** Special property used for selecting DOM elements during automated UI testing. */
16
+ this.thook = 'tabs';
17
+ /** @internal List of children with a {@link TabDirective}. */
18
+ this.tabRefs = new QueryList();
19
+ /**
20
+ * List of tabs to generate, this should not be used in conjunction with children that have a {@link TabDirective}.
21
+ * It is useful for generating a list of tabs with links for navigation.
22
+ * If any tab has the link property, a `<router-outlet>` is added below the tabs list.
23
+ */
24
+ this.tabs = [];
25
+ /**
26
+ * Event triggered on initialization and every time the active tab changes.
27
+ * The tab change can be cancelled if event type is set to `'before'` and `cancel()` is called.
28
+ */
29
+ this.ngvTabSwitch = new EventEmitter();
30
+ /** @internal Adds a `<router-outlet>` below the tabs list. */
31
+ this.useRouting = false;
32
+ /** @internal If tab switching has started. */
33
+ this.isSwitching = false;
34
+ /** @internal */
35
+ this.subs = [];
36
+ /** @internal */
37
+ this.updateFromInput = () => {
38
+ // Make sure each tab has a unique id
39
+ this.tabs = TabsComponent.uniqueIds(this.tabs);
40
+ // Determine if router outlet should be used
41
+ this.useRouting = this.tabs.some(({ link }) => link);
42
+ this.updateTabs();
43
+ };
44
+ /** @internal */
45
+ this.updateFromReferences = () => {
46
+ this.tabs = this.tabRefs.map((tabRef) => ({
47
+ tab: tabRef.tab,
48
+ id: tabRef.id,
49
+ active: tabRef.active,
50
+ disabled: tabRef.disabled,
51
+ directive: tabRef,
52
+ }));
53
+ // Make sure each tab has a unique id
54
+ this.tabs = TabsComponent.uniqueIds(this.tabs);
55
+ this.tabs.forEach((tab) => {
56
+ if (tab.directive)
57
+ tab.directive.id = tab.id;
58
+ });
59
+ this.updateTabs();
60
+ };
61
+ }
62
+ /** @internal */
63
+ static uniqueIds(tabs) {
64
+ const uniqueIds = new Set();
65
+ let offset = 0;
66
+ return tabs.map((tab, index) => {
67
+ if (tab.id && !uniqueIds.has(tab.id)) {
68
+ // Id is already unique
69
+ uniqueIds.add(tab.id);
70
+ return { ...tab };
71
+ }
72
+ else {
73
+ // If no id is set for the tab, use the next available index
74
+ while (uniqueIds.has(index + offset))
75
+ offset++;
76
+ const id = index + offset;
77
+ if (uniqueIds.has(tab.id)) {
78
+ // eslint-disable-next-line no-console
79
+ console.warn(`Duplicate tab id "${tab.id}" found for tab "${tab.tab}", de-duplicating using index + offset. New tab id will be ${id}`);
80
+ }
81
+ uniqueIds.add(id);
82
+ return { ...tab, id };
83
+ }
84
+ });
85
+ }
86
+ ngOnChanges(changes) {
87
+ if (changes.tabs.currentValue) {
88
+ // Update tabs on property updates
89
+ this.updateFromInput();
90
+ }
91
+ }
92
+ ngOnInit() {
93
+ // Update tabs on route change
94
+ this.subs.push(this.router.events
95
+ .pipe(filter((e) => e instanceof NavigationEnd))
96
+ .subscribe((e) => {
97
+ // Skip if already routing to tab
98
+ if (this.isSwitching)
99
+ return;
100
+ const tab = this.tabs.find(({ link }) => link && e.url.endsWith(link));
101
+ if (tab) {
102
+ this.onSelect(tab.id);
103
+ if (tab.disabled) {
104
+ // Fallback to previously selected tab or first tab not disabled
105
+ const fallbackTab = this.selectedTab
106
+ ? this.selectedTab
107
+ : this.tabs.find(({ disabled }) => !disabled);
108
+ if (fallbackTab && fallbackTab.link)
109
+ this.router.navigateByUrl(fallbackTab.link);
110
+ }
111
+ }
112
+ }));
113
+ }
114
+ ngAfterContentInit() {
115
+ // Update tabs on view init
116
+ if (this.tabRefs.length) {
117
+ this.updateFromReferences();
118
+ }
119
+ // Update tabs on view child change
120
+ this.subs.push(this.tabRefs.changes.subscribe(this.updateFromReferences));
121
+ }
122
+ /** @internal */
123
+ updateTabs() {
124
+ const url = window.location.href;
125
+ // Select tab if its link matches active url
126
+ let selectedTab = this.tabs.find(({ link, disabled }) => link && !disabled && url.endsWith(link));
127
+ // Fallback to first active tab
128
+ if (!selectedTab)
129
+ selectedTab = this.tabs.find((tab) => tab.active);
130
+ // Fallback to first tab
131
+ if (!selectedTab)
132
+ selectedTab = this.tabs[0];
133
+ // Select or give up
134
+ if (selectedTab && this.selectedTab !== selectedTab)
135
+ this.onSelect(selectedTab.id);
136
+ }
137
+ ngOnDestroy() {
138
+ this.subs.forEach((sub) => sub.unsubscribe());
139
+ }
140
+ /** @internal */
141
+ activateTab(tab) {
142
+ // Deactivate all tabs
143
+ this.tabs.forEach((t) => {
144
+ t.active = false;
145
+ if (t.directive)
146
+ t.directive.active = false;
147
+ });
148
+ // Activate selected tab
149
+ tab.active = true;
150
+ if (tab.directive)
151
+ tab.directive.active = true;
152
+ // Send end event
153
+ this.ngvTabSwitch.emit({ type: 'end', prev: this.selectedTab, next: tab });
154
+ this.selectedTab = tab;
155
+ this.isSwitching = false;
156
+ }
157
+ /** @internal */
158
+ onSelect(id) {
159
+ const selectedTab = this.tabs.find((tab) => tab.id === id);
160
+ if (selectedTab &&
161
+ !selectedTab.disabled &&
162
+ selectedTab !== this.selectedTab) {
163
+ let cancelled = false;
164
+ // Events are synchronous and allow for tab switch to be cancelled if desired
165
+ this.isSwitching = true;
166
+ this.ngvTabSwitch.emit({
167
+ type: 'start',
168
+ prev: this.selectedTab,
169
+ next: selectedTab,
170
+ cancel: () => {
171
+ cancelled = true;
172
+ },
173
+ });
174
+ if (cancelled) {
175
+ this.ngvTabSwitch.emit({
176
+ type: 'cancel',
177
+ prev: this.selectedTab,
178
+ next: selectedTab,
179
+ });
180
+ this.isSwitching = false;
181
+ return;
182
+ }
183
+ if (selectedTab.link) {
184
+ // Navigate and wait for guard accept route
185
+ this.router
186
+ .navigateByUrl(selectedTab.link, { replaceUrl: true })
187
+ .then((changed) => {
188
+ if (changed === false) {
189
+ this.ngvTabSwitch.emit({
190
+ type: 'cancel',
191
+ prev: this.selectedTab,
192
+ next: selectedTab,
193
+ });
194
+ this.isSwitching = false;
195
+ }
196
+ else
197
+ this.activateTab(selectedTab);
198
+ });
199
+ }
200
+ else {
201
+ this.activateTab(selectedTab);
202
+ }
203
+ }
204
+ }
205
+ /** @internal */
206
+ onKeyDown(event) {
207
+ const tabElement = event.target;
208
+ if (!tabElement)
209
+ return false;
210
+ const parent = tabElement.parentElement;
211
+ switch (event.key) {
212
+ case 'End': // End
213
+ if (parent)
214
+ this.tabFocusHelper(event, parent.lastElementChild);
215
+ break;
216
+ case 'Home': // Home
217
+ if (parent)
218
+ this.tabFocusHelper(event, parent.firstElementChild);
219
+ break;
220
+ case 'LeftArrow': // Left arrow
221
+ case 'UpArrow': // Up arrow
222
+ this.tabFocusHelper(event, tabElement.previousElementSibling);
223
+ break;
224
+ case 'RightArrow': // Right arrow
225
+ case 'DownArrow': // Down arrow
226
+ this.tabFocusHelper(event, tabElement.nextElementSibling);
227
+ break;
228
+ }
229
+ return true;
230
+ }
231
+ /** @internal */
232
+ tabFocusHelper(event, tabElement) {
233
+ if (!tabElement || !(tabElement instanceof HTMLElement))
234
+ return;
235
+ event.preventDefault();
236
+ event.stopPropagation();
237
+ tabElement.focus();
238
+ this.onSelect(tabElement.id.slice(4));
239
+ }
240
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabsComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
241
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TabsComponent, selector: "nggv-tabs", inputs: { thook: "thook", tabs: "tabs" }, outputs: { ngvTabSwitch: "ngvTabSwitch" }, host: { properties: { "class.gds-tabs": "this.baseClass", "attr.data-thook": "this.thook" } }, queries: [{ propertyName: "tabRefs", predicate: TabDirective }], usesOnChanges: true, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <div\n class=\"gds-tabs__tablist\"\n role=\"tablist\"\n [attr.data-thook]=\"thook + '-list'\"\n (keydown)=\"onKeyDown($event)\"\n >\n <button\n class=\"gds-tabs__tab\"\n [id]=\"'tab-' + (tab.id !== undefined ? tab.id : '')\"\n role=\"tab\"\n [attr.data-thook]=\"tab.thook || thook + '-tab'\"\n [tabindex]=\"tab.active ? 0 : -1\"\n [attr.aria-controls]=\"'panel-' + (tab.id !== undefined ? tab.id : '')\"\n [attr.aria-selected]=\"tab.active\"\n [class.-selected]=\"tab.active\"\n [disabled]=\"tab.disabled\"\n [innerHTML]=\"t(tab.tab)\"\n (click)=\"onSelect(tab.id)\"\n *ngFor=\"let tab of tabs\"\n ></button>\n </div>\n <article\n *ngIf=\"useRouting\"\n class=\"gds-tabs__panel -active\"\n [id]=\"'panel-' + (selectedTab ? selectedTab.id : '')\"\n [attr.data-thook]=\"thook + '-panel'\"\n [attr.aria-labelledby]=\"'tab-' + (selectedTab ? selectedTab.id : '')\"\n >\n <router-outlet></router-outlet>\n </article>\n <ng-content *ngIf=\"!useRouting\"></ng-content>\n</ng-container>\n", styles: [":host{--sg-border-width: 1px;--sg-border-color: #868686;--gds-ref-pallet-base600: #868686;--text-primary-color: #333}:host .gds-tabs__tablist{display:flex;overflow-x:auto;padding:.25rem;margin:-.25rem;--sg-border-color: var(--gds-ref-pallet-base600)}:host .gds-tabs__tablist::-webkit-scrollbar{display:none}:host .gds-tabs__tablist:not(.gds-tabs--fluid):after{border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);content:\"\";display:block;flex-grow:1}:host .gds-tabs__tab{background-color:transparent;border:0;cursor:pointer;padding:0;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);padding:.75rem 1rem;font-weight:500;transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;display:flex;justify-content:center;color:var(--text-primary-color);text-align:center;text-decoration:none;white-space:nowrap;border-radius:.25rem .25rem 0 0;border-left:var(--sg-border-width) solid transparent;border-top:var(--sg-border-width) solid transparent;border-right:var(--sg-border-width) solid transparent;gap:.25rem;transition:none;font-size:1rem;font-family:inherit}:host .gds-tabs__tab: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 .gds-tabs__tab:focus:not(:focus-visible){box-shadow:none;outline:0}:host .gds-tabs__tab:focus,:host .gds-tabs__tab:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}.gds-tabs--fluid :host .gds-tabs__tab{flex:1}:host .gds-tabs__tab svg>*{fill:currentColor}:host .gds-tabs__tab.-selected{box-sizing:border-box;border-top:solid var(--sg-border-width) var(--sg-border-color);border-right:solid var(--sg-border-width) var(--sg-border-color);border-left:solid var(--sg-border-width) var(--sg-border-color);transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;border-top-left-radius:.25rem;border-top-right-radius:.25rem;border-bottom:var(--sg-border-width) transparent;color:var(--text-primary-color);transition:none;padding:11px 15px 12px}:host .gds-tabs__tab.-selected:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#333;color:#fff;--background: rgb(51, 51, 51);--color: rgb(255, 255, 255);border-color:#333}:host .gds-tabs__tab[disabled]{color:#adadad;cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
242
+ }
243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabsComponent, decorators: [{
244
+ type: Component,
245
+ args: [{ selector: 'nggv-tabs', template: "<ng-container *transloco=\"let t\">\n <div\n class=\"gds-tabs__tablist\"\n role=\"tablist\"\n [attr.data-thook]=\"thook + '-list'\"\n (keydown)=\"onKeyDown($event)\"\n >\n <button\n class=\"gds-tabs__tab\"\n [id]=\"'tab-' + (tab.id !== undefined ? tab.id : '')\"\n role=\"tab\"\n [attr.data-thook]=\"tab.thook || thook + '-tab'\"\n [tabindex]=\"tab.active ? 0 : -1\"\n [attr.aria-controls]=\"'panel-' + (tab.id !== undefined ? tab.id : '')\"\n [attr.aria-selected]=\"tab.active\"\n [class.-selected]=\"tab.active\"\n [disabled]=\"tab.disabled\"\n [innerHTML]=\"t(tab.tab)\"\n (click)=\"onSelect(tab.id)\"\n *ngFor=\"let tab of tabs\"\n ></button>\n </div>\n <article\n *ngIf=\"useRouting\"\n class=\"gds-tabs__panel -active\"\n [id]=\"'panel-' + (selectedTab ? selectedTab.id : '')\"\n [attr.data-thook]=\"thook + '-panel'\"\n [attr.aria-labelledby]=\"'tab-' + (selectedTab ? selectedTab.id : '')\"\n >\n <router-outlet></router-outlet>\n </article>\n <ng-content *ngIf=\"!useRouting\"></ng-content>\n</ng-container>\n", styles: [":host{--sg-border-width: 1px;--sg-border-color: #868686;--gds-ref-pallet-base600: #868686;--text-primary-color: #333}:host .gds-tabs__tablist{display:flex;overflow-x:auto;padding:.25rem;margin:-.25rem;--sg-border-color: var(--gds-ref-pallet-base600)}:host .gds-tabs__tablist::-webkit-scrollbar{display:none}:host .gds-tabs__tablist:not(.gds-tabs--fluid):after{border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);content:\"\";display:block;flex-grow:1}:host .gds-tabs__tab{background-color:transparent;border:0;cursor:pointer;padding:0;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);padding:.75rem 1rem;font-weight:500;transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;display:flex;justify-content:center;color:var(--text-primary-color);text-align:center;text-decoration:none;white-space:nowrap;border-radius:.25rem .25rem 0 0;border-left:var(--sg-border-width) solid transparent;border-top:var(--sg-border-width) solid transparent;border-right:var(--sg-border-width) solid transparent;gap:.25rem;transition:none;font-size:1rem;font-family:inherit}:host .gds-tabs__tab: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 .gds-tabs__tab:focus:not(:focus-visible){box-shadow:none;outline:0}:host .gds-tabs__tab:focus,:host .gds-tabs__tab:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}.gds-tabs--fluid :host .gds-tabs__tab{flex:1}:host .gds-tabs__tab svg>*{fill:currentColor}:host .gds-tabs__tab.-selected{box-sizing:border-box;border-top:solid var(--sg-border-width) var(--sg-border-color);border-right:solid var(--sg-border-width) var(--sg-border-color);border-left:solid var(--sg-border-width) var(--sg-border-color);transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;border-top-left-radius:.25rem;border-top-right-radius:.25rem;border-bottom:var(--sg-border-width) transparent;color:var(--text-primary-color);transition:none;padding:11px 15px 12px}:host .gds-tabs__tab.-selected:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#333;color:#fff;--background: rgb(51, 51, 51);--color: rgb(255, 255, 255);border-color:#333}:host .gds-tabs__tab[disabled]{color:#adadad;cursor:not-allowed}\n"] }]
246
+ }], ctorParameters: () => [{ type: i1.Router }], propDecorators: { baseClass: [{
247
+ type: HostBinding,
248
+ args: ['class.gds-tabs']
249
+ }], thook: [{
250
+ type: HostBinding,
251
+ args: ['attr.data-thook']
252
+ }, {
253
+ type: Input
254
+ }], tabRefs: [{
255
+ type: ContentChildren,
256
+ args: [TabDirective]
257
+ }], tabs: [{
258
+ type: Input
259
+ }], ngvTabSwitch: [{
260
+ type: Output
261
+ }] } });
262
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci90YWJzL3RhYnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvdGFicy90YWJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBRUwsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFJTCxNQUFNLEVBQ04sU0FBUyxHQUVWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTs7Ozs7QUFROUMsTUFBTSxPQUFPLGFBQWE7SUF1Q3hCLFlBQXNCLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBcENwQyxnQkFBZ0I7UUFDZSxjQUFTLEdBQUcsSUFBSSxDQUFBO1FBRS9DLG9GQUFvRjtRQUMzQyxVQUFLLEdBQzVDLE1BQU0sQ0FBQTtRQUVSLDhEQUE4RDtRQUMvQixZQUFPLEdBQ3BDLElBQUksU0FBUyxFQUFFLENBQUE7UUFFakI7Ozs7V0FJRztRQUNNLFNBQUksR0FBVSxFQUFFLENBQUE7UUFFekI7OztXQUdHO1FBQ2MsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQTtRQUVsRSw4REFBOEQ7UUFDOUQsZUFBVSxHQUFHLEtBQUssQ0FBQTtRQUtsQiw4Q0FBOEM7UUFDOUMsZ0JBQVcsR0FBRyxLQUFLLENBQUE7UUFFbkIsZ0JBQWdCO1FBQ04sU0FBSSxHQUFtQixFQUFFLENBQUE7UUFxRW5DLGdCQUFn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QyxjQUFjLEVBQUUsQ0FBQTtRQUN0QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDdkIsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN2QyxDQUFDOytHQS9QVSxhQUFhO21HQUFiLGFBQWEsNlBBV1AsWUFBWSxrREN0Qy9CLG1tQ0FpQ0E7OzRGRE5hLGFBQWE7a0JBTHpCLFNBQVM7K0JBQ0UsV0FBVzsyRUFRVSxTQUFTO3NCQUF2QyxXQUFXO3VCQUFDLGdCQUFnQjtnQkFHWSxLQUFLO3NCQUE3QyxXQUFXO3VCQUFDLGlCQUFpQjs7c0JBQUcsS0FBSztnQkFJUCxPQUFPO3NCQUFyQyxlQUFlO3VCQUFDLFlBQVk7Z0JBUXBCLElBQUk7c0JBQVosS0FBSztnQkFNVyxZQUFZO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHsgVGFiRGlyZWN0aXZlIH0gZnJvbSAnLi90YWIuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRXZlbnRUYWJDaGFuZ2UsIFRhYiB9IGZyb20gJy4vdGFicy5tb2RlbHMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nZ3YtdGFicycsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFicy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJzQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveVxue1xuICAvKiogQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZ2RzLXRhYnMnKSBiYXNlQ2xhc3MgPSB0cnVlXG5cbiAgLyoqIFNwZWNpYWwgcHJvcGVydHkgdXNlZCBmb3Igc2VsZWN0aW5nIERPTSBlbGVtZW50cyBkdXJpbmcgYXV0b21hdGVkIFVJIHRlc3RpbmcuICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXRob29rJykgQElucHV0KCkgdGhvb2s6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQgPVxuICAgICd0YWJzJ1xuXG4gIC8qKiBAaW50ZXJuYWwgTGlzdCBvZiBjaGlsZHJlbiB3aXRoIGEge0BsaW5rIFRhYkRpcmVjdGl2ZX0uICovXG4gIEBDb250ZW50Q2hpbGRyZW4oVGFiRGlyZWN0aXZlKSB0YWJSZWZzOiBRdWVyeUxpc3Q8VGFiRGlyZWN0aXZlPiA9XG4gICAgbmV3IFF1ZXJ5TGlzdCgpXG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgdGFicyB0byBnZW5lcmF0ZSwgdGhpcyBzaG91bGQgbm90IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBjaGlsZHJlbiB0aGF0IGhhdmUgYSB7QGxpbmsgVGFiRGlyZWN0aXZlfS5cbiAgICogSXQgaXMgdXNlZnVsIGZvciBnZW5lcmF0aW5nIGEgbGlzdCBvZiB0YWJzIHdpdGggbGlua3MgZm9yIG5hdmlnYXRpb24uXG4gICAqIElmIGFueSB0YWIgaGFzIHRoZSBsaW5rIHByb3BlcnR5LCBhIGA8cm91dGVyLW91dGxldD5gIGlzIGFkZGVkIGJlbG93IHRoZSB0YWJzIGxpc3QuXG4gICAqL1xuICBASW5wdXQoKSB0YWJzOiBUYWJbXSA9IFtdXG5cbiAgLyoqXG4gICAqIEV2ZW50IHRyaWdnZXJlZCBvbiBpbml0aWFsaXphdGlvbiBhbmQgZXZlcnkgdGltZSB0aGUgYWN0aXZlIHRhYiBjaGFuZ2VzLlxuICAgKiBUaGUgdGFiIGNoYW5nZSBjYW4gYmUgY2FuY2VsbGVkIGlmIGV2ZW50IHR5cGUgaXMgc2V0IHRvIGAnYmVmb3JlJ2AgYW5kIGBjYW5jZWwoKWAgaXMgY2FsbGVkLlxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyBuZ3ZUYWJTd2l0Y2ggPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50VGFiQ2hhbmdlPigpXG5cbiAgLyoqIEBpbnRlcm5hbCBBZGRzIGEgYDxyb3V0ZXItb3V0bGV0PmAgYmVsb3cgdGhlIHRhYnMgbGlzdC4gKi9cbiAgdXNlUm91dGluZyA9IGZhbHNlXG5cbiAgLyoqIEBpbnRlcm5hbCBUaGUgY3VycmVudGx5IGFjdGl2ZSB0YWIuICovXG4gIHNlbGVjdGVkVGFiOiBUYWIgfCB1bmRlZmluZWRcblxuICAvKiogQGludGVybmFsIElmIHRhYiBzd2l0Y2hpbmcgaGFzIHN0YXJ0ZWQuICovXG4gIGlzU3dpdGNoaW5nID0gZmFsc2VcblxuICAvKiogQGludGVybmFsICovXG4gIHByb3RlY3RlZCBzdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdXG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJvdXRlcjogUm91dGVyKSB7fVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgc3RhdGljIHVuaXF1ZUlkcyh0YWJzOiBUYWJbXSkge1xuICAgIGNvbnN0IHVuaXF1ZUlkcyA9IG5ldyBTZXQoKVxuICAgIGxldCBvZmZzZXQgPSAwXG4gICAgcmV0dXJuIHRhYnMubWFwKCh0YWIsIGluZGV4KSA9PiB7XG4gICAgICBpZiAodGFiLmlkICYmICF1bmlxdWVJZHMuaGFzKHRhYi5pZCkpIHtcbiAgICAgICAgLy8gSWQgaXMgYWxyZWFkeSB1bmlxdWVcbiAgICAgICAgdW5pcXVlSWRzLmFkZCh0YWIuaWQpXG4gICAgICAgIHJldHVybiB7IC4uLnRhYiB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBJZiBubyBpZCBpcyBzZXQgZm9yIHRoZSB0YWIsIHVzZSB0aGUgbmV4dCBhdmFpbGFibGUgaW5kZXhcbiAgICAgICAgd2hpbGUgKHVuaXF1ZUlkcy5oYXMoaW5kZXggKyBvZmZzZXQpKSBvZmZzZXQrK1xuICAgICAgICBjb25zdCBpZCA9IGluZGV4ICsgb2Zmc2V0XG4gICAgICAgIGlmICh1bmlxdWVJZHMuaGFzKHRhYi5pZCkpIHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgIGBEdXBsaWNhdGUgdGFiIGlkIFwiJHt0YWIuaWR9XCIgZm91bmQgZm9yIHRhYiBcIiR7dGFiLnRhYn1cIiwgZGUtZHVwbGljYXRpbmcgdXNpbmcgaW5kZXggKyBvZmZzZXQuIE5ldyB0YWIgaWQgd2lsbCBiZSAke2lkfWAsXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIHVuaXF1ZUlkcy5hZGQoaWQpXG4gICAgICAgIHJldHVybiB7IC4uLnRhYiwgaWQgfVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMudGFicy5jdXJyZW50VmFsdWUpIHtcbiAgICAgIC8vIFVwZGF0ZSB0YWJzIG9uIHByb3BlcnR5IHVwZGF0ZXNcbiAgICAgIHRoaXMudXBkYXRlRnJvbUlucHV0KClcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyBVcGRhdGUgdGFicyBvbiByb3V0ZSBjaGFuZ2VcbiAgICB0aGlzLnN1YnMucHVzaChcbiAgICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgICAucGlwZShmaWx0ZXIoKGUpOiBlIGlzIE5hdmlnYXRpb25FbmQgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxuICAgICAgICAuc3Vic2NyaWJlKChlOiBOYXZpZ2F0aW9uRW5kKSA9PiB7XG4gICAgICAgICAgLy8gU2tpcCBpZiBhbHJlYWR5IHJvdXRpbmcgdG8gdGFiXG4gICAgICAgICAgaWYgKHRoaXMuaXNTd2l0Y2hpbmcpIHJldHVyblxuICAgICAgICAgIGNvbnN0IHRhYiA9IHRoaXMudGFicy5maW5kKCh7IGxpbmsgfSkgPT4gbGluayAmJiBlLnVybC5lbmRzV2l0aChsaW5rKSlcbiAgICAgICAgICBpZiAodGFiKSB7XG4gICAgICAgICAgICB0aGlzLm9uU2VsZWN0KHRhYi5pZClcbiAgICAgICAgICAgIGlmICh0YWIuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgLy8gRmFsbGJhY2sgdG8gcHJldmlvdXNseSBzZWxlY3RlZCB0YWIgb3IgZmlyc3QgdGFiIG5vdCBkaXNhYmxlZFxuICAgICAgICAgICAgICBjb25zdCBmYWxsYmFja1RhYiA9IHRoaXMuc2VsZWN0ZWRUYWJcbiAgICAgICAgICAgICAgICA/IHRoaXMuc2VsZWN0ZWRUYWJcbiAgICAgICAgICAgICAgICA6IHRoaXMudGFicy5maW5kKCh7IGRpc2FibGVkIH0pID0+ICFkaXNhYmxlZClcbiAgICAgICAgICAgICAgaWYgKGZhbGxiYWNrVGFiICYmIGZhbGxiYWNrVGFiLmxpbmspXG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChmYWxsYmFja1RhYi5saW5rKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIC8vIFVwZGF0ZSB0YWJzIG9uIHZpZXcgaW5pdFxuICAgIGlmICh0aGlzLnRhYlJlZnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnVwZGF0ZUZyb21SZWZlcmVuY2VzKClcbiAgICB9XG4gICAgLy8gVXBkYXRlIHRhYnMgb24gdmlldyBjaGlsZCBjaGFuZ2VcbiAgICB0aGlzLnN1YnMucHVzaCh0aGlzLnRhYlJlZnMuY2hhbmdlcy5zdWJzY3JpYmUodGhpcy51cGRhdGVGcm9tUmVmZXJlbmNlcykpXG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHByb3RlY3RlZCB1cGRhdGVGcm9tSW5wdXQgPSAoKSA9PiB7XG4gICAgLy8gTWFrZSBzdXJlIGVhY2ggdGFiIGhhcyBhIHVuaXF1ZSBpZFxuICAgIHRoaXMudGFicyA9IFRhYnNDb21wb25lbnQudW5pcXVlSWRzKHRoaXMudGFicylcbiAgICAvLyBEZXRlcm1pbmUgaWYgcm91dGVyIG91dGxldCBzaG91bGQgYmUgdXNlZFxuICAgIHRoaXMudXNlUm91dGluZyA9IHRoaXMudGFicy5zb21lKCh7IGxpbmsgfSkgPT4gbGluaylcbiAgICB0aGlzLnVwZGF0ZVRhYnMoKVxuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcm90ZWN0ZWQgdXBkYXRlRnJvbVJlZmVyZW5jZXMgPSAoKSA9PiB7XG4gICAgdGhpcy50YWJzID0gdGhpcy50YWJSZWZzLm1hcCgodGFiUmVmKSA9PiAoe1xuICAgICAgdGFiOiB0YWJSZWYudGFiLFxuICAgICAgaWQ6IHRhYlJlZi5pZCxcbiAgICAgIGFjdGl2ZTogdGFiUmVmLmFjdGl2ZSxcbiAgICAgIGRpc2FibGVkOiB0YWJSZWYuZGlzYWJsZWQsXG4gICAgICBkaXJlY3RpdmU6IHRhYlJlZixcbiAgICB9KSlcbiAgICAvLyBNYWtlIHN1cmUgZWFjaCB0YWIgaGFzIGEgdW5pcXVlIGlkXG4gICAgdGhpcy50YWJzID0gVGFic0NvbXBvbmVudC51bmlxdWVJZHModGhpcy50YWJzKVxuICAgIHRoaXMudGFicy5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAgIGlmICh0YWIuZGlyZWN0aXZlKSB0YWIuZGlyZWN0aXZlLmlkID0gdGFiLmlkXG4gICAgfSlcbiAgICB0aGlzLnVwZGF0ZVRhYnMoKVxuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcm90ZWN0ZWQgdXBkYXRlVGFicygpIHtcbiAgICBjb25zdCB1cmwgPSB3aW5kb3cubG9jYXRpb24uaHJlZlxuICAgIC8vIFNlbGVjdCB0YWIgaWYgaXRzIGxpbmsgbWF0Y2hlcyBhY3RpdmUgdXJsXG4gICAgbGV0IHNlbGVjdGVkVGFiID0gdGhpcy50YWJzLmZpbmQoXG4gICAgICAoeyBsaW5rLCBkaXNhYmxlZCB9KSA9PiBsaW5rICYmICFkaXNhYmxlZCAmJiB1cmwuZW5kc1dpdGgobGluayksXG4gICAgKVxuICAgIC8vIEZhbGxiYWNrIHRvIGZpcnN0IGFjdGl2ZSB0YWJcbiAgICBpZiAoIXNlbGVjdGVkVGFiKSBzZWxlY3RlZFRhYiA9IHRoaXMudGFicy5maW5kKCh0YWIpID0+IHRhYi5hY3RpdmUpXG4gICAgLy8gRmFsbGJhY2sgdG8gZmlyc3QgdGFiXG4gICAgaWYgKCFzZWxlY3RlZFRhYikgc2VsZWN0ZWRUYWIgPSB0aGlzLnRhYnNbMF1cbiAgICAvLyBTZWxlY3Qgb3IgZ2l2ZSB1cFxuICAgIGlmIChzZWxlY3RlZFRhYiAmJiB0aGlzLnNlbGVjdGVkVGFiICE9PSBzZWxlY3RlZFRhYilcbiAgICAgIHRoaXMub25TZWxlY3Qoc2VsZWN0ZWRUYWIuaWQpXG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnMuZm9yRWFjaCgoc3ViKSA9PiBzdWIudW5zdWJzY3JpYmUoKSlcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJvdGVjdGVkIGFjdGl2YXRlVGFiKHRhYjogVGFiKSB7XG4gICAgLy8gRGVhY3RpdmF0ZSBhbGwgdGFic1xuICAgIHRoaXMudGFicy5mb3JFYWNoKCh0KSA9PiB7XG4gICAgICB0LmFjdGl2ZSA9IGZhbHNlXG4gICAgICBpZiAodC5kaXJlY3RpdmUpIHQuZGlyZWN0aXZlLmFjdGl2ZSA9IGZhbHNlXG4gICAgfSlcbiAgICAvLyBBY3RpdmF0ZSBzZWxlY3RlZCB0YWJcbiAgICB0YWIuYWN0aXZlID0gdHJ1ZVxuICAgIGlmICh0YWIuZGlyZWN0aXZlKSB0YWIuZGlyZWN0aXZlLmFjdGl2ZSA9IHRydWVcbiAgICAvLyBTZW5kIGVuZCBldmVudFxuICAgIHRoaXMubmd2VGFiU3dpdGNoLmVtaXQoeyB0eXBlOiAnZW5kJywgcHJldjogdGhpcy5zZWxlY3RlZFRhYiwgbmV4dDogdGFiIH0pXG4gICAgdGhpcy5zZWxlY3RlZFRhYiA9IHRhYlxuICAgIHRoaXMuaXNTd2l0Y2hpbmcgPSBmYWxzZVxuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBvblNlbGVjdChpZDogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRUYWIgPSB0aGlzLnRhYnMuZmluZCgodGFiKSA9PiB0YWIuaWQgPT09IGlkKVxuICAgIGlmIChcbiAgICAgIHNlbGVjdGVkVGFiICYmXG4gICAgICAhc2VsZWN0ZWRUYWIuZGlzYWJsZWQgJiZcbiAgICAgIHNlbGVjdGVkVGFiICE9PSB0aGlzLnNlbGVjdGVkVGFiXG4gICAgKSB7XG4gICAgICBsZXQgY2FuY2VsbGVkID0gZmFsc2VcbiAgICAgIC8vIEV2ZW50cyBhcmUgc3luY2hyb25vdXMgYW5kIGFsbG93IGZvciB0YWIgc3dpdGNoIHRvIGJlIGNhbmNlbGxlZCBpZiBkZXNpcmVkXG4gICAgICB0aGlzLmlzU3dpdGNoaW5nID0gdHJ1ZVxuICAgICAgdGhpcy5uZ3ZUYWJTd2l0Y2guZW1pdCh7XG4gICAgICAgIHR5cGU6ICdzdGFydCcsXG4gICAgICAgIHByZXY6IHRoaXMuc2VsZWN0ZWRUYWIsXG4gICAgICAgIG5leHQ6IHNlbGVjdGVkVGFiLFxuICAgICAgICBjYW5jZWw6ICgpID0+IHtcbiAgICAgICAgICBjYW5jZWxsZWQgPSB0cnVlXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICAgaWYgKGNhbmNlbGxlZCkge1xuICAgICAgICB0aGlzLm5ndlRhYlN3aXRjaC5lbWl0KHtcbiAgICAgICAgICB0eXBlOiAnY2FuY2VsJyxcbiAgICAgICAgICBwcmV2OiB0aGlzLnNlbGVjdGVkVGFiLFxuICAgICAgICAgIG5leHQ6IHNlbGVjdGVkVGFiLFxuICAgICAgICB9KVxuICAgICAgICB0aGlzLmlzU3dpdGNoaW5nID0gZmFsc2VcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBpZiAoc2VsZWN0ZWRUYWIubGluaykge1xuICAgICAgICAvLyBOYXZpZ2F0ZSBhbmQgd2FpdCBmb3IgZ3VhcmQgYWNjZXB0IHJvdXRlXG4gICAgICAgIHRoaXMucm91dGVyXG4gICAgICAgICAgLm5hdmlnYXRlQnlVcmwoc2VsZWN0ZWRUYWIubGluaywgeyByZXBsYWNlVXJsOiB0cnVlIH0pXG4gICAgICAgICAgLnRoZW4oKGNoYW5nZWQpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGFuZ2VkID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICB0aGlzLm5ndlRhYlN3aXRjaC5lbWl0KHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnY2FuY2VsJyxcbiAgICAgICAgICAgICAgICBwcmV2OiB0aGlzLnNlbGVjdGVkVGFiLFxuICAgICAgICAgICAgICAgIG5leHQ6IHNlbGVjdGVkVGFiLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB0aGlzLmlzU3dpdGNoaW5nID0gZmFsc2VcbiAgICAgICAgICAgIH0gZWxzZSB0aGlzLmFjdGl2YXRlVGFiKHNlbGVjdGVkVGFiKVxuICAgICAgICAgIH0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFjdGl2YXRlVGFiKHNlbGVjdGVkVGFiKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3QgdGFiRWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudFxuICAgIGlmICghdGFiRWxlbWVudCkgcmV0dXJuIGZhbHNlXG4gICAgY29uc3QgcGFyZW50ID0gdGFiRWxlbWVudC5wYXJlbnRFbGVtZW50XG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0VuZCc6IC8vIEVuZFxuICAgICAgICBpZiAocGFyZW50KVxuICAgICAgICAgIHRoaXMudGFiRm9jdXNIZWxwZXIoZXZlbnQsIHBhcmVudC5sYXN0RWxlbWVudENoaWxkIGFzIEhUTUxFbGVtZW50KVxuICAgICAgICBicmVha1xuXG4gICAgICBjYXNlICdIb21lJzogLy8gSG9tZVxuICAgICAgICBpZiAocGFyZW50KVxuICAgICAgICAgIHRoaXMudGFiRm9jdXNIZWxwZXIoZXZlbnQsIHBhcmVudC5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MRWxlbWVudClcbiAgICAgICAgYnJlYWtcblxuICAgICAgY2FzZSAnTGVmdEFycm93JzogLy8gTGVmdCBhcnJvd1xuICAgICAgY2FzZSAnVXBBcnJvdyc6IC8vIFVwIGFycm93XG4gICAgICAgIHRoaXMudGFiRm9jdXNIZWxwZXIoXG4gICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgdGFiRWxlbWVudC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nIGFzIEhUTUxFbGVtZW50LFxuICAgICAgICApXG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGNhc2UgJ1JpZ2h0QXJyb3cnOiAvLyBSaWdodCBhcnJvd1xuICAgICAgY2FzZSAnRG93bkFycm93JzogLy8gRG93biBhcnJvd1xuICAgICAgICB0aGlzLnRhYkZvY3VzSGVscGVyKGV2ZW50LCB0YWJFbGVtZW50Lm5leHRFbGVtZW50U2libGluZyBhcyBIVE1MRWxlbWVudClcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJvdGVjdGVkIHRhYkZvY3VzSGVscGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50LCB0YWJFbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIGlmICghdGFiRWxlbWVudCB8fCAhKHRhYkVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpIHJldHVyblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIHRhYkVsZW1lbnQuZm9jdXMoKVxuICAgIHRoaXMub25TZWxlY3QodGFiRWxlbWVudC5pZC5zbGljZSg0KSlcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqdHJhbnNsb2NvPVwibGV0IHRcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZ2RzLXRhYnNfX3RhYmxpc3RcIlxuICAgIHJvbGU9XCJ0YWJsaXN0XCJcbiAgICBbYXR0ci5kYXRhLXRob29rXT1cInRob29rICsgJy1saXN0J1wiXG4gICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJnZHMtdGFic19fdGFiXCJcbiAgICAgIFtpZF09XCIndGFiLScgKyAodGFiLmlkICE9PSB1bmRlZmluZWQgPyB0YWIuaWQgOiAnJylcIlxuICAgICAgcm9sZT1cInRhYlwiXG4gICAgICBbYXR0ci5kYXRhLXRob29rXT1cInRhYi50aG9vayB8fCB0aG9vayArICctdGFiJ1wiXG4gICAgICBbdGFiaW5kZXhdPVwidGFiLmFjdGl2ZSA/IDAgOiAtMVwiXG4gICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIidwYW5lbC0nICsgKHRhYi5pZCAhPT0gdW5kZWZpbmVkID8gdGFiLmlkIDogJycpXCJcbiAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwidGFiLmFjdGl2ZVwiXG4gICAgICBbY2xhc3MuLXNlbGVjdGVkXT1cInRhYi5hY3RpdmVcIlxuICAgICAgW2Rpc2FibGVkXT1cInRhYi5kaXNhYmxlZFwiXG4gICAgICBbaW5uZXJIVE1MXT1cInQodGFiLnRhYilcIlxuICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KHRhYi5pZClcIlxuICAgICAgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzXCJcbiAgICA+PC9idXR0b24+XG4gIDwvZGl2PlxuICA8YXJ0aWNsZVxuICAgICpuZ0lmPVwidXNlUm91dGluZ1wiXG4gICAgY2xhc3M9XCJnZHMtdGFic19fcGFuZWwgLWFjdGl2ZVwiXG4gICAgW2lkXT1cIidwYW5lbC0nICsgKHNlbGVjdGVkVGFiID8gc2VsZWN0ZWRUYWIuaWQgOiAnJylcIlxuICAgIFthdHRyLmRhdGEtdGhvb2tdPVwidGhvb2sgKyAnLXBhbmVsJ1wiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIid0YWItJyArIChzZWxlY3RlZFRhYiA/IHNlbGVjdGVkVGFiLmlkIDogJycpXCJcbiAgPlxuICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbiAgPC9hcnRpY2xlPlxuICA8bmctY29udGVudCAqbmdJZj1cIiF1c2VSb3V0aW5nXCI+PC9uZy1jb250ZW50PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci90YWJzL3RhYnMubW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJEaXJlY3RpdmUgfSBmcm9tICcuL3RhYi5kaXJlY3RpdmUnXG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFiIHtcbiAgLyoqIFNldHMgdGhlIHRpdGxlIGRpc3BsYXllZCBpbiB0aGUgdGFiIGxpc3QgZm9yIHRoaXMgY2hpbGQuICovXG4gIHRhYjogc3RyaW5nXG4gIGlkPzogc3RyaW5nIHwgbnVtYmVyXG4gIHRob29rPzogc3RyaW5nXG4gIGFjdGl2ZT86IGJvb2xlYW5cbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGxpbms/OiBzdHJpbmdcbiAgZGlyZWN0aXZlPzogVGFiRGlyZWN0aXZlXG59XG5cbmV4cG9ydCB0eXBlIEV2ZW50VGFiQ2hhbmdlID1cbiAgfCB7XG4gICAgICB0eXBlOiAnc3RhcnQnXG4gICAgICBwcmV2OiBUYWIgfCB1bmRlZmluZWRcbiAgICAgIG5leHQ6IFRhYlxuICAgICAgY2FuY2VsOiAoKSA9PiB2b2lkXG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdjYW5jZWwnXG4gICAgICBwcmV2OiBUYWIgfCB1bmRlZmluZWRcbiAgICAgIG5leHQ6IFRhYlxuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnZW5kJ1xuICAgICAgcHJldjogVGFiIHwgdW5kZWZpbmVkXG4gICAgICBuZXh0OiBUYWJcbiAgICB9XG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { RouterModule } from '@angular/router';
4
+ import { TranslocoModule } from '@jsverse/transloco';
5
+ import { TabDirective } from './tab.directive';
6
+ import { TabsComponent } from './tabs.component';
7
+ import * as i0 from "@angular/core";
8
+ export class NggvTabsModule {
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NggvTabsModule, declarations: [TabDirective, TabsComponent], imports: [CommonModule, TranslocoModule, RouterModule], exports: [TabDirective, TabsComponent] }); }
11
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvTabsModule, imports: [CommonModule, TranslocoModule, RouterModule] }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvTabsModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ declarations: [TabDirective, TabsComponent],
17
+ imports: [CommonModule, TranslocoModule, RouterModule],
18
+ exports: [TabDirective, TabsComponent],
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci90YWJzL3RhYnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTs7QUFPaEQsTUFBTSxPQUFPLGNBQWM7K0dBQWQsY0FBYztnSEFBZCxjQUFjLGlCQUpWLFlBQVksRUFBRSxhQUFhLGFBQ2hDLFlBQVksRUFBRSxlQUFlLEVBQUUsWUFBWSxhQUMzQyxZQUFZLEVBQUUsYUFBYTtnSEFFMUIsY0FBYyxZQUhmLFlBQVksRUFBRSxlQUFlLEVBQUUsWUFBWTs7NEZBRzFDLGNBQWM7a0JBTDFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztvQkFDM0MsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxZQUFZLENBQUM7b0JBQ3RELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7aUJBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuaW1wb3J0IHsgVHJhbnNsb2NvTW9kdWxlIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJ1xuXG5pbXBvcnQgeyBUYWJEaXJlY3RpdmUgfSBmcm9tICcuL3RhYi5kaXJlY3RpdmUnXG5pbXBvcnQgeyBUYWJzQ29tcG9uZW50IH0gZnJvbSAnLi90YWJzLmNvbXBvbmVudCdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbVGFiRGlyZWN0aXZlLCBUYWJzQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsb2NvTW9kdWxlLCBSb3V0ZXJNb2R1bGVdLFxuICBleHBvcnRzOiBbVGFiRGlyZWN0aXZlLCBUYWJzQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTmdndlRhYnNNb2R1bGUge31cbiJdfQ==
@@ -1,14 +1,16 @@
1
+ import '@sebgroup/green-core/components/icon/icons/triangle-exclamation.js';
1
2
  import { ChangeDetectorRef, Component, HostBinding, Inject, Input, Optional, Self, } from '@angular/core';
2
3
  import { NgControl } from '@angular/forms';
3
4
  import { TRANSLOCO_SCOPE } from '@jsverse/transloco';
4
- import { NgvBaseControlValueAccessorComponent } from '@sebgroup/green-angular/src/v-angular/base-control-value-accessor';
5
+ import { NggvBaseControlValueAccessorComponent } from '@sebgroup/green-angular/src/v-angular/base-control-value-accessor';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/forms";
7
8
  import * as i2 from "@angular/common";
8
9
  import * as i3 from "@jsverse/transloco";
9
10
  import * as i4 from "@sebgroup/green-angular/src/v-angular/character-countdown";
11
+ import * as i5 from "@sebgroup/green-angular/src/lib/shared";
10
12
  /** Textarea fields allow users to add and edit longer or multiple line text. */
11
- export class NgvTextareaComponent extends NgvBaseControlValueAccessorComponent {
13
+ export class NggvTextareaComponent extends NggvBaseControlValueAccessorComponent {
12
14
  /** Minimum length (number of characters) of value. */
13
15
  set minLength(length) {
14
16
  this._minlength = length;
@@ -65,12 +67,12 @@ export class NgvTextareaComponent extends NgvBaseControlValueAccessorComponent {
65
67
  this.state = event.target.value;
66
68
  this.onChange(this.state);
67
69
  }
68
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgvTextareaComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: TRANSLOCO_SCOPE, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
69
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NgvTextareaComponent, selector: "nggv-textarea", inputs: { thook: "thook", placeholder: "placeholder", readonly: "readonly", minLength: "minLength", minlength: "minlength", maxLength: "maxLength", maxlength: "maxlength", rows: "rows" }, host: { properties: { "attr.data-thook": "this.thook" } }, usesInheritance: true, ngImport: i0, template: "<!-- LABEL -->\n<label\n [id]=\"id + '-label'\"\n class=\"sdv-field-label hide-if-empty\"\n [attr.for]=\"id + '-textarea'\"\n *transloco=\"let t; read: scope\"\n>\n <ng-template\n *ngTemplateOutlet=\"labelContentTpl || basicLabelContentTpl\"\n ></ng-template>\n <ng-template #basicLabelContentTpl>\n <!-- to trigger css:empty if no label was added -->\n <ng-container *ngIf=\"label\">\n {{ label }}\n <span\n *ngIf=\"optional === true || (required !== true && optional !== false)\"\n class=\"sdv-field-label--optional\"\n >\n ({{ t('label.optional') }})\n </span>\n </ng-container>\n </ng-template>\n</label>\n\n<!-- DESCRIPTION -->\n<div class=\"sdv-field-label--small description\">{{ description }}</div>\n\n<!-- LOCKED INPUT -->\n<ng-container *ngIf=\"locked\">\n <div\n [id]=\"id + '-textarea'\"\n class=\"nggv-field--locked\"\n [attr.name]=\"name\"\n [attr.value]=\"state\"\n [attr.role]=\"role\"\n >\n <span *ngIf=\"!state\" class=\"unset-state\">-</span>\n <ng-container *ngIf=\"state\">\n {{ state }}\n </ng-container>\n </div>\n</ng-container>\n\n<!-- INPUT FIELD -->\n<ng-container *ngIf=\"!locked\">\n <textarea\n #input\n [id]=\"id + '-textarea'\"\n class=\"sdv-field\"\n [ngClass]=\"{ 'no-resize': !!rows }\"\n [class.nggv-field--error]=\"invalid\"\n [attr.name]=\"name\"\n [attr.required]=\"required\"\n [disabled]=\"disabled\"\n [autofocus]=\"autofocus\"\n [readOnly]=\"readonly\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.role]=\"role\"\n [attr.rows]=\"rows\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-label]=\"description\"\n [value]=\"state\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n ></textarea>\n\n <!-- ERRORS -->\n <div class=\"error-wrapper\" *transloco=\"let t; read: scope\">\n <label\n class=\"sdv-field-notice sdv-field-notice--error\"\n [attr.for]=\"id + '-textarea'\"\n *ngIf=\"invalid && (error || ngControl?.invalid)\"\n >\n <span *ngIf=\"error; else errorsRef\">{{ error }}</span>\n <ng-template #errorsRef>\n <span *ngIf=\"firstError as error\">\n {{ t('error.field' + error?.code, error?.params) }}\n </span>\n </ng-template>\n </label>\n\n <ng-container *ngIf=\"hasMaxLength\">\n <label\n *nggvCharacterCountdown=\"\n maxlength;\n currentLength: (inputRef?.nativeElement?.value ?? '').length;\n charactersLeft as charactersLeft\n \"\n class=\"sdv-field-notice\"\n style=\"text-align: right\"\n >\n {{ charactersLeft }} {{ t('label.maxlength') }}\n </label>\n </ng-container>\n </div>\n\n <!-- CHILDREN -->\n <ng-content></ng-content>\n</ng-container>\n", styles: [":host textarea{padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);align-items:center;background-color:var(--sg-form-control-bg);color:var(--text-primary-color);display:flex;justify-content:center;resize:vertical}:host textarea:focus:not(:focus-visible){box-shadow:none;outline:0}:host textarea:focus,:host textarea:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media screen and (-ms-high-contrast: active){:host textarea{border:2px solid currentcolor}}:host textarea:hover{background-color:var(--gds-ref-pallet-base100)}:host textarea:disabled,:host textarea.disabled,:host textarea[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 textarea:disabled::placeholder,:host textarea.disabled::placeholder,:host textarea[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host label:not(.sdv-field-notice){margin-bottom:.5rem}:host label:not(.sdv-field-notice):is(label){margin-bottom:0}:host label:not(.sdv-field-notice).form-control{width:fit-content}@supports (-moz-appearance: none){:host label:not(.sdv-field-notice).form-control:focus:not(:focus-visible){box-shadow:none;outline:0}:host label:not(.sdv-field-notice).form-control:focus,:host label:not(.sdv-field-notice).form-control:focus-within{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}}:host label:not(.sdv-field-notice):not(.form-control){font-weight:500;width:100%;line-height:1.25rem}:host label:not(.sdv-field-notice)+input,:host label:not(.sdv-field-notice)+textarea,fieldset :host label:not(.sdv-field-notice)+div,:host label:not(.sdv-field-notice)+button,:host label:not(.sdv-field-notice)+.group-stepper,:host label:not(.sdv-field-notice)+.stepper-wrapper,:host label:not(.sdv-field-notice)+.group{margin-top:.5rem}:host label:not(.sdv-field-notice)+.form-info{margin-bottom:.5rem}:host label:is(.sdv-field-label){margin-bottom:.5rem}:host .hide-if-empty:empty{display:none}:host .unset-state{padding-left:.5rem}:host .sdv-field-label--optional{font-weight:400}:host textarea{width:100%;max-width:100%}:host .description{margin-bottom:.5rem}:host .error-wrapper{margin-top:.5rem}:host .no-resize{resize:none}:host .no-resize::-webkit-scrollbar{-webkit-appearance:none}:host .no-resize::-webkit-scrollbar-thumb{border-radius:.5rem}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: i4.CharacterCountdownDirective, selector: "[nggvCharacterCountdown]", inputs: ["nggvCharacterCountdown", "nggvCharacterCountdownCurrentLength"] }] }); }
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvTextareaComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: TRANSLOCO_SCOPE, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
71
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NggvTextareaComponent, selector: "nggv-textarea", inputs: { thook: "thook", placeholder: "placeholder", readonly: "readonly", minLength: "minLength", minlength: "minlength", maxLength: "maxLength", maxlength: "maxlength", rows: "rows" }, host: { properties: { "attr.data-thook": "this.thook" } }, usesInheritance: true, ngImport: i0, template: "<!-- LABEL -->\n<label\n [id]=\"id + '-label'\"\n class=\"gds-field-label hide-if-empty\"\n [attr.for]=\"id + '-textarea'\"\n *transloco=\"let t; read: scope\"\n>\n <ng-template\n *ngTemplateOutlet=\"labelContentTpl || basicLabelContentTpl\"\n ></ng-template>\n <ng-template #basicLabelContentTpl>\n <!-- to trigger css:empty if no label was added -->\n <ng-container *ngIf=\"label\">\n {{ label }}\n <span\n *ngIf=\"optional === true || (required !== true && optional !== false)\"\n class=\"gds-field-label--optional\"\n >\n ({{ t('label.optional') }})\n </span>\n </ng-container>\n </ng-template>\n</label>\n\n<!-- DESCRIPTION -->\n<div class=\"form-info description hide-if-empty\" *ngIf=\"description\">\n {{ description }}\n</div>\n\n<!-- LOCKED INPUT -->\n<ng-container *ngIf=\"locked\">\n <div\n [id]=\"id + '-textarea'\"\n class=\"nggv-field--locked\"\n [attr.name]=\"name\"\n [attr.value]=\"state\"\n [attr.role]=\"role\"\n >\n <span *ngIf=\"!state\" class=\"unset-state\">-</span>\n <ng-container *ngIf=\"state\">\n {{ state }}\n </ng-container>\n </div>\n</ng-container>\n\n<!-- INPUT FIELD -->\n<ng-container *ngIf=\"!locked\">\n <textarea\n #input\n [id]=\"id + '-textarea'\"\n class=\"gds-field\"\n [ngClass]=\"{ 'no-resize': !!rows }\"\n [class.nggv-field--error]=\"invalid\"\n [attr.name]=\"name\"\n [attr.required]=\"required\"\n [disabled]=\"disabled\"\n [autofocus]=\"autofocus\"\n [readOnly]=\"readonly\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.role]=\"role\"\n [attr.rows]=\"rows\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-label]=\"description\"\n [value]=\"state\"\n title=\"\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n ></textarea>\n\n <!-- ERRORS -->\n <div\n class=\"gds-form-item__footer error-wrapper\"\n *transloco=\"let t; read: scope\"\n >\n <span\n class=\"form-info form-info--error\"\n [attr.for]=\"id + '-textarea'\"\n *ngIf=\"invalid && (error || ngControl?.invalid)\"\n >\n <span class=\"error-icon\">\n <gds-icon-triangle-exclamation\n width=\"16\"\n height=\"16\"\n solid=\"true\"\n *nggCoreElement\n ></gds-icon-triangle-exclamation>\n </span>\n\n <span\n *ngIf=\"error; else errorsRef\"\n [attr.data-thook]=\"thook + '-errorlabel'\"\n >{{ error }}</span\n >\n <ng-template #errorsRef>\n <span\n *ngIf=\"firstError as error\"\n [attr.data-thook]=\"thook + '-errorlabel'\"\n >\n {{ t('error.field' + error?.code, error?.params) }}\n </span>\n </ng-template>\n </span>\n\n <ng-container *ngIf=\"hasMaxLength\">\n <span\n *nggvCharacterCountdown=\"\n maxlength;\n currentLength: (inputRef?.nativeElement?.value ?? '').length;\n charactersLeft as charactersLeft\n \"\n class=\"form-info\"\n style=\"text-align: right\"\n >\n {{ charactersLeft }} {{ t('label.maxlength') }}\n </span>\n </ng-container>\n </div>\n\n <!-- CHILDREN -->\n <ng-content></ng-content>\n</ng-container>\n", styles: [":host{--sg-text-primary: #333;--sg-form-control-bg: #fff;--gds-ref-pallet-base100: hsl(0, 0%, 97%);--sg-border-radius: 4px;--sg-border-width: 1px;--sg-border-color: #868686}:host textarea{padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);align-items:center;background-color:var(--sg-form-control-bg);color:var(--text-primary-color);display:flex;justify-content:center;resize:vertical}:host textarea:focus:not(:focus-visible){box-shadow:none;outline:0}:host textarea:focus,:host textarea:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media screen and (-ms-high-contrast: active){:host textarea{border:2px solid currentcolor}}:host textarea:hover{background-color:var(--gds-ref-pallet-base100)}:host textarea:disabled,:host textarea.disabled,:host textarea[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 textarea:disabled::placeholder,:host textarea.disabled::placeholder,:host textarea[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host label:not(.gds-field-notice){margin-bottom:.5rem}:host label:not(.gds-field-notice):is(label){margin-bottom:0}:host label:not(.gds-field-notice).form-control{width:fit-content}@supports (-moz-appearance: none){:host label:not(.gds-field-notice).form-control:focus:not(:focus-visible){box-shadow:none;outline:0}:host label:not(.gds-field-notice).form-control:focus,:host label:not(.gds-field-notice).form-control:focus-within{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}}:host label:not(.gds-field-notice):not(.form-control){font-weight:500;width:100%;line-height:1.25rem}:host label:not(.gds-field-notice)+input,:host label:not(.gds-field-notice)+textarea,fieldset :host label:not(.gds-field-notice)+div,:host label:not(.gds-field-notice)+button,:host label:not(.gds-field-notice)+.group-stepper,:host label:not(.gds-field-notice)+.stepper-wrapper,:host label:not(.gds-field-notice)+.group{margin-top:.5rem}:host label:not(.gds-field-notice)+.form-info{margin-bottom:.5rem}:host label:is(.gds-field-label){margin-bottom:.5rem}:host .hide-if-empty:empty{display:none}:host .unset-state{padding-left:.5rem}:host .gds-field-label--optional{font-weight:400}:host textarea{width:100%;max-width:100%;box-sizing:border-box;font-family:inherit;font-size:1rem}:host .description{margin-bottom:.5rem}:host .error-wrapper{margin-top:.5rem;display:flex}:host .form-info{font-size:.875rem;line-height:1.25rem;width:100%}:host .gds-form-item__footer .form-info{font-weight:500}:host .gds-form-item__footer .form-info--error{display:flex;align-items:flex-start;gap:.5em;color:#9f000a}:host .gds-form-item__footer .form-info--error .error-icon{margin-top:.128rem;align-items:center}:host .no-resize{resize:none}:host .no-resize::-webkit-scrollbar{-webkit-appearance:none}:host .no-resize::-webkit-scrollbar-thumb{border-radius:.5rem}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: i4.CharacterCountdownDirective, selector: "[nggvCharacterCountdown]", inputs: ["nggvCharacterCountdown", "nggvCharacterCountdownCurrentLength"] }, { kind: "directive", type: i5.NggCoreElementDirective, selector: "[nggCoreElement]" }] }); }
70
72
  }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgvTextareaComponent, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvTextareaComponent, decorators: [{
72
74
  type: Component,
73
- args: [{ selector: 'nggv-textarea', template: "<!-- LABEL -->\n<label\n [id]=\"id + '-label'\"\n class=\"sdv-field-label hide-if-empty\"\n [attr.for]=\"id + '-textarea'\"\n *transloco=\"let t; read: scope\"\n>\n <ng-template\n *ngTemplateOutlet=\"labelContentTpl || basicLabelContentTpl\"\n ></ng-template>\n <ng-template #basicLabelContentTpl>\n <!-- to trigger css:empty if no label was added -->\n <ng-container *ngIf=\"label\">\n {{ label }}\n <span\n *ngIf=\"optional === true || (required !== true && optional !== false)\"\n class=\"sdv-field-label--optional\"\n >\n ({{ t('label.optional') }})\n </span>\n </ng-container>\n </ng-template>\n</label>\n\n<!-- DESCRIPTION -->\n<div class=\"sdv-field-label--small description\">{{ description }}</div>\n\n<!-- LOCKED INPUT -->\n<ng-container *ngIf=\"locked\">\n <div\n [id]=\"id + '-textarea'\"\n class=\"nggv-field--locked\"\n [attr.name]=\"name\"\n [attr.value]=\"state\"\n [attr.role]=\"role\"\n >\n <span *ngIf=\"!state\" class=\"unset-state\">-</span>\n <ng-container *ngIf=\"state\">\n {{ state }}\n </ng-container>\n </div>\n</ng-container>\n\n<!-- INPUT FIELD -->\n<ng-container *ngIf=\"!locked\">\n <textarea\n #input\n [id]=\"id + '-textarea'\"\n class=\"sdv-field\"\n [ngClass]=\"{ 'no-resize': !!rows }\"\n [class.nggv-field--error]=\"invalid\"\n [attr.name]=\"name\"\n [attr.required]=\"required\"\n [disabled]=\"disabled\"\n [autofocus]=\"autofocus\"\n [readOnly]=\"readonly\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.role]=\"role\"\n [attr.rows]=\"rows\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-label]=\"description\"\n [value]=\"state\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n ></textarea>\n\n <!-- ERRORS -->\n <div class=\"error-wrapper\" *transloco=\"let t; read: scope\">\n <label\n class=\"sdv-field-notice sdv-field-notice--error\"\n [attr.for]=\"id + '-textarea'\"\n *ngIf=\"invalid && (error || ngControl?.invalid)\"\n >\n <span *ngIf=\"error; else errorsRef\">{{ error }}</span>\n <ng-template #errorsRef>\n <span *ngIf=\"firstError as error\">\n {{ t('error.field' + error?.code, error?.params) }}\n </span>\n </ng-template>\n </label>\n\n <ng-container *ngIf=\"hasMaxLength\">\n <label\n *nggvCharacterCountdown=\"\n maxlength;\n currentLength: (inputRef?.nativeElement?.value ?? '').length;\n charactersLeft as charactersLeft\n \"\n class=\"sdv-field-notice\"\n style=\"text-align: right\"\n >\n {{ charactersLeft }} {{ t('label.maxlength') }}\n </label>\n </ng-container>\n </div>\n\n <!-- CHILDREN -->\n <ng-content></ng-content>\n</ng-container>\n", styles: [":host textarea{padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);align-items:center;background-color:var(--sg-form-control-bg);color:var(--text-primary-color);display:flex;justify-content:center;resize:vertical}:host textarea:focus:not(:focus-visible){box-shadow:none;outline:0}:host textarea:focus,:host textarea:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media screen and (-ms-high-contrast: active){:host textarea{border:2px solid currentcolor}}:host textarea:hover{background-color:var(--gds-ref-pallet-base100)}:host textarea:disabled,:host textarea.disabled,:host textarea[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 textarea:disabled::placeholder,:host textarea.disabled::placeholder,:host textarea[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host label:not(.sdv-field-notice){margin-bottom:.5rem}:host label:not(.sdv-field-notice):is(label){margin-bottom:0}:host label:not(.sdv-field-notice).form-control{width:fit-content}@supports (-moz-appearance: none){:host label:not(.sdv-field-notice).form-control:focus:not(:focus-visible){box-shadow:none;outline:0}:host label:not(.sdv-field-notice).form-control:focus,:host label:not(.sdv-field-notice).form-control:focus-within{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}}:host label:not(.sdv-field-notice):not(.form-control){font-weight:500;width:100%;line-height:1.25rem}:host label:not(.sdv-field-notice)+input,:host label:not(.sdv-field-notice)+textarea,fieldset :host label:not(.sdv-field-notice)+div,:host label:not(.sdv-field-notice)+button,:host label:not(.sdv-field-notice)+.group-stepper,:host label:not(.sdv-field-notice)+.stepper-wrapper,:host label:not(.sdv-field-notice)+.group{margin-top:.5rem}:host label:not(.sdv-field-notice)+.form-info{margin-bottom:.5rem}:host label:is(.sdv-field-label){margin-bottom:.5rem}:host .hide-if-empty:empty{display:none}:host .unset-state{padding-left:.5rem}:host .sdv-field-label--optional{font-weight:400}:host textarea{width:100%;max-width:100%}:host .description{margin-bottom:.5rem}:host .error-wrapper{margin-top:.5rem}:host .no-resize{resize:none}:host .no-resize::-webkit-scrollbar{-webkit-appearance:none}:host .no-resize::-webkit-scrollbar-thumb{border-radius:.5rem}\n"] }]
75
+ args: [{ selector: 'nggv-textarea', template: "<!-- LABEL -->\n<label\n [id]=\"id + '-label'\"\n class=\"gds-field-label hide-if-empty\"\n [attr.for]=\"id + '-textarea'\"\n *transloco=\"let t; read: scope\"\n>\n <ng-template\n *ngTemplateOutlet=\"labelContentTpl || basicLabelContentTpl\"\n ></ng-template>\n <ng-template #basicLabelContentTpl>\n <!-- to trigger css:empty if no label was added -->\n <ng-container *ngIf=\"label\">\n {{ label }}\n <span\n *ngIf=\"optional === true || (required !== true && optional !== false)\"\n class=\"gds-field-label--optional\"\n >\n ({{ t('label.optional') }})\n </span>\n </ng-container>\n </ng-template>\n</label>\n\n<!-- DESCRIPTION -->\n<div class=\"form-info description hide-if-empty\" *ngIf=\"description\">\n {{ description }}\n</div>\n\n<!-- LOCKED INPUT -->\n<ng-container *ngIf=\"locked\">\n <div\n [id]=\"id + '-textarea'\"\n class=\"nggv-field--locked\"\n [attr.name]=\"name\"\n [attr.value]=\"state\"\n [attr.role]=\"role\"\n >\n <span *ngIf=\"!state\" class=\"unset-state\">-</span>\n <ng-container *ngIf=\"state\">\n {{ state }}\n </ng-container>\n </div>\n</ng-container>\n\n<!-- INPUT FIELD -->\n<ng-container *ngIf=\"!locked\">\n <textarea\n #input\n [id]=\"id + '-textarea'\"\n class=\"gds-field\"\n [ngClass]=\"{ 'no-resize': !!rows }\"\n [class.nggv-field--error]=\"invalid\"\n [attr.name]=\"name\"\n [attr.required]=\"required\"\n [disabled]=\"disabled\"\n [autofocus]=\"autofocus\"\n [readOnly]=\"readonly\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.role]=\"role\"\n [attr.rows]=\"rows\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-label]=\"description\"\n [value]=\"state\"\n title=\"\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n ></textarea>\n\n <!-- ERRORS -->\n <div\n class=\"gds-form-item__footer error-wrapper\"\n *transloco=\"let t; read: scope\"\n >\n <span\n class=\"form-info form-info--error\"\n [attr.for]=\"id + '-textarea'\"\n *ngIf=\"invalid && (error || ngControl?.invalid)\"\n >\n <span class=\"error-icon\">\n <gds-icon-triangle-exclamation\n width=\"16\"\n height=\"16\"\n solid=\"true\"\n *nggCoreElement\n ></gds-icon-triangle-exclamation>\n </span>\n\n <span\n *ngIf=\"error; else errorsRef\"\n [attr.data-thook]=\"thook + '-errorlabel'\"\n >{{ error }}</span\n >\n <ng-template #errorsRef>\n <span\n *ngIf=\"firstError as error\"\n [attr.data-thook]=\"thook + '-errorlabel'\"\n >\n {{ t('error.field' + error?.code, error?.params) }}\n </span>\n </ng-template>\n </span>\n\n <ng-container *ngIf=\"hasMaxLength\">\n <span\n *nggvCharacterCountdown=\"\n maxlength;\n currentLength: (inputRef?.nativeElement?.value ?? '').length;\n charactersLeft as charactersLeft\n \"\n class=\"form-info\"\n style=\"text-align: right\"\n >\n {{ charactersLeft }} {{ t('label.maxlength') }}\n </span>\n </ng-container>\n </div>\n\n <!-- CHILDREN -->\n <ng-content></ng-content>\n</ng-container>\n", styles: [":host{--sg-text-primary: #333;--sg-form-control-bg: #fff;--gds-ref-pallet-base100: hsl(0, 0%, 97%);--sg-border-radius: 4px;--sg-border-width: 1px;--sg-border-color: #868686}:host textarea{padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);align-items:center;background-color:var(--sg-form-control-bg);color:var(--text-primary-color);display:flex;justify-content:center;resize:vertical}:host textarea:focus:not(:focus-visible){box-shadow:none;outline:0}:host textarea:focus,:host textarea:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media screen and (-ms-high-contrast: active){:host textarea{border:2px solid currentcolor}}:host textarea:hover{background-color:var(--gds-ref-pallet-base100)}:host textarea:disabled,:host textarea.disabled,:host textarea[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 textarea:disabled::placeholder,:host textarea.disabled::placeholder,:host textarea[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host label:not(.gds-field-notice){margin-bottom:.5rem}:host label:not(.gds-field-notice):is(label){margin-bottom:0}:host label:not(.gds-field-notice).form-control{width:fit-content}@supports (-moz-appearance: none){:host label:not(.gds-field-notice).form-control:focus:not(:focus-visible){box-shadow:none;outline:0}:host label:not(.gds-field-notice).form-control:focus,:host label:not(.gds-field-notice).form-control:focus-within{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}}:host label:not(.gds-field-notice):not(.form-control){font-weight:500;width:100%;line-height:1.25rem}:host label:not(.gds-field-notice)+input,:host label:not(.gds-field-notice)+textarea,fieldset :host label:not(.gds-field-notice)+div,:host label:not(.gds-field-notice)+button,:host label:not(.gds-field-notice)+.group-stepper,:host label:not(.gds-field-notice)+.stepper-wrapper,:host label:not(.gds-field-notice)+.group{margin-top:.5rem}:host label:not(.gds-field-notice)+.form-info{margin-bottom:.5rem}:host label:is(.gds-field-label){margin-bottom:.5rem}:host .hide-if-empty:empty{display:none}:host .unset-state{padding-left:.5rem}:host .gds-field-label--optional{font-weight:400}:host textarea{width:100%;max-width:100%;box-sizing:border-box;font-family:inherit;font-size:1rem}:host .description{margin-bottom:.5rem}:host .error-wrapper{margin-top:.5rem;display:flex}:host .form-info{font-size:.875rem;line-height:1.25rem;width:100%}:host .gds-form-item__footer .form-info{font-weight:500}:host .gds-form-item__footer .form-info--error{display:flex;align-items:flex-start;gap:.5em;color:#9f000a}:host .gds-form-item__footer .form-info--error .error-icon{margin-top:.128rem;align-items:center}:host .no-resize{resize:none}:host .no-resize::-webkit-scrollbar{-webkit-appearance:none}:host .no-resize::-webkit-scrollbar-thumb{border-radius:.5rem}\n"] }]
74
76
  }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
75
77
  type: Self
76
78
  }, {
@@ -100,4 +102,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
100
102
  }], rows: [{
101
103
  type: Input
102
104
  }] } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksR0FDTCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBa0IsTUFBTSxvQkFBb0IsQ0FBQTtBQUVwRSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQTs7Ozs7O0FBRXhILGdGQUFnRjtBQU1oRixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsb0NBQW9DO0lBTzVFLHNEQUFzRDtJQUN0RCxJQUFhLFNBQVMsQ0FBQyxNQUFjO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDMUIsQ0FBQztJQUNELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQTtJQUN4QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBYSxTQUFTLENBQUMsTUFBYztRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQTtRQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQzFCLENBQUM7SUFDRCxzREFBc0Q7SUFDdEQsSUFBYSxTQUFTLENBQUMsTUFBYztRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQTtRQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQzFCLENBQUM7SUFDRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUE7SUFDeEIsQ0FBQztJQUNEOzs7T0FHRztJQUNILElBQWEsU0FBUyxDQUFDLE1BQWM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUE7UUFDeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUMxQixDQUFDO0lBRUQsbUNBQW1DO0lBQ25DLElBQUksWUFBWTtRQUNkLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxNQUFNLENBQUMsZ0JBQWdCLENBQUE7SUFDdkUsQ0FBQztJQVNELFlBQzZCLFNBQW9CLEVBR3JDLGNBQThCLEVBQzlCLEdBQXNCO1FBRWhDLEtBQUssQ0FBQyxTQUFTLEVBQUUsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBTlYsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUdyQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF6RGxDLG9GQUFvRjtRQUMzQyxVQUFLLEdBQUcsVUFBVSxDQUFBO1FBRzNELHNEQUFzRDtRQUM3QyxhQUFRLEdBQUcsS0FBSyxDQUFBO1FBd0NqQixlQUFVLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFBO1FBRXBDLGVBQVUsR0FBRyxDQUFDLENBQUE7SUFhdEIsQ0FBQztJQUVELGdCQUFnQjtJQUNoQixPQUFPLENBQUMsS0FBWTtRQUNsQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDdkIsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU07UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBSSxLQUFLLENBQUMsTUFBOEIsQ0FBQyxLQUFLLENBQUE7UUFDeEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDM0IsQ0FBQzsrR0FyRVUsb0JBQW9CLHVFQXdEckIsZUFBZTttR0F4RGQsb0JBQW9CLG1VQ3BCakMsbzBGQXFHQTs7NEZEakZhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxlQUFlOzswQkEwRHRCLElBQUk7OzBCQUFJLFFBQVE7OzBCQUNoQixRQUFROzswQkFDUixNQUFNOzJCQUFDLGVBQWU7eUVBdERnQixLQUFLO3NCQUE3QyxXQUFXO3VCQUFDLGlCQUFpQjs7c0JBQUcsS0FBSztnQkFFN0IsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBWU8sU0FBUztzQkFBckIsS0FBSztnQkFLTyxTQUFTO3NCQUFyQixLQUFLO2dCQVdPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBZUcsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9wdGlvbmFsLFxuICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBUUkFOU0xPQ09fU0NPUEUsIFRyYW5zbG9jb1Njb3BlIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJ1xuXG5pbXBvcnQgeyBOZ3ZCYXNlQ29udHJvbFZhbHVlQWNjZXNzb3JDb21wb25lbnQgfSBmcm9tICdAc2ViZ3JvdXAvZ3JlZW4tYW5ndWxhci9zcmMvdi1hbmd1bGFyL2Jhc2UtY29udHJvbC12YWx1ZS1hY2Nlc3NvcidcblxuLyoqIFRleHRhcmVhIGZpZWxkcyBhbGxvdyB1c2VycyB0byBhZGQgYW5kIGVkaXQgbG9uZ2VyIG9yIG11bHRpcGxlIGxpbmUgdGV4dC4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nZ3YtdGV4dGFyZWEnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dGFyZWEuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZXh0YXJlYS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3ZUZXh0YXJlYUNvbXBvbmVudCBleHRlbmRzIE5ndkJhc2VDb250cm9sVmFsdWVBY2Nlc3NvckNvbXBvbmVudCB7XG4gIC8qKiBTcGVjaWFsIHByb3BlcnR5IHVzZWQgZm9yIHNlbGVjdGluZyBET00gZWxlbWVudHMgZHVyaW5nIGF1dG9tYXRlZCBVSSB0ZXN0aW5nLiAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10aG9vaycpIEBJbnB1dCgpIHRob29rID0gJ3RleHRhcmVhJ1xuICAvKiogVGV4dCBzaG93biBiZWZvcmUgaW5wdXQgaGFzIGEgd3JpdHRlbiB2YWx1ZS4gKi9cbiAgQElucHV0KCkgcGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgLyoqIElmIHNldCB0byB0cnVlLCB0aGUgdmFsdWUgd2lsbCBub3QgYmUgZWRpdGFibGUuICovXG4gIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2VcbiAgLyoqIE1pbmltdW0gbGVuZ3RoIChudW1iZXIgb2YgY2hhcmFjdGVycykgb2YgdmFsdWUuICovXG4gIEBJbnB1dCgpIHNldCBtaW5MZW5ndGgobGVuZ3RoOiBudW1iZXIpIHtcbiAgICB0aGlzLl9taW5sZW5ndGggPSBsZW5ndGhcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuICBnZXQgbWlubGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX21pbmxlbmd0aFxuICB9XG5cbiAgLyoqXG4gICAqIE1pbmltdW0gbGVuZ3RoIChudW1iZXIgb2YgY2hhcmFjdGVycykgb2YgdmFsdWUuXG4gICAqIEBkZXByZWNhdGVkIG1pbmxlbmd0aCB0cmlnZ2VycyBhbmd1bGFyLXRlbXBsYXRlLXZhbGlkYXRpb24uIFVzZSBASW5wdXQoKSBtaW5MZW5ndGggaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCgpIHNldCBtaW5sZW5ndGgobGVuZ3RoOiBudW1iZXIpIHtcbiAgICB0aGlzLl9taW5sZW5ndGggPSBsZW5ndGhcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuICAvKiogTWF4aW11bSBsZW5ndGggKG51bWJlciBvZiBjaGFyYWN0ZXJzKSBvZiB2YWx1ZS4gKi9cbiAgQElucHV0KCkgc2V0IG1heExlbmd0aChsZW5ndGg6IG51bWJlcikge1xuICAgIHRoaXMuX21heGxlbmd0aCA9IGxlbmd0aFxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG4gIGdldCBtYXhsZW5ndGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4bGVuZ3RoXG4gIH1cbiAgLyoqXG4gICAqIE1heGltdW0gbGVuZ3RoIChudW1iZXIgb2YgY2hhcmFjdGVycykgb2YgdmFsdWUuXG4gICAqIEBkZXByZWNhdGVkIG1heGxlbmd0aCB0cmlnZ2VycyBhbmd1bGFyLXRlbXBsYXRlLXZhbGlkYXRpb24uIFVzZSBASW5wdXQoKSBtYXhMZW5ndGggaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCgpIHNldCBtYXhsZW5ndGgobGVuZ3RoOiBudW1iZXIpIHtcbiAgICB0aGlzLl9tYXhsZW5ndGggPSBsZW5ndGhcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIGlmIG1heGxlbmd0aCBpcyB1c2VkICovXG4gIGdldCBoYXNNYXhMZW5ndGgoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5tYXhsZW5ndGggJiYgdGhpcy5tYXhsZW5ndGggIT09IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG4gIH1cblxuICBwcml2YXRlIF9tYXhsZW5ndGggPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuXG4gIHByaXZhdGUgX21pbmxlbmd0aCA9IDBcblxuICAvKiogU2V0cyB0aGUgaGVpZ2h0IG9mIHRoZSB0ZXh0YXJlYSBhbmQgZGlzYWJsZXMgcmVzaXplLiBBIHNjcm9sbGJhciB3aWxsIGFwcGVhciBpZiBuZWNlc3NhcnkuICovXG4gIEBJbnB1dCgpIHJvd3M/OiBudW1iZXJcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAU2VsZigpIEBPcHRpb25hbCgpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoVFJBTlNMT0NPX1NDT1BFKVxuICAgIHByb3RlY3RlZCB0cmFuc2xvY29TY29wZTogVHJhbnNsb2NvU2NvcGUsXG4gICAgcHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHN1cGVyKG5nQ29udHJvbCwgdHJhbnNsb2NvU2NvcGUsIGNkcilcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm5cbiAgICB0aGlzLnN0YXRlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MVGV4dEFyZWFFbGVtZW50KS52YWx1ZVxuICAgIHRoaXMub25DaGFuZ2UodGhpcy5zdGF0ZSlcbiAgfVxufVxuIiwiPCEtLSBMQUJFTCAtLT5cbjxsYWJlbFxuICBbaWRdPVwiaWQgKyAnLWxhYmVsJ1wiXG4gIGNsYXNzPVwic2R2LWZpZWxkLWxhYmVsIGhpZGUtaWYtZW1wdHlcIlxuICBbYXR0ci5mb3JdPVwiaWQgKyAnLXRleHRhcmVhJ1wiXG4gICp0cmFuc2xvY289XCJsZXQgdDsgcmVhZDogc2NvcGVcIlxuPlxuICA8bmctdGVtcGxhdGVcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsQ29udGVudFRwbCB8fCBiYXNpY0xhYmVsQ29udGVudFRwbFwiXG4gID48L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI2Jhc2ljTGFiZWxDb250ZW50VHBsPlxuICAgIDwhLS0gdG8gdHJpZ2dlciBjc3M6ZW1wdHkgaWYgbm8gbGFiZWwgd2FzIGFkZGVkIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYWJlbFwiPlxuICAgICAge3sgbGFiZWwgfX1cbiAgICAgIDxzcGFuXG4gICAgICAgICpuZ0lmPVwib3B0aW9uYWwgPT09IHRydWUgfHwgKHJlcXVpcmVkICE9PSB0cnVlICYmIG9wdGlvbmFsICE9PSBmYWxzZSlcIlxuICAgICAgICBjbGFzcz1cInNkdi1maWVsZC1sYWJlbC0tb3B0aW9uYWxcIlxuICAgICAgPlxuICAgICAgICAoe3sgdCgnbGFiZWwub3B0aW9uYWwnKSB9fSlcbiAgICAgIDwvc3Bhbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbGFiZWw+XG5cbjwhLS0gREVTQ1JJUFRJT04gLS0+XG48ZGl2IGNsYXNzPVwic2R2LWZpZWxkLWxhYmVsLS1zbWFsbCBkZXNjcmlwdGlvblwiPnt7IGRlc2NyaXB0aW9uIH19PC9kaXY+XG5cbjwhLS0gTE9DS0VEIElOUFVUIC0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvY2tlZFwiPlxuICA8ZGl2XG4gICAgW2lkXT1cImlkICsgJy10ZXh0YXJlYSdcIlxuICAgIGNsYXNzPVwibmdndi1maWVsZC0tbG9ja2VkXCJcbiAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxuICAgIFthdHRyLnZhbHVlXT1cInN0YXRlXCJcbiAgICBbYXR0ci5yb2xlXT1cInJvbGVcIlxuICA+XG4gICAgPHNwYW4gKm5nSWY9XCIhc3RhdGVcIiBjbGFzcz1cInVuc2V0LXN0YXRlXCI+LTwvc3Bhbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGVcIj5cbiAgICAgIHt7IHN0YXRlIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjwhLS0gSU5QVVQgRklFTEQgLS0+XG48bmctY29udGFpbmVyICpuZ0lmPVwiIWxvY2tlZFwiPlxuICA8dGV4dGFyZWFcbiAgICAjaW5wdXRcbiAgICBbaWRdPVwiaWQgKyAnLXRleHRhcmVhJ1wiXG4gICAgY2xhc3M9XCJzZHYtZmllbGRcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ25vLXJlc2l6ZSc6ICEhcm93cyB9XCJcbiAgICBbY2xhc3Mubmdndi1maWVsZC0tZXJyb3JdPVwiaW52YWxpZFwiXG4gICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICBbYXR0ci5yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXG4gICAgW3JlYWRPbmx5XT1cInJlYWRvbmx5XCJcbiAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCJcbiAgICBbYXR0ci5taW5sZW5ndGhdPVwibWlubGVuZ3RoXCJcbiAgICBbYXR0ci5yb2xlXT1cInJvbGVcIlxuICAgIFthdHRyLnJvd3NdPVwicm93c1wiXG4gICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZGVzY3JpcHRpb25cIlxuICAgIFt2YWx1ZV09XCJzdGF0ZVwiXG4gICAgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICA+PC90ZXh0YXJlYT5cblxuICA8IS0tIEVSUk9SUyAtLT5cbiAgPGRpdiBjbGFzcz1cImVycm9yLXdyYXBwZXJcIiAqdHJhbnNsb2NvPVwibGV0IHQ7IHJlYWQ6IHNjb3BlXCI+XG4gICAgPGxhYmVsXG4gICAgICBjbGFzcz1cInNkdi1maWVsZC1ub3RpY2Ugc2R2LWZpZWxkLW5vdGljZS0tZXJyb3JcIlxuICAgICAgW2F0dHIuZm9yXT1cImlkICsgJy10ZXh0YXJlYSdcIlxuICAgICAgKm5nSWY9XCJpbnZhbGlkICYmIChlcnJvciB8fCBuZ0NvbnRyb2w/LmludmFsaWQpXCJcbiAgICA+XG4gICAgICA8c3BhbiAqbmdJZj1cImVycm9yOyBlbHNlIGVycm9yc1JlZlwiPnt7IGVycm9yIH19PC9zcGFuPlxuICAgICAgPG5nLXRlbXBsYXRlICNlcnJvcnNSZWY+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiZmlyc3RFcnJvciBhcyBlcnJvclwiPlxuICAgICAgICAgIHt7IHQoJ2Vycm9yLmZpZWxkJyArIGVycm9yPy5jb2RlLCBlcnJvcj8ucGFyYW1zKSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbGFiZWw+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzTWF4TGVuZ3RoXCI+XG4gICAgICA8bGFiZWxcbiAgICAgICAgKm5nZ3ZDaGFyYWN0ZXJDb3VudGRvd249XCJcbiAgICAgICAgICBtYXhsZW5ndGg7XG4gICAgICAgICAgY3VycmVudExlbmd0aDogKGlucHV0UmVmPy5uYXRpdmVFbGVtZW50Py52YWx1ZSA/PyAnJykubGVuZ3RoO1xuICAgICAgICAgIGNoYXJhY3RlcnNMZWZ0IGFzIGNoYXJhY3RlcnNMZWZ0XG4gICAgICAgIFwiXG4gICAgICAgIGNsYXNzPVwic2R2LWZpZWxkLW5vdGljZVwiXG4gICAgICAgIHN0eWxlPVwidGV4dC1hbGlnbjogcmlnaHRcIlxuICAgICAgPlxuICAgICAgICB7eyBjaGFyYWN0ZXJzTGVmdCB9fSB7eyB0KCdsYWJlbC5tYXhsZW5ndGgnKSB9fVxuICAgICAgPC9sYWJlbD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBDSElMRFJFTiAtLT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxvRUFBb0UsQ0FBQTtBQUUzRSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFrQixNQUFNLG9CQUFvQixDQUFBO0FBRXBFLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLG1FQUFtRSxDQUFBOzs7Ozs7O0FBRXpILGdGQUFnRjtBQU1oRixNQUFNLE9BQU8scUJBQXNCLFNBQVEscUNBQXFDO0lBUTlFLHNEQUFzRDtJQUN0RCxJQUFhLFNBQVMsQ0FBQyxNQUFjO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDMUIsQ0FBQztJQUNELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQTtJQUN4QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBYSxTQUFTLENBQUMsTUFBYztRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQTtRQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQzFCLENBQUM7SUFDRCxzREFBc0Q7SUFDdEQsSUFBYSxTQUFTLENBQUMsTUFBYztRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQTtRQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQzFCLENBQUM7SUFDRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUE7SUFDeEIsQ0FBQztJQUNEOzs7T0FHRztJQUNILElBQWEsU0FBUyxDQUFDLE1BQWM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUE7UUFDeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUMxQixDQUFDO0lBRUQsbUNBQW1DO0lBQ25DLElBQUksWUFBWTtRQUNkLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxNQUFNLENBQUMsZ0JBQWdCLENBQUE7SUFDdkUsQ0FBQztJQVNELFlBQzZCLFNBQW9CLEVBR3JDLGNBQThCLEVBQzlCLEdBQXNCO1FBRWhDLEtBQUssQ0FBQyxTQUFTLEVBQUUsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBTlYsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUdyQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUExRGxDLG9GQUFvRjtRQUMzQyxVQUFLLEdBQzVDLFVBQVUsQ0FBQTtRQUdaLHNEQUFzRDtRQUM3QyxhQUFRLEdBQUcsS0FBSyxDQUFBO1FBd0NqQixlQUFVLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFBO1FBRXBDLGVBQVUsR0FBRyxDQUFDLENBQUE7SUFhdEIsQ0FBQztJQUVELGdCQUFnQjtJQUNoQixPQUFPLENBQUMsS0FBWTtRQUNsQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDdkIsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU07UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBSSxLQUFLLENBQUMsTUFBOEIsQ0FBQyxLQUFLLENBQUE7UUFDeEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDM0IsQ0FBQzsrR0F0RVUscUJBQXFCLHVFQXlEdEIsZUFBZTttR0F6RGQscUJBQXFCLG1VQ3RCbEMscXdHQTJIQTs7NEZEckdhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxlQUFlOzswQkEyRHRCLElBQUk7OzBCQUFJLFFBQVE7OzBCQUNoQixRQUFROzswQkFDUixNQUFNOzJCQUFDLGVBQWU7eUVBdkRnQixLQUFLO3NCQUE3QyxXQUFXO3VCQUFDLGlCQUFpQjs7c0JBQUcsS0FBSztnQkFHN0IsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBWU8sU0FBUztzQkFBckIsS0FBSztnQkFLTyxTQUFTO3NCQUFyQixLQUFLO2dCQVdPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBZUcsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdAc2ViZ3JvdXAvZ3JlZW4tY29yZS9jb21wb25lbnRzL2ljb24vaWNvbnMvdHJpYW5nbGUtZXhjbGFtYXRpb24uanMnXG5cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgVFJBTlNMT0NPX1NDT1BFLCBUcmFuc2xvY29TY29wZSB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbydcblxuaW1wb3J0IHsgTmdndkJhc2VDb250cm9sVmFsdWVBY2Nlc3NvckNvbXBvbmVudCB9IGZyb20gJ0BzZWJncm91cC9ncmVlbi1hbmd1bGFyL3NyYy92LWFuZ3VsYXIvYmFzZS1jb250cm9sLXZhbHVlLWFjY2Vzc29yJ1xuXG4vKiogVGV4dGFyZWEgZmllbGRzIGFsbG93IHVzZXJzIHRvIGFkZCBhbmQgZWRpdCBsb25nZXIgb3IgbXVsdGlwbGUgbGluZSB0ZXh0LiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdndi10ZXh0YXJlYScsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0YXJlYS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHRhcmVhLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE5nZ3ZUZXh0YXJlYUNvbXBvbmVudCBleHRlbmRzIE5nZ3ZCYXNlQ29udHJvbFZhbHVlQWNjZXNzb3JDb21wb25lbnQge1xuICAvKiogU3BlY2lhbCBwcm9wZXJ0eSB1c2VkIGZvciBzZWxlY3RpbmcgRE9NIGVsZW1lbnRzIGR1cmluZyBhdXRvbWF0ZWQgVUkgdGVzdGluZy4gKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdGhvb2snKSBASW5wdXQoKSB0aG9vazogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCA9XG4gICAgJ3RleHRhcmVhJ1xuICAvKiogVGV4dCBzaG93biBiZWZvcmUgaW5wdXQgaGFzIGEgd3JpdHRlbiB2YWx1ZS4gKi9cbiAgQElucHV0KCkgcGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgLyoqIElmIHNldCB0byB0cnVlLCB0aGUgdmFsdWUgd2lsbCBub3QgYmUgZWRpdGFibGUuICovXG4gIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2VcbiAgLyoqIE1pbmltdW0gbGVuZ3RoIChudW1iZXIgb2YgY2hhcmFjdGVycykgb2YgdmFsdWUuICovXG4gIEBJbnB1dCgpIHNldCBtaW5MZW5ndGgobGVuZ3RoOiBudW1iZXIpIHtcbiAgICB0aGlzLl9taW5sZW5ndGggPSBsZW5ndGhcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuICBnZXQgbWlubGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX21pbmxlbmd0aFxuICB9XG5cbiAgLyoqXG4gICAqIE1pbmltdW0gbGVuZ3RoIChudW1iZXIgb2YgY2hhcmFjdGVycykgb2YgdmFsdWUuXG4gICAqIEBkZXByZWNhdGVkIG1pbmxlbmd0aCB0cmlnZ2VycyBhbmd1bGFyLXRlbXBsYXRlLXZhbGlkYXRpb24uIFVzZSBASW5wdXQoKSBtaW5MZW5ndGggaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCgpIHNldCBtaW5sZW5ndGgobGVuZ3RoOiBudW1iZXIpIHtcbiAgICB0aGlzLl9taW5sZW5ndGggPSBsZW5ndGhcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuICAvKiogTWF4aW11bSBsZW5ndGggKG51bWJlciBvZiBjaGFyYWN0ZXJzKSBvZiB2YWx1ZS4gKi9cbiAgQElucHV0KCkgc2V0IG1heExlbmd0aChsZW5ndGg6IG51bWJlcikge1xuICAgIHRoaXMuX21heGxlbmd0aCA9IGxlbmd0aFxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG4gIGdldCBtYXhsZW5ndGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4bGVuZ3RoXG4gIH1cbiAgLyoqXG4gICAqIE1heGltdW0gbGVuZ3RoIChudW1iZXIgb2YgY2hhcmFjdGVycykgb2YgdmFsdWUuXG4gICAqIEBkZXByZWNhdGVkIG1heGxlbmd0aCB0cmlnZ2VycyBhbmd1bGFyLXRlbXBsYXRlLXZhbGlkYXRpb24uIFVzZSBASW5wdXQoKSBtYXhMZW5ndGggaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCgpIHNldCBtYXhsZW5ndGgobGVuZ3RoOiBudW1iZXIpIHtcbiAgICB0aGlzLl9tYXhsZW5ndGggPSBsZW5ndGhcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIGlmIG1heGxlbmd0aCBpcyB1c2VkICovXG4gIGdldCBoYXNNYXhMZW5ndGgoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5tYXhsZW5ndGggJiYgdGhpcy5tYXhsZW5ndGggIT09IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG4gIH1cblxuICBwcml2YXRlIF9tYXhsZW5ndGggPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuXG4gIHByaXZhdGUgX21pbmxlbmd0aCA9IDBcblxuICAvKiogU2V0cyB0aGUgaGVpZ2h0IG9mIHRoZSB0ZXh0YXJlYSBhbmQgZGlzYWJsZXMgcmVzaXplLiBBIHNjcm9sbGJhciB3aWxsIGFwcGVhciBpZiBuZWNlc3NhcnkuICovXG4gIEBJbnB1dCgpIHJvd3M/OiBudW1iZXJcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAU2VsZigpIEBPcHRpb25hbCgpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoVFJBTlNMT0NPX1NDT1BFKVxuICAgIHByb3RlY3RlZCB0cmFuc2xvY29TY29wZTogVHJhbnNsb2NvU2NvcGUsXG4gICAgcHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHN1cGVyKG5nQ29udHJvbCwgdHJhbnNsb2NvU2NvcGUsIGNkcilcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm5cbiAgICB0aGlzLnN0YXRlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MVGV4dEFyZWFFbGVtZW50KS52YWx1ZVxuICAgIHRoaXMub25DaGFuZ2UodGhpcy5zdGF0ZSlcbiAgfVxufVxuIiwiPCEtLSBMQUJFTCAtLT5cbjxsYWJlbFxuICBbaWRdPVwiaWQgKyAnLWxhYmVsJ1wiXG4gIGNsYXNzPVwiZ2RzLWZpZWxkLWxhYmVsIGhpZGUtaWYtZW1wdHlcIlxuICBbYXR0ci5mb3JdPVwiaWQgKyAnLXRleHRhcmVhJ1wiXG4gICp0cmFuc2xvY289XCJsZXQgdDsgcmVhZDogc2NvcGVcIlxuPlxuICA8bmctdGVtcGxhdGVcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsQ29udGVudFRwbCB8fCBiYXNpY0xhYmVsQ29udGVudFRwbFwiXG4gID48L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI2Jhc2ljTGFiZWxDb250ZW50VHBsPlxuICAgIDwhLS0gdG8gdHJpZ2dlciBjc3M6ZW1wdHkgaWYgbm8gbGFiZWwgd2FzIGFkZGVkIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYWJlbFwiPlxuICAgICAge3sgbGFiZWwgfX1cbiAgICAgIDxzcGFuXG4gICAgICAgICpuZ0lmPVwib3B0aW9uYWwgPT09IHRydWUgfHwgKHJlcXVpcmVkICE9PSB0cnVlICYmIG9wdGlvbmFsICE9PSBmYWxzZSlcIlxuICAgICAgICBjbGFzcz1cImdkcy1maWVsZC1sYWJlbC0tb3B0aW9uYWxcIlxuICAgICAgPlxuICAgICAgICAoe3sgdCgnbGFiZWwub3B0aW9uYWwnKSB9fSlcbiAgICAgIDwvc3Bhbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbGFiZWw+XG5cbjwhLS0gREVTQ1JJUFRJT04gLS0+XG48ZGl2IGNsYXNzPVwiZm9ybS1pbmZvIGRlc2NyaXB0aW9uIGhpZGUtaWYtZW1wdHlcIiAqbmdJZj1cImRlc2NyaXB0aW9uXCI+XG4gIHt7IGRlc2NyaXB0aW9uIH19XG48L2Rpdj5cblxuPCEtLSBMT0NLRUQgSU5QVVQgLS0+XG48bmctY29udGFpbmVyICpuZ0lmPVwibG9ja2VkXCI+XG4gIDxkaXZcbiAgICBbaWRdPVwiaWQgKyAnLXRleHRhcmVhJ1wiXG4gICAgY2xhc3M9XCJuZ2d2LWZpZWxkLS1sb2NrZWRcIlxuICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgW2F0dHIudmFsdWVdPVwic3RhdGVcIlxuICAgIFthdHRyLnJvbGVdPVwicm9sZVwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cIiFzdGF0ZVwiIGNsYXNzPVwidW5zZXQtc3RhdGVcIj4tPC9zcGFuPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0ZVwiPlxuICAgICAge3sgc3RhdGUgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPCEtLSBJTlBVVCBGSUVMRCAtLT5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9ja2VkXCI+XG4gIDx0ZXh0YXJlYVxuICAgICNpbnB1dFxuICAgIFtpZF09XCJpZCArICctdGV4dGFyZWEnXCJcbiAgICBjbGFzcz1cImdkcy1maWVsZFwiXG4gICAgW25nQ2xhc3NdPVwieyAnbm8tcmVzaXplJzogISFyb3dzIH1cIlxuICAgIFtjbGFzcy5uZ2d2LWZpZWxkLS1lcnJvcl09XCJpbnZhbGlkXCJcbiAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxuICAgIFthdHRyLnJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcbiAgICBbcmVhZE9ubHldPVwicmVhZG9ubHlcIlxuICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxuICAgIFthdHRyLm1pbmxlbmd0aF09XCJtaW5sZW5ndGhcIlxuICAgIFthdHRyLnJvbGVdPVwicm9sZVwiXG4gICAgW2F0dHIucm93c109XCJyb3dzXCJcbiAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJkZXNjcmlwdGlvblwiXG4gICAgW3ZhbHVlXT1cInN0YXRlXCJcbiAgICB0aXRsZT1cIlwiXG4gICAgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICA+PC90ZXh0YXJlYT5cblxuICA8IS0tIEVSUk9SUyAtLT5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZ2RzLWZvcm0taXRlbV9fZm9vdGVyIGVycm9yLXdyYXBwZXJcIlxuICAgICp0cmFuc2xvY289XCJsZXQgdDsgcmVhZDogc2NvcGVcIlxuICA+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwiZm9ybS1pbmZvIGZvcm0taW5mby0tZXJyb3JcIlxuICAgICAgW2F0dHIuZm9yXT1cImlkICsgJy10ZXh0YXJlYSdcIlxuICAgICAgKm5nSWY9XCJpbnZhbGlkICYmIChlcnJvciB8fCBuZ0NvbnRyb2w/LmludmFsaWQpXCJcbiAgICA+XG4gICAgICA8c3BhbiBjbGFzcz1cImVycm9yLWljb25cIj5cbiAgICAgICAgPGdkcy1pY29uLXRyaWFuZ2xlLWV4Y2xhbWF0aW9uXG4gICAgICAgICAgd2lkdGg9XCIxNlwiXG4gICAgICAgICAgaGVpZ2h0PVwiMTZcIlxuICAgICAgICAgIHNvbGlkPVwidHJ1ZVwiXG4gICAgICAgICAgKm5nZ0NvcmVFbGVtZW50XG4gICAgICAgID48L2dkcy1pY29uLXRyaWFuZ2xlLWV4Y2xhbWF0aW9uPlxuICAgICAgPC9zcGFuPlxuXG4gICAgICA8c3BhblxuICAgICAgICAqbmdJZj1cImVycm9yOyBlbHNlIGVycm9yc1JlZlwiXG4gICAgICAgIFthdHRyLmRhdGEtdGhvb2tdPVwidGhvb2sgKyAnLWVycm9ybGFiZWwnXCJcbiAgICAgICAgPnt7IGVycm9yIH19PC9zcGFuXG4gICAgICA+XG4gICAgICA8bmctdGVtcGxhdGUgI2Vycm9yc1JlZj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cImZpcnN0RXJyb3IgYXMgZXJyb3JcIlxuICAgICAgICAgIFthdHRyLmRhdGEtdGhvb2tdPVwidGhvb2sgKyAnLWVycm9ybGFiZWwnXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHQoJ2Vycm9yLmZpZWxkJyArIGVycm9yPy5jb2RlLCBlcnJvcj8ucGFyYW1zKSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvc3Bhbj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNNYXhMZW5ndGhcIj5cbiAgICAgIDxzcGFuXG4gICAgICAgICpuZ2d2Q2hhcmFjdGVyQ291bnRkb3duPVwiXG4gICAgICAgICAgbWF4bGVuZ3RoO1xuICAgICAgICAgIGN1cnJlbnRMZW5ndGg6IChpbnB1dFJlZj8ubmF0aXZlRWxlbWVudD8udmFsdWUgPz8gJycpLmxlbmd0aDtcbiAgICAgICAgICBjaGFyYWN0ZXJzTGVmdCBhcyBjaGFyYWN0ZXJzTGVmdFxuICAgICAgICBcIlxuICAgICAgICBjbGFzcz1cImZvcm0taW5mb1wiXG4gICAgICAgIHN0eWxlPVwidGV4dC1hbGlnbjogcmlnaHRcIlxuICAgICAgPlxuICAgICAgICB7eyBjaGFyYWN0ZXJzTGVmdCB9fSB7eyB0KCdsYWJlbC5tYXhsZW5ndGgnKSB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cblxuICA8IS0tIENISUxEUkVOIC0tPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,20 +1,34 @@
1
+ import '@sebgroup/green-core/components/icon/icons/triangle-exclamation.js';
1
2
  import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { NgvI18nModule } from '@sebgroup/green-angular/src/v-angular/i18n';
4
- import { NggCharacterCountdownDirectiveModule } from '@sebgroup/green-angular/src/v-angular/character-countdown';
5
- import { NgvTextareaComponent } from './textarea.component';
3
+ import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
4
+ import { NggCoreWrapperModule } from '@sebgroup/green-angular/src/lib/shared';
5
+ import { NggvCharacterCountdownDirectiveModule } from '@sebgroup/green-angular/src/v-angular/character-countdown';
6
+ import { NggvI18nModule } from '@sebgroup/green-angular/src/v-angular/i18n';
7
+ import { NggvTextareaComponent } from './textarea.component';
6
8
  import * as i0 from "@angular/core";
7
- export class NgvTextareaModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgvTextareaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NgvTextareaModule, declarations: [NgvTextareaComponent], imports: [CommonModule, NgvI18nModule, NggCharacterCountdownDirectiveModule], exports: [NgvTextareaComponent] }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgvTextareaModule, imports: [CommonModule, NgvI18nModule, NggCharacterCountdownDirectiveModule] }); }
9
+ export class NggvTextareaModule {
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvTextareaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NggvTextareaModule, declarations: [NggvTextareaComponent], imports: [CommonModule,
12
+ NggvI18nModule,
13
+ NggvCharacterCountdownDirectiveModule,
14
+ NggCoreWrapperModule], exports: [NggvTextareaComponent] }); }
15
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvTextareaModule, imports: [CommonModule,
16
+ NggvI18nModule,
17
+ NggvCharacterCountdownDirectiveModule,
18
+ NggCoreWrapperModule] }); }
11
19
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgvTextareaModule, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvTextareaModule, decorators: [{
13
21
  type: NgModule,
14
22
  args: [{
15
- declarations: [NgvTextareaComponent],
16
- imports: [CommonModule, NgvI18nModule, NggCharacterCountdownDirectiveModule],
17
- exports: [NgvTextareaComponent],
23
+ declarations: [NggvTextareaComponent],
24
+ imports: [
25
+ CommonModule,
26
+ NggvI18nModule,
27
+ NggvCharacterCountdownDirectiveModule,
28
+ NggCoreWrapperModule,
29
+ ],
30
+ exports: [NggvTextareaComponent],
31
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
18
32
  }]
19
33
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvdGV4dGFyZWEvdGV4dGFyZWEubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXhDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNqSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTs7QUFPM0QsTUFBTSxPQUFPLGlCQUFpQjsrR0FBakIsaUJBQWlCO2dIQUFqQixpQkFBaUIsaUJBSmIsb0JBQW9CLGFBQ3pCLFlBQVksRUFBRSxhQUFhLEVBQUUsb0NBQW9DLGFBQ2pFLG9CQUFvQjtnSEFFbkIsaUJBQWlCLFlBSGxCLFlBQVksRUFBRSxhQUFhLEVBQUUsb0NBQW9DOzs0RkFHaEUsaUJBQWlCO2tCQUw3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLG9DQUFvQyxDQUFDO29CQUM1RSxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmltcG9ydCB7IE5ndkkxOG5Nb2R1bGUgfSBmcm9tICdAc2ViZ3JvdXAvZ3JlZW4tYW5ndWxhci9zcmMvdi1hbmd1bGFyL2kxOG4nXG5pbXBvcnQgeyBOZ2dDaGFyYWN0ZXJDb3VudGRvd25EaXJlY3RpdmVNb2R1bGUgfSBmcm9tICdAc2ViZ3JvdXAvZ3JlZW4tYW5ndWxhci9zcmMvdi1hbmd1bGFyL2NoYXJhY3Rlci1jb3VudGRvd24nO1xuaW1wb3J0IHsgTmd2VGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL3RleHRhcmVhLmNvbXBvbmVudCdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTmd2VGV4dGFyZWFDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ3ZJMThuTW9kdWxlLCBOZ2dDaGFyYWN0ZXJDb3VudGRvd25EaXJlY3RpdmVNb2R1bGVdLFxuICBleHBvcnRzOiBbTmd2VGV4dGFyZWFDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3ZUZXh0YXJlYU1vZHVsZSB7fVxuIl19
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvdGV4dGFyZWEvdGV4dGFyZWEubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sb0VBQW9FLENBQUE7QUFFM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDN0UsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sMkRBQTJELENBQUE7QUFDakgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRDQUE0QyxDQUFBO0FBQzNFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFBOztBQWE1RCxNQUFNLE9BQU8sa0JBQWtCOytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixpQkFWZCxxQkFBcUIsYUFFbEMsWUFBWTtZQUNaLGNBQWM7WUFDZCxxQ0FBcUM7WUFDckMsb0JBQW9CLGFBRVoscUJBQXFCO2dIQUdwQixrQkFBa0IsWUFSM0IsWUFBWTtZQUNaLGNBQWM7WUFDZCxxQ0FBcUM7WUFDckMsb0JBQW9COzs0RkFLWCxrQkFBa0I7a0JBWDlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QscUNBQXFDO3dCQUNyQyxvQkFBb0I7cUJBQ3JCO29CQUNELE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNoQyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ0BzZWJncm91cC9ncmVlbi1jb3JlL2NvbXBvbmVudHMvaWNvbi9pY29ucy90cmlhbmdsZS1leGNsYW1hdGlvbi5qcydcblxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQgeyBOZ2dDb3JlV3JhcHBlck1vZHVsZSB9IGZyb20gJ0BzZWJncm91cC9ncmVlbi1hbmd1bGFyL3NyYy9saWIvc2hhcmVkJ1xuaW1wb3J0IHsgTmdndkNoYXJhY3RlckNvdW50ZG93bkRpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJ0BzZWJncm91cC9ncmVlbi1hbmd1bGFyL3NyYy92LWFuZ3VsYXIvY2hhcmFjdGVyLWNvdW50ZG93bidcbmltcG9ydCB7IE5nZ3ZJMThuTW9kdWxlIH0gZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWFuZ3VsYXIvc3JjL3YtYW5ndWxhci9pMThuJ1xuaW1wb3J0IHsgTmdndlRleHRhcmVhQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0YXJlYS5jb21wb25lbnQnXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW05nZ3ZUZXh0YXJlYUNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTmdndkkxOG5Nb2R1bGUsXG4gICAgTmdndkNoYXJhY3RlckNvdW50ZG93bkRpcmVjdGl2ZU1vZHVsZSxcbiAgICBOZ2dDb3JlV3JhcHBlck1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW05nZ3ZUZXh0YXJlYUNvbXBvbmVudF0sXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmdndlRleHRhcmVhTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Public API Surface of toast
3
+ */
4
+ export * from './toast-message.service';
5
+ export * from './toast.component';
6
+ export * from './toast.models';
7
+ export * from './toast.module';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci90b2FzdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMseUJBQXlCLENBQUE7QUFDdkMsY0FBYyxtQkFBbUIsQ0FBQTtBQUNqQyxjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHRvYXN0XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi90b2FzdC1tZXNzYWdlLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL3RvYXN0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vdG9hc3QubW9kZWxzJ1xuZXhwb3J0ICogZnJvbSAnLi90b2FzdC5tb2R1bGUnXG4iXX0=