@sebgroup/green-angular 4.5.0 → 4.6.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 (321) hide show
  1. package/esm2022/index.mjs +19 -1
  2. package/esm2022/lib/shared/on-scroll.directive.mjs +2 -2
  3. package/esm2022/src/lib/shared/on-scroll.directive.mjs +2 -2
  4. package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +287 -0
  5. package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +17 -0
  6. package/esm2022/src/v-angular/base-control-value-accessor/index.mjs +3 -0
  7. package/esm2022/src/v-angular/base-control-value-accessor/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs +5 -0
  8. package/esm2022/src/v-angular/breadcrumbs/breadcrumbs.component.mjs +25 -0
  9. package/esm2022/src/v-angular/breadcrumbs/breadcrumbs.module.mjs +20 -0
  10. package/esm2022/src/v-angular/breadcrumbs/index.mjs +3 -0
  11. package/esm2022/src/v-angular/breadcrumbs/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs +5 -0
  12. package/esm2022/src/v-angular/button/button.component.mjs +108 -0
  13. package/esm2022/src/v-angular/button/button.module.mjs +20 -0
  14. package/esm2022/src/v-angular/button/index.mjs +3 -0
  15. package/esm2022/src/v-angular/button/sebgroup-green-angular-src-v-angular-button.mjs +5 -0
  16. package/esm2022/src/v-angular/card/card.component.mjs +11 -0
  17. package/esm2022/src/v-angular/card/card.module.mjs +18 -0
  18. package/esm2022/src/v-angular/card/index.mjs +3 -0
  19. package/esm2022/src/v-angular/card/sebgroup-green-angular-src-v-angular-card.mjs +5 -0
  20. package/esm2022/src/v-angular/character-countdown/character-countdown.directive.mjs +51 -0
  21. package/esm2022/src/v-angular/character-countdown/character-countdown.module.mjs +18 -0
  22. package/esm2022/src/v-angular/character-countdown/index.mjs +3 -0
  23. package/esm2022/src/v-angular/character-countdown/sebgroup-green-angular-src-v-angular-character-countdown.mjs +5 -0
  24. package/esm2022/src/v-angular/checkbox/checkbox.component.mjs +72 -0
  25. package/esm2022/src/v-angular/checkbox/checkbox.module.mjs +19 -0
  26. package/esm2022/src/v-angular/checkbox/index.mjs +3 -0
  27. package/esm2022/src/v-angular/checkbox/sebgroup-green-angular-src-v-angular-checkbox.mjs +5 -0
  28. package/esm2022/src/v-angular/core/core.globals.mjs +17 -0
  29. package/esm2022/src/v-angular/core/core.utils.mjs +28 -0
  30. package/esm2022/src/v-angular/core/index.mjs +3 -0
  31. package/esm2022/src/v-angular/core/sebgroup-green-angular-src-v-angular-core.mjs +5 -0
  32. package/esm2022/src/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +256 -0
  33. package/esm2022/src/v-angular/dropdown/dropdown-list/index.mjs +2 -0
  34. package/esm2022/src/v-angular/dropdown/dropdown.component.mjs +239 -0
  35. package/esm2022/src/v-angular/dropdown/dropdown.module.mjs +22 -0
  36. package/esm2022/src/v-angular/dropdown/index.mjs +6 -0
  37. package/esm2022/src/v-angular/dropdown/sebgroup-green-angular-src-v-angular-dropdown.mjs +5 -0
  38. package/esm2022/src/v-angular/dropdown/typeahead/index.mjs +3 -0
  39. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +98 -0
  40. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +85 -0
  41. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +132 -0
  42. package/esm2022/src/v-angular/dropdown/typeahead/typeahead.module.mjs +33 -0
  43. package/esm2022/src/v-angular/external-link/external-link.directive.mjs +37 -0
  44. package/esm2022/src/v-angular/external-link/external-link.module.mjs +18 -0
  45. package/esm2022/src/v-angular/external-link/index.mjs +3 -0
  46. package/esm2022/src/v-angular/external-link/sebgroup-green-angular-src-v-angular-external-link.mjs +5 -0
  47. package/esm2022/src/v-angular/i18n/i18n.json +12 -0
  48. package/esm2022/src/v-angular/i18n/i18n.module.mjs +83 -0
  49. package/esm2022/src/v-angular/i18n/i18n.test.module.mjs +89 -0
  50. package/esm2022/src/v-angular/i18n/index.mjs +3 -0
  51. package/esm2022/src/v-angular/i18n/sebgroup-green-angular-src-v-angular-i18n.mjs +5 -0
  52. package/esm2022/src/v-angular/info-circle/index.mjs +3 -0
  53. package/esm2022/src/v-angular/info-circle/info-circle.component.mjs +28 -0
  54. package/esm2022/src/v-angular/info-circle/info-circle.module.mjs +21 -0
  55. package/esm2022/src/v-angular/info-circle/sebgroup-green-angular-src-v-angular-info-circle.mjs +5 -0
  56. package/esm2022/src/v-angular/input/index.mjs +3 -0
  57. package/esm2022/src/v-angular/input/input.component.mjs +221 -0
  58. package/esm2022/src/v-angular/input/input.module.mjs +32 -0
  59. package/esm2022/src/v-angular/input/sebgroup-green-angular-src-v-angular-input.mjs +5 -0
  60. package/esm2022/src/v-angular/input-mask/config.mjs +9 -0
  61. package/esm2022/src/v-angular/input-mask/constants.mjs +2 -0
  62. package/esm2022/src/v-angular/input-mask/index.mjs +6 -0
  63. package/esm2022/src/v-angular/input-mask/input-mask-format.pipe.mjs +20 -0
  64. package/esm2022/src/v-angular/input-mask/input-mask.directive.mjs +165 -0
  65. package/esm2022/src/v-angular/input-mask/input-mask.module.mjs +35 -0
  66. package/esm2022/src/v-angular/input-mask/input-mask.types.mjs +2 -0
  67. package/esm2022/src/v-angular/input-mask/sebgroup-green-angular-src-v-angular-input-mask.mjs +5 -0
  68. package/esm2022/src/v-angular/modal/dialog/dialog.component.mjs +190 -0
  69. package/esm2022/src/v-angular/modal/fold-out/fold-out.component.mjs +56 -0
  70. package/esm2022/src/v-angular/modal/fold-out/fold-out.directive.mjs +19 -0
  71. package/esm2022/src/v-angular/modal/index.mjs +6 -0
  72. package/esm2022/src/v-angular/modal/modal.globals.mjs +17 -0
  73. package/esm2022/src/v-angular/modal/modal.module.mjs +40 -0
  74. package/esm2022/src/v-angular/modal/modal.types.mjs +2 -0
  75. package/esm2022/src/v-angular/modal/sebgroup-green-angular-src-v-angular-modal.mjs +5 -0
  76. package/esm2022/src/v-angular/modal/slide-out/slide-out.component.mjs +229 -0
  77. package/esm2022/src/v-angular/radio/index.mjs +3 -0
  78. package/esm2022/src/v-angular/radio/radio.component.mjs +130 -0
  79. package/esm2022/src/v-angular/radio/radio.module.mjs +20 -0
  80. package/esm2022/src/v-angular/radio/sebgroup-green-angular-src-v-angular-radio.mjs +5 -0
  81. package/esm2022/src/v-angular/slug/index.mjs +3 -0
  82. package/esm2022/src/v-angular/slug/sebgroup-green-angular-src-v-angular-slug.mjs +5 -0
  83. package/esm2022/src/v-angular/slug/slug.module.mjs +18 -0
  84. package/esm2022/src/v-angular/slug/slug.pipe.mjs +27 -0
  85. package/esm2022/src/v-angular/textarea/index.mjs +3 -0
  86. package/esm2022/src/v-angular/textarea/sebgroup-green-angular-src-v-angular-textarea.mjs +5 -0
  87. package/esm2022/src/v-angular/textarea/textarea.component.mjs +101 -0
  88. package/esm2022/src/v-angular/textarea/textarea.module.mjs +18 -0
  89. package/esm2022/src/v-angular/tooltip/index.mjs +3 -0
  90. package/esm2022/src/v-angular/tooltip/sebgroup-green-angular-src-v-angular-tooltip.mjs +5 -0
  91. package/esm2022/src/v-angular/tooltip/tooltip.directive.mjs +273 -0
  92. package/esm2022/src/v-angular/tooltip/tooltip.module.mjs +18 -0
  93. package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +287 -0
  94. package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +17 -0
  95. package/esm2022/v-angular/base-control-value-accessor/index.mjs +3 -0
  96. package/esm2022/v-angular/breadcrumbs/breadcrumbs.component.mjs +25 -0
  97. package/esm2022/v-angular/breadcrumbs/breadcrumbs.module.mjs +20 -0
  98. package/esm2022/v-angular/breadcrumbs/index.mjs +3 -0
  99. package/esm2022/v-angular/button/button.component.mjs +108 -0
  100. package/esm2022/v-angular/button/button.module.mjs +20 -0
  101. package/esm2022/v-angular/button/index.mjs +3 -0
  102. package/esm2022/v-angular/card/card.component.mjs +11 -0
  103. package/esm2022/v-angular/card/card.module.mjs +18 -0
  104. package/esm2022/v-angular/card/index.mjs +3 -0
  105. package/esm2022/v-angular/checkbox/checkbox.component.mjs +72 -0
  106. package/esm2022/v-angular/checkbox/checkbox.module.mjs +19 -0
  107. package/esm2022/v-angular/checkbox/index.mjs +3 -0
  108. package/esm2022/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +256 -0
  109. package/esm2022/v-angular/dropdown/dropdown-list/index.mjs +2 -0
  110. package/esm2022/v-angular/dropdown/dropdown.component.mjs +239 -0
  111. package/esm2022/v-angular/dropdown/dropdown.module.mjs +22 -0
  112. package/esm2022/v-angular/dropdown/index.mjs +6 -0
  113. package/esm2022/v-angular/dropdown/typeahead/index.mjs +3 -0
  114. package/esm2022/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +98 -0
  115. package/esm2022/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +85 -0
  116. package/esm2022/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +132 -0
  117. package/esm2022/v-angular/dropdown/typeahead/typeahead.module.mjs +33 -0
  118. package/esm2022/v-angular/i18n/i18n.json +12 -0
  119. package/esm2022/v-angular/i18n/i18n.module.mjs +83 -0
  120. package/esm2022/v-angular/i18n/i18n.test.module.mjs +89 -0
  121. package/esm2022/v-angular/i18n/index.mjs +3 -0
  122. package/esm2022/v-angular/info-circle/index.mjs +3 -0
  123. package/esm2022/v-angular/info-circle/info-circle.component.mjs +28 -0
  124. package/esm2022/v-angular/info-circle/info-circle.module.mjs +21 -0
  125. package/esm2022/v-angular/input/index.mjs +3 -0
  126. package/esm2022/v-angular/input/input.component.mjs +221 -0
  127. package/esm2022/v-angular/input/input.module.mjs +32 -0
  128. package/esm2022/v-angular/input-mask/config.mjs +9 -0
  129. package/esm2022/v-angular/input-mask/constants.mjs +2 -0
  130. package/esm2022/v-angular/input-mask/index.mjs +6 -0
  131. package/esm2022/v-angular/input-mask/input-mask-format.pipe.mjs +20 -0
  132. package/esm2022/v-angular/input-mask/input-mask.directive.mjs +165 -0
  133. package/esm2022/v-angular/input-mask/input-mask.module.mjs +35 -0
  134. package/esm2022/v-angular/input-mask/input-mask.types.mjs +2 -0
  135. package/esm2022/v-angular/modal/dialog/dialog.component.mjs +190 -0
  136. package/esm2022/v-angular/modal/fold-out/fold-out.component.mjs +56 -0
  137. package/esm2022/v-angular/modal/fold-out/fold-out.directive.mjs +19 -0
  138. package/esm2022/v-angular/modal/index.mjs +6 -0
  139. package/esm2022/v-angular/modal/modal.globals.mjs +17 -0
  140. package/esm2022/v-angular/modal/modal.module.mjs +40 -0
  141. package/esm2022/v-angular/modal/modal.types.mjs +2 -0
  142. package/esm2022/v-angular/modal/slide-out/slide-out.component.mjs +229 -0
  143. package/esm2022/v-angular/radio/index.mjs +3 -0
  144. package/esm2022/v-angular/radio/radio.component.mjs +130 -0
  145. package/esm2022/v-angular/radio/radio.module.mjs +20 -0
  146. package/esm2022/v-angular/textarea/index.mjs +3 -0
  147. package/esm2022/v-angular/textarea/textarea.component.mjs +101 -0
  148. package/esm2022/v-angular/textarea/textarea.module.mjs +18 -0
  149. package/esm2022/v-angular/tooltip/index.mjs +3 -0
  150. package/esm2022/v-angular/tooltip/tooltip.directive.mjs +273 -0
  151. package/esm2022/v-angular/tooltip/tooltip.module.mjs +18 -0
  152. package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs +1 -1
  153. package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs.map +1 -1
  154. package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs +308 -0
  155. package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs.map +1 -0
  156. package/fesm2022/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs +49 -0
  157. package/fesm2022/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs.map +1 -0
  158. package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs +131 -0
  159. package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs.map +1 -0
  160. package/fesm2022/sebgroup-green-angular-src-v-angular-card.mjs +33 -0
  161. package/fesm2022/sebgroup-green-angular-src-v-angular-card.mjs.map +1 -0
  162. package/fesm2022/sebgroup-green-angular-src-v-angular-character-countdown.mjs +73 -0
  163. package/fesm2022/sebgroup-green-angular-src-v-angular-character-countdown.mjs.map +1 -0
  164. package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs +94 -0
  165. package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs.map +1 -0
  166. package/fesm2022/sebgroup-green-angular-src-v-angular-core.mjs +51 -0
  167. package/fesm2022/sebgroup-green-angular-src-v-angular-core.mjs.map +1 -0
  168. package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs +830 -0
  169. package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs.map +1 -0
  170. package/fesm2022/sebgroup-green-angular-src-v-angular-external-link.mjs +58 -0
  171. package/fesm2022/sebgroup-green-angular-src-v-angular-external-link.mjs.map +1 -0
  172. package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs +192 -0
  173. package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs.map +1 -0
  174. package/fesm2022/sebgroup-green-angular-src-v-angular-info-circle.mjs +53 -0
  175. package/fesm2022/sebgroup-green-angular-src-v-angular-info-circle.mjs.map +1 -0
  176. package/fesm2022/sebgroup-green-angular-src-v-angular-input-mask.mjs +226 -0
  177. package/fesm2022/sebgroup-green-angular-src-v-angular-input-mask.mjs.map +1 -0
  178. package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs +256 -0
  179. package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs.map +1 -0
  180. package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs +542 -0
  181. package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs.map +1 -0
  182. package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs +153 -0
  183. package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs.map +1 -0
  184. package/fesm2022/sebgroup-green-angular-src-v-angular-slug.mjs +49 -0
  185. package/fesm2022/sebgroup-green-angular-src-v-angular-slug.mjs.map +1 -0
  186. package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs +122 -0
  187. package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs.map +1 -0
  188. package/fesm2022/sebgroup-green-angular-src-v-angular-tooltip.mjs +295 -0
  189. package/fesm2022/sebgroup-green-angular-src-v-angular-tooltip.mjs.map +1 -0
  190. package/fesm2022/sebgroup-green-angular.mjs +3106 -14
  191. package/fesm2022/sebgroup-green-angular.mjs.map +1 -1
  192. package/index.d.ts +18 -0
  193. package/package.json +114 -3
  194. package/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.d.ts +124 -0
  195. package/src/v-angular/base-control-value-accessor/base-control-value-accessor.module.d.ts +7 -0
  196. package/src/v-angular/base-control-value-accessor/index.d.ts +2 -0
  197. package/src/v-angular/breadcrumbs/breadcrumbs.component.d.ts +18 -0
  198. package/src/v-angular/breadcrumbs/breadcrumbs.module.d.ts +10 -0
  199. package/src/v-angular/breadcrumbs/index.d.ts +2 -0
  200. package/src/v-angular/button/button.component.d.ts +62 -0
  201. package/src/v-angular/button/button.module.d.ts +10 -0
  202. package/src/v-angular/button/index.d.ts +2 -0
  203. package/src/v-angular/card/card.component.d.ts +5 -0
  204. package/src/v-angular/card/card.module.d.ts +8 -0
  205. package/src/v-angular/card/index.d.ts +2 -0
  206. package/src/v-angular/character-countdown/character-countdown.directive.d.ts +17 -0
  207. package/src/v-angular/character-countdown/character-countdown.module.d.ts +8 -0
  208. package/src/v-angular/character-countdown/index.d.ts +2 -0
  209. package/src/v-angular/checkbox/checkbox.component.d.ts +27 -0
  210. package/src/v-angular/checkbox/checkbox.module.d.ts +9 -0
  211. package/src/v-angular/checkbox/index.d.ts +2 -0
  212. package/src/v-angular/core/core.globals.d.ts +13 -0
  213. package/src/v-angular/core/core.utils.d.ts +22 -0
  214. package/src/v-angular/core/index.d.ts +2 -0
  215. package/src/v-angular/dropdown/dropdown-list/dropdown-list.component.d.ts +89 -0
  216. package/src/v-angular/dropdown/dropdown-list/index.d.ts +1 -0
  217. package/src/v-angular/dropdown/dropdown.component.d.ts +99 -0
  218. package/src/v-angular/dropdown/dropdown.module.d.ts +12 -0
  219. package/src/v-angular/dropdown/index.d.ts +5 -0
  220. package/src/v-angular/dropdown/typeahead/index.d.ts +2 -0
  221. package/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.d.ts +34 -0
  222. package/src/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.d.ts +34 -0
  223. package/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.d.ts +59 -0
  224. package/src/v-angular/dropdown/typeahead/typeahead.module.d.ts +11 -0
  225. package/src/v-angular/external-link/external-link.directive.d.ts +17 -0
  226. package/src/v-angular/external-link/external-link.module.d.ts +8 -0
  227. package/src/v-angular/external-link/index.d.ts +2 -0
  228. package/src/v-angular/i18n/i18n.module.d.ts +15 -0
  229. package/src/v-angular/i18n/i18n.test.module.d.ts +27 -0
  230. package/src/v-angular/i18n/index.d.ts +2 -0
  231. package/src/v-angular/info-circle/index.d.ts +2 -0
  232. package/src/v-angular/info-circle/info-circle.component.d.ts +16 -0
  233. package/src/v-angular/info-circle/info-circle.module.d.ts +10 -0
  234. package/src/v-angular/input/index.d.ts +2 -0
  235. package/src/v-angular/input/input.component.d.ts +90 -0
  236. package/src/v-angular/input/input.module.d.ts +11 -0
  237. package/src/v-angular/input-mask/config.d.ts +6 -0
  238. package/src/v-angular/input-mask/constants.d.ts +2 -0
  239. package/src/v-angular/input-mask/index.d.ts +5 -0
  240. package/src/v-angular/input-mask/input-mask-format.pipe.d.ts +8 -0
  241. package/src/v-angular/input-mask/input-mask.directive.d.ts +39 -0
  242. package/src/v-angular/input-mask/input-mask.module.d.ts +11 -0
  243. package/src/v-angular/input-mask/input-mask.types.d.ts +20 -0
  244. package/src/v-angular/modal/dialog/dialog.component.d.ts +55 -0
  245. package/src/v-angular/modal/fold-out/fold-out.component.d.ts +24 -0
  246. package/src/v-angular/modal/fold-out/fold-out.directive.d.ts +6 -0
  247. package/src/v-angular/modal/index.d.ts +5 -0
  248. package/src/v-angular/modal/modal.globals.d.ts +13 -0
  249. package/src/v-angular/modal/modal.module.d.ts +13 -0
  250. package/src/v-angular/modal/modal.types.d.ts +5 -0
  251. package/src/v-angular/modal/slide-out/slide-out.component.d.ts +76 -0
  252. package/src/v-angular/radio/index.d.ts +2 -0
  253. package/src/v-angular/radio/radio.component.d.ts +48 -0
  254. package/src/v-angular/radio/radio.module.d.ts +9 -0
  255. package/src/v-angular/slug/index.d.ts +2 -0
  256. package/src/v-angular/slug/slug.module.d.ts +8 -0
  257. package/src/v-angular/slug/slug.pipe.d.ts +12 -0
  258. package/src/v-angular/textarea/index.d.ts +2 -0
  259. package/src/v-angular/textarea/textarea.component.d.ts +44 -0
  260. package/src/v-angular/textarea/textarea.module.d.ts +8 -0
  261. package/src/v-angular/tooltip/index.d.ts +2 -0
  262. package/src/v-angular/tooltip/tooltip.directive.d.ts +106 -0
  263. package/src/v-angular/tooltip/tooltip.module.d.ts +8 -0
  264. package/v-angular/base-control-value-accessor/base-control-value-accessor.component.d.ts +124 -0
  265. package/v-angular/base-control-value-accessor/base-control-value-accessor.module.d.ts +7 -0
  266. package/v-angular/base-control-value-accessor/index.d.ts +2 -0
  267. package/v-angular/breadcrumbs/breadcrumbs.component.d.ts +18 -0
  268. package/v-angular/breadcrumbs/breadcrumbs.module.d.ts +10 -0
  269. package/v-angular/breadcrumbs/index.d.ts +2 -0
  270. package/v-angular/button/button.component.d.ts +62 -0
  271. package/v-angular/button/button.module.d.ts +10 -0
  272. package/v-angular/button/index.d.ts +2 -0
  273. package/v-angular/card/card.component.d.ts +5 -0
  274. package/v-angular/card/card.module.d.ts +8 -0
  275. package/v-angular/card/index.d.ts +2 -0
  276. package/v-angular/checkbox/checkbox.component.d.ts +27 -0
  277. package/v-angular/checkbox/checkbox.module.d.ts +9 -0
  278. package/v-angular/checkbox/index.d.ts +2 -0
  279. package/v-angular/dropdown/dropdown-list/dropdown-list.component.d.ts +89 -0
  280. package/v-angular/dropdown/dropdown-list/index.d.ts +1 -0
  281. package/v-angular/dropdown/dropdown.component.d.ts +99 -0
  282. package/v-angular/dropdown/dropdown.module.d.ts +12 -0
  283. package/v-angular/dropdown/index.d.ts +5 -0
  284. package/v-angular/dropdown/typeahead/index.d.ts +2 -0
  285. package/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.d.ts +34 -0
  286. package/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.d.ts +34 -0
  287. package/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.d.ts +59 -0
  288. package/v-angular/dropdown/typeahead/typeahead.module.d.ts +11 -0
  289. package/v-angular/i18n/i18n.module.d.ts +15 -0
  290. package/v-angular/i18n/i18n.test.module.d.ts +27 -0
  291. package/v-angular/i18n/index.d.ts +2 -0
  292. package/v-angular/info-circle/index.d.ts +2 -0
  293. package/v-angular/info-circle/info-circle.component.d.ts +16 -0
  294. package/v-angular/info-circle/info-circle.module.d.ts +10 -0
  295. package/v-angular/input/index.d.ts +2 -0
  296. package/v-angular/input/input.component.d.ts +90 -0
  297. package/v-angular/input/input.module.d.ts +11 -0
  298. package/v-angular/input-mask/config.d.ts +6 -0
  299. package/v-angular/input-mask/constants.d.ts +2 -0
  300. package/v-angular/input-mask/index.d.ts +5 -0
  301. package/v-angular/input-mask/input-mask-format.pipe.d.ts +8 -0
  302. package/v-angular/input-mask/input-mask.directive.d.ts +39 -0
  303. package/v-angular/input-mask/input-mask.module.d.ts +11 -0
  304. package/v-angular/input-mask/input-mask.types.d.ts +20 -0
  305. package/v-angular/modal/dialog/dialog.component.d.ts +55 -0
  306. package/v-angular/modal/fold-out/fold-out.component.d.ts +24 -0
  307. package/v-angular/modal/fold-out/fold-out.directive.d.ts +6 -0
  308. package/v-angular/modal/index.d.ts +5 -0
  309. package/v-angular/modal/modal.globals.d.ts +13 -0
  310. package/v-angular/modal/modal.module.d.ts +13 -0
  311. package/v-angular/modal/modal.types.d.ts +5 -0
  312. package/v-angular/modal/slide-out/slide-out.component.d.ts +76 -0
  313. package/v-angular/radio/index.d.ts +2 -0
  314. package/v-angular/radio/radio.component.d.ts +48 -0
  315. package/v-angular/radio/radio.module.d.ts +9 -0
  316. package/v-angular/textarea/index.d.ts +2 -0
  317. package/v-angular/textarea/textarea.component.d.ts +44 -0
  318. package/v-angular/textarea/textarea.module.d.ts +8 -0
  319. package/v-angular/tooltip/index.d.ts +2 -0
  320. package/v-angular/tooltip/tooltip.directive.d.ts +106 -0
  321. package/v-angular/tooltip/tooltip.module.d.ts +8 -0
@@ -0,0 +1,308 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, TemplateRef, ElementRef, Injectable, Component, Self, Optional, Inject, ContentChild, ViewChild, HostBinding, Input, Output, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/forms';
4
+ import { Validators } from '@angular/forms';
5
+ import { Subject } from 'rxjs';
6
+ import { takeUntil } from 'rxjs/operators';
7
+ import { TRANSLOCO_SCOPE } from '@ngneat/transloco';
8
+
9
+ // eslint-disable-next-line @angular-eslint/directive-class-suffix
10
+ class NgvBaseControlValueAccessorComponent {
11
+ /** Hides the input borders and displays current value as a text. */
12
+ set locked(value) {
13
+ this._locked = value;
14
+ this.cdr.detectChanges();
15
+ }
16
+ get locked() {
17
+ return this._locked;
18
+ }
19
+ /** Override the required flag of the component. */
20
+ set required(value) {
21
+ this._required = value;
22
+ }
23
+ /** Child input element is considered required and changes default label template accordingly. */
24
+ get required() {
25
+ // if required is set => return required
26
+ if (this._required !== undefined)
27
+ return this._required;
28
+ // if required can be determined from the control => return control.required
29
+ if (this.ngControl?.control?.validator) {
30
+ const validator = this.ngControl?.control?.validator({});
31
+ // returns true for any error that starts with required
32
+ return Object.keys(validator ?? {}).some((key) => key.startsWith('required'));
33
+ }
34
+ return;
35
+ }
36
+ /** Override the invalid state of the component. */
37
+ set invalid(value) {
38
+ this._invalid = value;
39
+ }
40
+ /** The component has the invalid state, usually decorating the elements red and shows the first error. */
41
+ get invalid() {
42
+ if (this._invalid === true || this._invalid === false)
43
+ return this._invalid;
44
+ return (!!this.ngControl?.control?.invalid && this.ngControl?.control?.touched);
45
+ }
46
+ /** Override the valid state of the component. */
47
+ set valid(value) {
48
+ this._valid = value;
49
+ }
50
+ /** The component has the valid state, usually decorating the elements green. */
51
+ get valid() {
52
+ if (this._valid === true || this._valid === false)
53
+ return this._valid;
54
+ return !!this.ngControl?.control?.valid && this.ngControl?.control?.touched;
55
+ }
56
+ /** Override the disabled state of the component. */
57
+ set disabled(value) {
58
+ this._disabled = value;
59
+ }
60
+ /** The component has the disabled state, usually muting the colors and removes interaction. */
61
+ get disabled() {
62
+ if (this._disabled === true || this._disabled === false)
63
+ return this._disabled;
64
+ return !!this.ngControl?.control?.disabled;
65
+ }
66
+ /**
67
+ * Creates a new BaseControlValueAccessorComponent.
68
+ * @param ngControl optional FormControl provided when component is used in a form, through dependency injection.
69
+ * @param translocoScope optional TranslocoScope provided if component is used within a scope.
70
+ */
71
+ constructor(ngControl, translocoScope, cdr) {
72
+ this.ngControl = ngControl;
73
+ this.translocoScope = translocoScope;
74
+ this.cdr = cdr;
75
+ /* ATTRIBUTES */
76
+ /** Id of the host element and is accessible by the children, automatically generated if not provided. */
77
+ this.id = window.ngv?.nextId();
78
+ /** If set to true, the browser will try to automatically set focus to the child input element. */
79
+ this.autofocus = false;
80
+ this._locked = undefined;
81
+ /* STATES */
82
+ this._required = undefined;
83
+ this._invalid = undefined;
84
+ this._valid = undefined;
85
+ /** The component has the focused state, updated by the child input element's focus state. */
86
+ this.focused = false;
87
+ this._disabled = undefined;
88
+ /* TRIGGERS */
89
+ /** Emits focus events triggered by the child elements. */
90
+ this.ngvFocus = new EventEmitter();
91
+ /** Emits focus events triggered by the child elements. */
92
+ this.ngvBlur = new EventEmitter();
93
+ /* VALUE HANDLERS */
94
+ this._state = null;
95
+ /** @internal */
96
+ this.onChange = (_) => {
97
+ // do nothing
98
+ };
99
+ /** @internal */
100
+ this.onTouched = () => {
101
+ // do nothing
102
+ };
103
+ /** @internal */
104
+ this.onValidatorChange = () => null;
105
+ /* LIFE CYCLE VARIABLES */
106
+ this._onDestroy$ = new Subject();
107
+ if (this.ngControl) {
108
+ // Note: we provide the value accessor through here, instead of
109
+ // the `providers` to avoid running into a circular import.
110
+ this.ngControl.valueAccessor = this;
111
+ }
112
+ if (this.translocoScope)
113
+ this.scope = this.translocoScope.toString();
114
+ }
115
+ // eslint-disable-next-line @angular-eslint/contextual-lifecycle
116
+ ngOnInit() {
117
+ if (this.ngControl && this.ngControl.control) {
118
+ this.ngControl.control.setValidators(Validators.compose([this.ngControl.control.validator, this.validate]));
119
+ }
120
+ // if reset observable has been passed, subscribe after updates
121
+ this.reset?.pipe(takeUntil(this._onDestroy$)).subscribe({
122
+ next: () => {
123
+ // reset value of controller
124
+ this.state = this.defaultValue;
125
+ this.onChange(this.state);
126
+ this.cdr.detectChanges();
127
+ },
128
+ });
129
+ }
130
+ // eslint-disable-next-line @angular-eslint/contextual-lifecycle
131
+ ngAfterViewInit() {
132
+ // if default value is set, then don't alter it. Otherwise, use
133
+ // current value of controller after initiation as default value
134
+ this.defaultValue = this.defaultValue ?? this.ngControl?.value;
135
+ }
136
+ ngOnDestroy() {
137
+ this._onDestroy$.next(true);
138
+ this._onDestroy$.complete();
139
+ }
140
+ detectChanges() {
141
+ this.cdr.detectChanges();
142
+ }
143
+ /** @internal */
144
+ onFocus(event) {
145
+ event.stopPropagation
146
+ ? event.stopPropagation()
147
+ : (event.cancelBubble = true);
148
+ this.focused = true;
149
+ this.ngvFocus.emit(event);
150
+ }
151
+ /** @internal */
152
+ onBlur(event) {
153
+ event.stopPropagation
154
+ ? event.stopPropagation()
155
+ : (event.cancelBubble = true);
156
+ this.onTouched();
157
+ this.focused = false;
158
+ this.ngvBlur.emit(event);
159
+ }
160
+ /** Sets the focus on the actual input element. */
161
+ setFocus() {
162
+ if (this.inputRef)
163
+ this.inputRef.nativeElement.focus();
164
+ }
165
+ // ----------------------------------------------------------------------------
166
+ // CONTROL VALUE ACCESSOR
167
+ // ----------------------------------------------------------------------------
168
+ /** Internal state/value that the native input element has. */
169
+ get state() {
170
+ return this._state;
171
+ }
172
+ /** Internal state/value that the native input element has. */
173
+ set state(value) {
174
+ if (typeof value === 'undefined')
175
+ value = null;
176
+ this._state = value;
177
+ }
178
+ /** Writes a new value to the child input element. */
179
+ writeValue(value) {
180
+ this.state = value;
181
+ }
182
+ /** Registers a callback function that is called when the child input element's value changes. */
183
+ registerOnChange(fn) {
184
+ this.onChange = fn;
185
+ }
186
+ /** Registers a callback function that is called when the child input element triggers on blur. */
187
+ registerOnTouched(fn) {
188
+ this.onTouched = fn;
189
+ }
190
+ /** Function that is called by the forms API when the control status changes to or from 'DISABLED'. */
191
+ setDisabledState(isDisabled) {
192
+ this.disabled = isDisabled;
193
+ // if displayDisabledAsLocked is enabled - update locked state based on disabled state
194
+ if (this.displayDisabledAsLocked) {
195
+ this.locked = isDisabled;
196
+ }
197
+ }
198
+ // ----------------------------------------------------------------------------
199
+ // VALIDATORS
200
+ // ----------------------------------------------------------------------------
201
+ /** Method that performs synchronous validation against the provided control. Used for internal validation. */
202
+ validate(_control) {
203
+ return null;
204
+ }
205
+ /** Registers a callback function to call when the validator inputs change. */
206
+ registerOnValidatorChange(fn) {
207
+ this.onValidatorChange = fn;
208
+ }
209
+ // ----------------------------------------------------------------------------
210
+ // HELPERS
211
+ // ----------------------------------------------------------------------------
212
+ /** Returns the first entry in an error object. */
213
+ get firstError() {
214
+ const errors = this.ngControl.errors;
215
+ if (!errors)
216
+ return null;
217
+ const code = Object.keys(errors)[0];
218
+ return { code, params: errors[code] };
219
+ }
220
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvBaseControlValueAccessorComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: TRANSLOCO_SCOPE, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
221
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgvBaseControlValueAccessorComponent, selector: "ng-component", inputs: { id: "id", name: "name", label: "label", role: "role", value: "value", error: "error", description: "description", autofocus: "autofocus", defaultValue: "defaultValue", reset: "reset", optional: "optional", locked: "locked", displayDisabledAsLocked: "displayDisabledAsLocked", required: "required", invalid: "invalid", valid: "valid", focused: "focused", disabled: "disabled" }, outputs: { ngvFocus: "ngvFocus", ngvBlur: "ngvBlur" }, host: { properties: { "attr.id": "this.id" } }, queries: [{ propertyName: "labelContentTpl", first: true, predicate: ["labelTpl"], descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true, read: ElementRef }], ngImport: i0, template: '', isInline: true }); }
222
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvBaseControlValueAccessorComponent }); }
223
+ }
224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvBaseControlValueAccessorComponent, decorators: [{
225
+ type: Injectable
226
+ }, {
227
+ type: Component,
228
+ args: [{ template: '' }]
229
+ }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
230
+ type: Self
231
+ }, {
232
+ type: Optional
233
+ }] }, { type: undefined, decorators: [{
234
+ type: Optional
235
+ }, {
236
+ type: Inject,
237
+ args: [TRANSLOCO_SCOPE]
238
+ }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { labelContentTpl: [{
239
+ type: ContentChild,
240
+ args: ['labelTpl', { read: TemplateRef }]
241
+ }], inputRef: [{
242
+ type: ViewChild,
243
+ args: ['input', { read: ElementRef }]
244
+ }], id: [{
245
+ type: HostBinding,
246
+ args: ['attr.id']
247
+ }, {
248
+ type: Input
249
+ }], name: [{
250
+ type: Input
251
+ }], label: [{
252
+ type: Input
253
+ }], role: [{
254
+ type: Input
255
+ }], value: [{
256
+ type: Input
257
+ }], error: [{
258
+ type: Input
259
+ }], description: [{
260
+ type: Input
261
+ }], autofocus: [{
262
+ type: Input
263
+ }], defaultValue: [{
264
+ type: Input
265
+ }], reset: [{
266
+ type: Input
267
+ }], optional: [{
268
+ type: Input
269
+ }], locked: [{
270
+ type: Input
271
+ }], displayDisabledAsLocked: [{
272
+ type: Input
273
+ }], required: [{
274
+ type: Input
275
+ }], invalid: [{
276
+ type: Input
277
+ }], valid: [{
278
+ type: Input
279
+ }], focused: [{
280
+ type: Input
281
+ }], disabled: [{
282
+ type: Input
283
+ }], ngvFocus: [{
284
+ type: Output
285
+ }], ngvBlur: [{
286
+ type: Output
287
+ }] } });
288
+
289
+ class NgvBaseControlValueAccessorModule {
290
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvBaseControlValueAccessorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
291
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NgvBaseControlValueAccessorModule, declarations: [NgvBaseControlValueAccessorComponent], exports: [NgvBaseControlValueAccessorComponent] }); }
292
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvBaseControlValueAccessorModule }); }
293
+ }
294
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvBaseControlValueAccessorModule, decorators: [{
295
+ type: NgModule,
296
+ args: [{
297
+ declarations: [NgvBaseControlValueAccessorComponent],
298
+ imports: [],
299
+ exports: [NgvBaseControlValueAccessorComponent],
300
+ }]
301
+ }] });
302
+
303
+ /**
304
+ * Generated bundle index. Do not edit.
305
+ */
306
+
307
+ export { NgvBaseControlValueAccessorComponent, NgvBaseControlValueAccessorModule };
308
+ //# sourceMappingURL=sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs","sources":["../../../../libs/angular/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.ts","../../../../libs/angular/src/v-angular/base-control-value-accessor/base-control-value-accessor.module.ts","../../../../libs/angular/src/v-angular/base-control-value-accessor/sebgroup-green-angular-src-v-angular-base-control-value-accessor.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectorRef,\n ContentChild,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Injectable,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core'\nimport {\n AbstractControl,\n ControlValueAccessor,\n NgControl,\n ValidationErrors,\n Validator,\n Validators,\n} from '@angular/forms'\n\nimport { Observable, Subject } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\nimport { TRANSLOCO_SCOPE, TranslocoScope } from '@ngneat/transloco'\n\n@Injectable() // Workaround for Compodoc https://github.com/compodoc/compodoc/issues/984\n@Component({ template: '' }) // Required with Angular ivy compiler\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class NgvBaseControlValueAccessorComponent\n implements AfterViewInit, OnInit, OnDestroy, ControlValueAccessor, Validator\n{\n /** Custom template for displaying the content of the label.\n * Specified by nesting an `<ng-template #labelTpl>Custom Label</ng-template>`.\n */\n @ContentChild('labelTpl', { read: TemplateRef })\n labelContentTpl?: TemplateRef<undefined>\n\n /** Reference to the native child input element. */\n @ViewChild('input', { read: ElementRef }) inputRef?: ElementRef\n\n /* ATTRIBUTES */\n\n /** Id of the host element and is accessible by the children, automatically generated if not provided. */\n @HostBinding('attr.id') @Input() id = (window as any).ngv?.nextId()\n /** Name of the child input element. */\n @Input() name?: string\n /**\n * Label of the child input element using the default template.\n * Can be overwritten by specifying an `<ng-template #labelTpl>Custom Label</ng-template>`.\n */\n @Input() label?: string\n /** Role of the child input element. https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles */\n @Input() role?: string\n /** Value of the child input element. Mostly used in conjunction with radio and checkboxes. */\n @Input() value: any\n /** An error string to be shown under invalid inputs. Overwrites any form errors. */\n @Input() error?: string\n /** Description of the child input element. Both visibly and as `aria-label`. */\n @Input() description?: string\n /** If set to true, the browser will try to automatically set focus to the child input element. */\n @Input() autofocus = false\n /** Deafult value of the child input element. Used when resetting child element. */\n @Input() defaultValue?: any\n /** If passed, the component will listen for updates and will reset its value. */\n @Input() reset?: Observable<any>\n /** Adds (Optional) to input label. */\n @Input() optional?: boolean | null | undefined\n\n private _locked: boolean | null | undefined = undefined\n /** Hides the input borders and displays current value as a text. */\n @Input() set locked(value: boolean | null | undefined) {\n this._locked = value\n this.cdr.detectChanges()\n }\n get locked(): boolean | null | undefined {\n return this._locked\n }\n /** If set to true, using a controls disabled state will display input as locked. */\n @Input() displayDisabledAsLocked?: boolean | null | undefined\n\n /* STATES */\n\n private _required: boolean | null | undefined = undefined\n /** Override the required flag of the component. */\n @Input() set required(value: boolean | null | undefined) {\n this._required = value\n }\n /** Child input element is considered required and changes default label template accordingly. */\n get required(): boolean | null | undefined {\n // if required is set => return required\n if (this._required !== undefined) return this._required\n\n // if required can be determined from the control => return control.required\n if (this.ngControl?.control?.validator) {\n const validator = this.ngControl?.control?.validator(\n {} as AbstractControl,\n )\n // returns true for any error that starts with required\n return Object.keys(validator ?? {}).some((key) =>\n key.startsWith('required'),\n )\n }\n\n return\n }\n\n private _invalid: boolean | undefined = undefined\n /** Override the invalid state of the component. */\n @Input() set invalid(value: boolean) {\n this._invalid = value\n }\n /** The component has the invalid state, usually decorating the elements red and shows the first error. */\n get invalid(): boolean {\n if (this._invalid === true || this._invalid === false) return this._invalid\n return (\n !!this.ngControl?.control?.invalid && this.ngControl?.control?.touched\n )\n }\n\n private _valid: boolean | undefined = undefined\n /** Override the valid state of the component. */\n @Input() set valid(value: boolean) {\n this._valid = value\n }\n /** The component has the valid state, usually decorating the elements green. */\n get valid(): boolean {\n if (this._valid === true || this._valid === false) return this._valid\n return !!this.ngControl?.control?.valid && this.ngControl?.control?.touched\n }\n\n /** The component has the focused state, updated by the child input element's focus state. */\n @Input() focused = false\n\n private _disabled: boolean | undefined = undefined\n /** Override the disabled state of the component. */\n @Input() set disabled(value: boolean) {\n this._disabled = value\n }\n /** The component has the disabled state, usually muting the colors and removes interaction. */\n get disabled(): boolean {\n if (this._disabled === true || this._disabled === false)\n return this._disabled\n return !!this.ngControl?.control?.disabled\n }\n\n /* TRIGGERS */\n\n /** Emits focus events triggered by the child elements. */\n @Output() readonly ngvFocus = new EventEmitter()\n /** Emits focus events triggered by the child elements. */\n @Output() readonly ngvBlur = new EventEmitter()\n\n /* VALUE HANDLERS */\n\n private _state: any = null\n /** @internal */\n protected onChange = (_: any) => {\n // do nothing\n }\n /** @internal */\n protected onTouched = () => {\n // do nothing\n }\n /** @internal */\n protected onValidatorChange: () => void = () => null\n\n /* OTHER VARIABLES */\n scope: string | undefined\n\n /* LIFE CYCLE VARIABLES */\n\n private _onDestroy$ = new Subject<boolean>()\n\n /**\n * Creates a new BaseControlValueAccessorComponent.\n * @param ngControl optional FormControl provided when component is used in a form, through dependency injection.\n * @param translocoScope optional TranslocoScope provided if component is used within a scope.\n */\n constructor(\n @Self() @Optional() public ngControl: NgControl,\n @Optional()\n @Inject(TRANSLOCO_SCOPE)\n protected translocoScope: TranslocoScope,\n protected cdr: ChangeDetectorRef,\n ) {\n if (this.ngControl) {\n // Note: we provide the value accessor through here, instead of\n // the `providers` to avoid running into a circular import.\n this.ngControl.valueAccessor = this\n }\n\n if (this.translocoScope) this.scope = this.translocoScope.toString()\n }\n\n // eslint-disable-next-line @angular-eslint/contextual-lifecycle\n ngOnInit(): void {\n if (this.ngControl && this.ngControl.control) {\n this.ngControl.control.setValidators(\n Validators.compose([this.ngControl.control.validator, this.validate]),\n )\n }\n\n // if reset observable has been passed, subscribe after updates\n this.reset?.pipe(takeUntil(this._onDestroy$)).subscribe({\n next: () => {\n // reset value of controller\n this.state = this.defaultValue\n this.onChange(this.state)\n this.cdr.detectChanges()\n },\n })\n }\n\n // eslint-disable-next-line @angular-eslint/contextual-lifecycle\n ngAfterViewInit(): void {\n // if default value is set, then don't alter it. Otherwise, use\n // current value of controller after initiation as default value\n this.defaultValue = this.defaultValue ?? this.ngControl?.value\n }\n\n ngOnDestroy(): void {\n this._onDestroy$.next(true)\n this._onDestroy$.complete()\n }\n\n detectChanges(): void {\n this.cdr.detectChanges()\n }\n\n /** @internal */\n onFocus(event: Event) {\n event.stopPropagation\n ? event.stopPropagation()\n : (event.cancelBubble = true)\n this.focused = true\n this.ngvFocus.emit(event)\n }\n\n /** @internal */\n onBlur(event: Event) {\n event.stopPropagation\n ? event.stopPropagation()\n : (event.cancelBubble = true)\n this.onTouched()\n this.focused = false\n this.ngvBlur.emit(event)\n }\n\n /** Sets the focus on the actual input element. */\n setFocus() {\n if (this.inputRef) this.inputRef.nativeElement.focus()\n }\n\n // ----------------------------------------------------------------------------\n // CONTROL VALUE ACCESSOR\n // ----------------------------------------------------------------------------\n\n /** Internal state/value that the native input element has. */\n get state() {\n return this._state\n }\n\n /** Internal state/value that the native input element has. */\n set state(value) {\n if (typeof value === 'undefined') value = null\n this._state = value\n }\n\n /** Writes a new value to the child input element. */\n writeValue(value: any): void {\n this.state = value\n }\n\n /** Registers a callback function that is called when the child input element's value changes. */\n registerOnChange(fn: (_: any) => object): void {\n this.onChange = fn\n }\n\n /** Registers a callback function that is called when the child input element triggers on blur. */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn\n }\n\n /** Function that is called by the forms API when the control status changes to or from 'DISABLED'. */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled\n\n // if displayDisabledAsLocked is enabled - update locked state based on disabled state\n if (this.displayDisabledAsLocked) {\n this.locked = isDisabled\n }\n }\n\n // ----------------------------------------------------------------------------\n // VALIDATORS\n // ----------------------------------------------------------------------------\n\n /** Method that performs synchronous validation against the provided control. Used for internal validation. */\n validate(_control: AbstractControl): { [name: string]: any } | null {\n return null\n }\n\n /** Registers a callback function to call when the validator inputs change. */\n registerOnValidatorChange(fn: () => void): void {\n this.onValidatorChange = fn\n }\n\n // ----------------------------------------------------------------------------\n // HELPERS\n // ----------------------------------------------------------------------------\n\n /** Returns the first entry in an error object. */\n get firstError(): { code: string; params: any } | null {\n const errors: ValidationErrors | null = this.ngControl.errors\n if (!errors) return null\n const code: string = Object.keys(errors)[0]\n return { code, params: errors[code] }\n }\n}\n","import { NgModule } from '@angular/core'\nimport { NgvBaseControlValueAccessorComponent } from './base-control-value-accessor.component'\n\n@NgModule({\n declarations: [NgvBaseControlValueAccessorComponent],\n imports: [],\n exports: [NgvBaseControlValueAccessorComponent],\n})\nexport class NgvBaseControlValueAccessorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component, HostBinding, Input, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
5
+ import * as i2 from '@sebgroup/green-angular/src/v-angular/external-link';
6
+ import { NgvExternalLinkDirectiveModule } from '@sebgroup/green-angular/src/v-angular/external-link';
7
+ import * as i3 from '@angular/router';
8
+ import { RouterModule } from '@angular/router';
9
+
10
+ class NgvBreadcrumbsComponent {
11
+ constructor() {
12
+ /** Special property used for selecting DOM elements during automated UI testing. */
13
+ this.thook = 'breadcrumbs';
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvBreadcrumbsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgvBreadcrumbsComponent, selector: "ngv-breadcrumbs", inputs: { thook: "thook", breadcrumbs: "breadcrumbs" }, host: { properties: { "attr.data-thook": "this.thook" } }, ngImport: i0, template: "<nav aria-label=\"Breadcrumbs\">\n <ol class=\"gds-breadcrumbs\">\n <ng-container *ngFor=\"let breadcrumb of breadcrumbs; let i = index\">\n <li [attr.aria-current]=\"i === breadcrumbs.length - 1\">\n <a\n [routerLink]=\"breadcrumb.href\"\n [external]=\"!!breadcrumb.external\"\n *ngIf=\"i < breadcrumbs.length - 1; else currentPageRef\"\n >{{ breadcrumb.title }}</a\n >\n <ng-template #currentPageRef>\n <span>{{ breadcrumb.title }}</span>\n </ng-template>\n </li>\n <li class=\"icon\" *ngIf=\"i < breadcrumbs.length - 1\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M9.22817 5.19072L8.60942 5.80947C8.46255 5.95635 8.46255 6.19385 8.60942 6.34072L14.2563 12.0001L8.60942 17.6595C8.46255 17.8063 8.46255 18.0438 8.60942 18.1907L9.22817 18.8095C9.37505 18.9563 9.61255 18.9563 9.75942 18.8095L16.3032 12.2657C16.45 12.1188 16.45 11.8813 16.3032 11.7345L9.75942 5.19072C9.61255 5.04385 9.37505 5.04385 9.22817 5.19072Z\"\n fill=\"#000\"\n />\n </svg>\n </li>\n </ng-container>\n </ol>\n</nav>\n", styles: [":host ol{padding-left:0;margin-bottom:0;margin-top:0;display:flex;flex-direction:column;list-style:none;flex-direction:row!important;align-items:center;gap:4px}:host ol>li{padding-bottom:.5rem;padding-top:.5rem;border:0;display:block;position:relative}:host ol>li:before{font-weight:500;display:inline-block;left:0;position:absolute;text-align:center}:host ol>li{padding:0!important;font-weight:500}:host ol>li:before{display:none!important}:host ol>li.icon{display:flex}:host ol>li.icon>svg{height:1rem;width:1rem}:host ol a{text-decoration:underline;text-underline-offset:3px;color:#0062bc;font-weight:500;border:none;border-radius:.125rem}:host ol a:hover{text-underline-offset:2px;text-decoration-thickness:2px}:host ol a:active{text-underline-offset:1px}:host ol a:focus:not(:focus-visible){box-shadow:none;outline:0}:host ol a:focus,:host ol a:focus-within{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host ol a:focus:not([aria-disabled]){color:#0092e1}:host ol a.link-history:visited{color:#673ab6}:host ol svg{width:1rem;height:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgvExternalLinkDirective, selector: "a[routerLink]", inputs: ["external"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvBreadcrumbsComponent, decorators: [{
19
+ type: Component,
20
+ args: [{ selector: 'ngv-breadcrumbs', template: "<nav aria-label=\"Breadcrumbs\">\n <ol class=\"gds-breadcrumbs\">\n <ng-container *ngFor=\"let breadcrumb of breadcrumbs; let i = index\">\n <li [attr.aria-current]=\"i === breadcrumbs.length - 1\">\n <a\n [routerLink]=\"breadcrumb.href\"\n [external]=\"!!breadcrumb.external\"\n *ngIf=\"i < breadcrumbs.length - 1; else currentPageRef\"\n >{{ breadcrumb.title }}</a\n >\n <ng-template #currentPageRef>\n <span>{{ breadcrumb.title }}</span>\n </ng-template>\n </li>\n <li class=\"icon\" *ngIf=\"i < breadcrumbs.length - 1\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M9.22817 5.19072L8.60942 5.80947C8.46255 5.95635 8.46255 6.19385 8.60942 6.34072L14.2563 12.0001L8.60942 17.6595C8.46255 17.8063 8.46255 18.0438 8.60942 18.1907L9.22817 18.8095C9.37505 18.9563 9.61255 18.9563 9.75942 18.8095L16.3032 12.2657C16.45 12.1188 16.45 11.8813 16.3032 11.7345L9.75942 5.19072C9.61255 5.04385 9.37505 5.04385 9.22817 5.19072Z\"\n fill=\"#000\"\n />\n </svg>\n </li>\n </ng-container>\n </ol>\n</nav>\n", styles: [":host ol{padding-left:0;margin-bottom:0;margin-top:0;display:flex;flex-direction:column;list-style:none;flex-direction:row!important;align-items:center;gap:4px}:host ol>li{padding-bottom:.5rem;padding-top:.5rem;border:0;display:block;position:relative}:host ol>li:before{font-weight:500;display:inline-block;left:0;position:absolute;text-align:center}:host ol>li{padding:0!important;font-weight:500}:host ol>li:before{display:none!important}:host ol>li.icon{display:flex}:host ol>li.icon>svg{height:1rem;width:1rem}:host ol a{text-decoration:underline;text-underline-offset:3px;color:#0062bc;font-weight:500;border:none;border-radius:.125rem}:host ol a:hover{text-underline-offset:2px;text-decoration-thickness:2px}:host ol a:active{text-underline-offset:1px}:host ol a:focus:not(:focus-visible){box-shadow:none;outline:0}:host ol a:focus,:host ol a:focus-within{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host ol a:focus:not([aria-disabled]){color:#0092e1}:host ol a.link-history:visited{color:#673ab6}:host ol svg{width:1rem;height:1rem}\n"] }]
21
+ }], propDecorators: { thook: [{
22
+ type: HostBinding,
23
+ args: ['attr.data-thook']
24
+ }, {
25
+ type: Input
26
+ }], breadcrumbs: [{
27
+ type: Input
28
+ }] } });
29
+
30
+ class NgvBreadcrumbsModule {
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvBreadcrumbsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
32
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NgvBreadcrumbsModule, declarations: [NgvBreadcrumbsComponent], imports: [CommonModule, NgvExternalLinkDirectiveModule, RouterModule], exports: [NgvBreadcrumbsComponent] }); }
33
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvBreadcrumbsModule, imports: [CommonModule, NgvExternalLinkDirectiveModule, RouterModule] }); }
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvBreadcrumbsModule, decorators: [{
36
+ type: NgModule,
37
+ args: [{
38
+ declarations: [NgvBreadcrumbsComponent],
39
+ imports: [CommonModule, NgvExternalLinkDirectiveModule, RouterModule],
40
+ exports: [NgvBreadcrumbsComponent],
41
+ }]
42
+ }] });
43
+
44
+ /**
45
+ * Generated bundle index. Do not edit.
46
+ */
47
+
48
+ export { NgvBreadcrumbsComponent, NgvBreadcrumbsModule };
49
+ //# sourceMappingURL=sebgroup-green-angular-src-v-angular-breadcrumbs.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sebgroup-green-angular-src-v-angular-breadcrumbs.mjs","sources":["../../../../libs/angular/src/v-angular/breadcrumbs/breadcrumbs.component.ts","../../../../libs/angular/src/v-angular/breadcrumbs/breadcrumbs.component.html","../../../../libs/angular/src/v-angular/breadcrumbs/breadcrumbs.module.ts","../../../../libs/angular/src/v-angular/breadcrumbs/sebgroup-green-angular-src-v-angular-breadcrumbs.ts"],"sourcesContent":["import { Component, HostBinding, Input } from '@angular/core'\n\ntype Breadcrumb = {\n /** Title shown for the breadcrumb link. */\n title: string\n /** The link which is redirected to when clicked. Can be relative with external set to `false`. */\n href: string\n /** Flags this link to be either internal using router link or external using browser location. */\n external?: boolean\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'ngv-breadcrumbs',\n templateUrl: './breadcrumbs.component.html',\n styleUrls: ['./breadcrumbs.component.scss'],\n})\nexport class NgvBreadcrumbsComponent {\n /** Special property used for selecting DOM elements during automated UI testing. */\n @HostBinding('attr.data-thook') @Input() thook = 'breadcrumbs'\n\n /** List of breadcrumbs to present. */\n @Input() breadcrumbs!: Breadcrumb[]\n}\n","<nav aria-label=\"Breadcrumbs\">\n <ol class=\"gds-breadcrumbs\">\n <ng-container *ngFor=\"let breadcrumb of breadcrumbs; let i = index\">\n <li [attr.aria-current]=\"i === breadcrumbs.length - 1\">\n <a\n [routerLink]=\"breadcrumb.href\"\n [external]=\"!!breadcrumb.external\"\n *ngIf=\"i < breadcrumbs.length - 1; else currentPageRef\"\n >{{ breadcrumb.title }}</a\n >\n <ng-template #currentPageRef>\n <span>{{ breadcrumb.title }}</span>\n </ng-template>\n </li>\n <li class=\"icon\" *ngIf=\"i < breadcrumbs.length - 1\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M9.22817 5.19072L8.60942 5.80947C8.46255 5.95635 8.46255 6.19385 8.60942 6.34072L14.2563 12.0001L8.60942 17.6595C8.46255 17.8063 8.46255 18.0438 8.60942 18.1907L9.22817 18.8095C9.37505 18.9563 9.61255 18.9563 9.75942 18.8095L16.3032 12.2657C16.45 12.1188 16.45 11.8813 16.3032 11.7345L9.75942 5.19072C9.61255 5.04385 9.37505 5.04385 9.22817 5.19072Z\"\n fill=\"#000\"\n />\n </svg>\n </li>\n </ng-container>\n </ol>\n</nav>\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { RouterModule } from '@angular/router'\n\nimport { NgvBreadcrumbsComponent } from './breadcrumbs.component'\nimport { NgvExternalLinkDirectiveModule } from '@sebgroup/green-angular/src/v-angular/external-link'\n\n@NgModule({\n declarations: [NgvBreadcrumbsComponent],\n imports: [CommonModule, NgvExternalLinkDirectiveModule, RouterModule],\n exports: [NgvBreadcrumbsComponent],\n})\nexport class NgvBreadcrumbsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;MAiBa,uBAAuB,CAAA;AANpC,IAAA,WAAA,GAAA;;QAQ2C,IAAK,CAAA,KAAA,GAAG,aAAa,CAAA;AAI/D,KAAA;+GANY,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,0KCjBpC,krCAyBA,EAAA,MAAA,EAAA,CAAA,2lCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDRa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;+BAEE,iBAAiB,EAAA,QAAA,EAAA,krCAAA,EAAA,MAAA,EAAA,CAAA,2lCAAA,CAAA,EAAA,CAAA;8BAMc,KAAK,EAAA,CAAA;sBAA7C,WAAW;uBAAC,iBAAiB,CAAA;;sBAAG,KAAK;gBAG7B,WAAW,EAAA,CAAA;sBAAnB,KAAK;;;MEVK,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAApB,oBAAoB,EAAA,YAAA,EAAA,CAJhB,uBAAuB,CAC5B,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,8BAA8B,EAAE,YAAY,CAAA,EAAA,OAAA,EAAA,CAC1D,uBAAuB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAHrB,OAAA,EAAA,CAAA,YAAY,EAAE,8BAA8B,EAAE,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGzD,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;AACvC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,8BAA8B,EAAE,YAAY,CAAC;oBACrE,OAAO,EAAE,CAAC,uBAAuB,CAAC;AACnC,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}
@@ -0,0 +1,131 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Component, Self, Optional, Inject, HostBinding, Input, Output, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/forms';
4
+ import { TRANSLOCO_SCOPE } from '@ngneat/transloco';
5
+ import { NgvBaseControlValueAccessorComponent } from '@sebgroup/green-angular/src/v-angular/base-control-value-accessor';
6
+ import * as i2 from '@angular/common';
7
+ import { CommonModule } from '@angular/common';
8
+ import * as i3 from '@sebgroup/green-angular/src/v-angular/external-link';
9
+ import { NgvExternalLinkDirectiveModule } from '@sebgroup/green-angular/src/v-angular/external-link';
10
+ import * as i4 from '@angular/router';
11
+ import { RouterModule } from '@angular/router';
12
+
13
+ var ButtonStyle;
14
+ (function (ButtonStyle) {
15
+ ButtonStyle[ButtonStyle["Primary"] = 0] = "Primary";
16
+ ButtonStyle[ButtonStyle["Secondary"] = 1] = "Secondary";
17
+ ButtonStyle[ButtonStyle["Alternative"] = 2] = "Alternative";
18
+ ButtonStyle[ButtonStyle["Delete"] = 3] = "Delete";
19
+ ButtonStyle[ButtonStyle["DeleteConfirm"] = 4] = "DeleteConfirm";
20
+ ButtonStyle[ButtonStyle["Ghost"] = 5] = "Ghost";
21
+ ButtonStyle[ButtonStyle["GhostDark"] = 6] = "GhostDark";
22
+ ButtonStyle[ButtonStyle["Link"] = 7] = "Link";
23
+ })(ButtonStyle || (ButtonStyle = {}));
24
+ /**
25
+ * Buttons allow users to take action with a single tap.
26
+ * https://designlibrary.sebgroup.com/components/component-button
27
+ */
28
+ class NgvButtonComponent extends NgvBaseControlValueAccessorComponent {
29
+ constructor(ngControl, translocoScope, cdr) {
30
+ super(ngControl, translocoScope, cdr);
31
+ this.ngControl = ngControl;
32
+ this.translocoScope = translocoScope;
33
+ this.cdr = cdr;
34
+ /** Special property used for selecting DOM elements during automated UI testing. */
35
+ this.thook = 'button';
36
+ /** Type of button to one of button|submit|reset|link, where link creates an anchor tag. */
37
+ this.type = 'button';
38
+ /** Style of the button to one of Primary|Secondary|Alternative|Delete|DeleteConfirm|Ghost|GhostDark|Link. */
39
+ this.buttonStyle = this.type === 'link' ? ButtonStyle.Link : ButtonStyle.Primary;
40
+ /** Size of the button to be smaller. */
41
+ this.small = false;
42
+ /** @internal Determines if the the href property should use internal routing. */
43
+ this.external = false;
44
+ /** @internal The classes determined by the buttonStyle and small properties. */
45
+ this.buttonClasses = {};
46
+ /** Emits click events triggered by the button or link.
47
+ * Use instead of click to avoid triggering events on disabled buttons and links.
48
+ */
49
+ this.ngvClick = new EventEmitter();
50
+ }
51
+ /** @internal */
52
+ static buttonStyleClasses(type, small) {
53
+ return {
54
+ small: small,
55
+ primary: type === ButtonStyle.Primary || type === ButtonStyle.Delete,
56
+ secondary: type === ButtonStyle.Secondary,
57
+ tertiary: type === ButtonStyle.Alternative || type === ButtonStyle.Link,
58
+ danger: type === ButtonStyle.Delete || type === ButtonStyle.DeleteConfirm,
59
+ ghost: type === ButtonStyle.GhostDark,
60
+ 'ghost-light': type === ButtonStyle.Ghost,
61
+ };
62
+ }
63
+ ngOnInit() {
64
+ super.ngOnInit();
65
+ if (this.href)
66
+ this.external = /^\w+:\/\/.+$/.test(this.href);
67
+ this.buttonClasses = NgvButtonComponent.buttonStyleClasses(this.buttonStyle, this.small);
68
+ }
69
+ ngOnChanges(changes) {
70
+ if (changes.buttonStyle || changes.small) {
71
+ this.buttonClasses = NgvButtonComponent.buttonStyleClasses(this.buttonStyle, this.small);
72
+ }
73
+ }
74
+ /** @internal */
75
+ onClick(event) {
76
+ if (this.disabled)
77
+ return;
78
+ this.ngvClick.emit(event);
79
+ }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvButtonComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: TRANSLOCO_SCOPE, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
81
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgvButtonComponent, selector: "ngv-button", inputs: { thook: "thook", type: "type", buttonStyle: "buttonStyle", small: "small", href: "href" }, outputs: { ngvClick: "ngvClick" }, host: { properties: { "attr.data-thook": "this.thook" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<button\n #input\n [ngClass]=\"buttonClasses\"\n [id]=\"id + '-button'\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [type]=\"type\"\n [autofocus]=\"autofocus\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"description\"\n (click)=\"onClick($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n *ngIf=\"type !== 'link'\"\n>\n <ng-container *ngTemplateOutlet=\"contentRef\"></ng-container>\n</button>\n\n<a\n #input\n [ngClass]=\"buttonClasses\"\n role=\"button\"\n [id]=\"id + '-link'\"\n [routerLink]=\"href\"\n [external]=\"external\"\n [attr.aria-label]=\"description\"\n (click)=\"onClick($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n *ngIf=\"type === 'link'\"\n>\n <ng-container *ngTemplateOutlet=\"contentRef\"></ng-container>\n</a>\n\n<ng-template #contentRef>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host button,:host a{background-color:transparent;border:0;cursor:pointer;font-family:inherit;padding:0;padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);font-weight:500;min-height:2.75rem;align-items:center;display:inline-flex;justify-content:center}:host button:focus:not(:focus-visible),:host a:focus:not(:focus-visible){box-shadow:none;outline:0}:host button:focus,:host button:focus-visible,:host a:focus,:host a:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media (max-width: 35.98em){:host button,:host a{min-width:100%}}@media screen and (-ms-high-contrast: active){:host button,:host a{border:2px solid currentcolor}}:host button.small,:host a.small{min-height:2rem;padding:.4375rem .75rem;line-height:1rem}:host button.large,:host a.large{min-height:4rem;padding:1rem 1.5rem;font-size:1.5rem;line-height:2rem}:host .primary{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:#007ac7;border-color:#007ac7;color:#fff;--color: #fff}:host .primary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: #199be3;--color: rgb(255, 255, 255);border-color:#199be3}:host .primary[aria-selected=true],:host .primary:active,:host .primary.active,:host .primary.active:hover,:host .primary:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .primary:focus-visible{background-color:#199be3;color:#fff;--background: #199be3;--color: rgb(255, 255, 255);border-color:#199be3!important}:host .primary:disabled,:host .primary.disabled,:host .primary[aria-disabled=true]{background:var(--form-control-primary-bg-disabled)!important;color:var(--text-primary-disabled-color)!important;border-color:var(--border-primary-disabled-color)!important;cursor:not-allowed}:host .primary:disabled::placeholder,:host .primary.disabled::placeholder,:host .primary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .secondary{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:transparent;border-color:#007ac7;color:#007ac7;--color: rgb(0, 122, 199)}:host .secondary:focus:not(:focus-visible){box-shadow:none;outline:0}:host .secondary:focus,:host .secondary:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .secondary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: #199be3;--color: rgb(255, 255, 255);border-color:#199be3}:host .secondary[aria-selected=true],:host .secondary:active,:host .secondary.active,:host .secondary.active:hover,:host .secondary:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .secondary:disabled,:host .secondary.disabled,:host .secondary[aria-disabled=true]{background:var(--sg-form-control-bg-disabled)!important;color:var(--text-disabled-color)!important;border-color:var(--border-disabled-color)!important;cursor:not-allowed}:host .secondary:disabled::placeholder,:host .secondary.disabled::placeholder,:host .secondary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .tertiary{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:transparent;border-color:transparent;color:#007ac7;--color: rgb(0, 122, 199)}:host .tertiary:focus:not(:focus-visible){box-shadow:none;outline:0}:host .tertiary:focus,:host .tertiary:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .tertiary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: #199be3;--color: rgb(255, 255, 255);border-color:#199be3}:host .tertiary[aria-selected=true],:host .tertiary:active,:host .tertiary.active,:host .tertiary.active:hover,:host .tertiary:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .tertiary:disabled,:host .tertiary.disabled,:host .tertiary[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 .tertiary:disabled::placeholder,:host .tertiary.disabled::placeholder,:host .tertiary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .ghost-light{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;border-color:#fff;color:#fff;--color: rgb(255, 255, 255)}:host .ghost-light:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#fff;color:#000;--background: rgb(255, 255, 255);--color: black;border-color:#fff}:host .ghost-light[aria-selected=true],:host .ghost-light:active,:host .ghost-light.active,:host .ghost-light.active:hover,:host .ghost-light:active:hover{background-color:#fff;color:#000;--background: rgb(255, 255, 255);--color: black;border-color:#fff}:host .ghost-light[aria-selected]:hover,:host .ghost-light.active:hover,:host .ghost-light:active:hover{opacity:.9}:host .ghost-light:focus-visible{background-color:#fff;color:#000;--background: rgb(255, 255, 255);--color: black;border-color:#fff!important}:host .ghost-light:disabled,:host .ghost-light.disabled,:host .ghost-light[aria-disabled=true]{color:var(--text-disabled-color)!important;border-color:var(--border-disabled-color)!important;cursor:not-allowed}:host .ghost-light:disabled::placeholder,:host .ghost-light.disabled::placeholder,:host .ghost-light[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .ghost{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;border-color:#333;color:#333;--color: rgb(51, 51, 51)}:host .ghost: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 .ghost[aria-selected=true],:host .ghost:active,:host .ghost.active,:host .ghost.active:hover,:host .ghost:active:hover{background-color:#333;color:#fff;--background: rgb(51, 51, 51);--color: rgb(255, 255, 255);border-color:#333}:host .ghost[aria-selected]:hover,:host .ghost.active:hover,:host .ghost:active:hover{opacity:.9}:host .ghost:focus-visible{background-color:#333;color:#fff;--background: rgb(51, 51, 51);--color: rgb(255, 255, 255);border-color:#333!important}:host .ghost:disabled,:host .ghost.disabled,:host .ghost[aria-disabled=true]{color:var(--text-disabled-color)!important;border-color:var(--border-disabled-color)!important;cursor:not-allowed}:host .ghost:disabled::placeholder,:host .ghost.disabled::placeholder,:host .ghost[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .danger.primary{background:#bb000c;border-color:#bb000c;color:#fff;--color: #fff;transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s}:host .danger.primary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#d81a1a;color:#fff;--background: rgb(216, 26, 26);--color: rgb(255, 255, 255);border-color:#d81a1a}:host .danger.primary[aria-selected=true],:host .danger.primary:active,:host .danger.primary.active,:host .danger.primary.active:hover,:host .danger.primary:active:hover{background-color:#bb000c;color:#fff;--background: rgb(187, 0, 12);--color: rgb(255, 255, 255);border-color:#bb000c}:host .danger.primary[aria-selected]:hover,:host .danger.primary.active:hover,:host .danger.primary:active:hover{opacity:.9}:host .danger.primary:focus:not(:focus-visible){box-shadow:none;outline:0}:host .danger.primary:focus,:host .danger.primary:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .danger.primary:disabled,:host .danger.primary.disabled,:host .danger.primary[aria-disabled=true]{background:var(--form-control-primary-bg-disabled)!important;color:var(--text-primary-disabled-color)!important;border-color:var(--border-primary-disabled-color)!important;cursor:not-allowed}:host .danger.primary:disabled::placeholder,:host .danger.primary.disabled::placeholder,:host .danger.primary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .danger:not(.primary){color:#bb000c;--color: rgb(187, 0, 12);border-color:transparent;transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s}:host .danger:not(.primary):not(:disabled,.disabled,[aria-disabled]):hover{background-color:#d81a1a;color:#fff;--background: rgb(216, 26, 26);--color: rgb(255, 255, 255);border-color:#d81a1a}:host .danger:not(.primary)[aria-selected=true],:host .danger:not(.primary):active,:host .danger:not(.primary).active,:host .danger:not(.primary).active:hover,:host .danger:not(.primary):active:hover{background-color:#bb000c;color:#fff;--background: rgb(187, 0, 12);--color: rgb(255, 255, 255);border-color:#bb000c}:host .danger:not(.primary)[aria-selected]:hover,:host .danger:not(.primary).active:hover,:host .danger:not(.primary):active:hover{opacity:.9}:host .danger:not(.primary):focus:not(:focus-visible){box-shadow:none;outline:0}:host .danger:not(.primary):focus,:host .danger:not(.primary):focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}\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.NgvExternalLinkDirective, selector: "a[routerLink]", inputs: ["external"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
82
+ }
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvButtonComponent, decorators: [{
84
+ type: Component,
85
+ args: [{ selector: 'ngv-button', template: "<button\n #input\n [ngClass]=\"buttonClasses\"\n [id]=\"id + '-button'\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [type]=\"type\"\n [autofocus]=\"autofocus\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"description\"\n (click)=\"onClick($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n *ngIf=\"type !== 'link'\"\n>\n <ng-container *ngTemplateOutlet=\"contentRef\"></ng-container>\n</button>\n\n<a\n #input\n [ngClass]=\"buttonClasses\"\n role=\"button\"\n [id]=\"id + '-link'\"\n [routerLink]=\"href\"\n [external]=\"external\"\n [attr.aria-label]=\"description\"\n (click)=\"onClick($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n *ngIf=\"type === 'link'\"\n>\n <ng-container *ngTemplateOutlet=\"contentRef\"></ng-container>\n</a>\n\n<ng-template #contentRef>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host button,:host a{background-color:transparent;border:0;cursor:pointer;font-family:inherit;padding:0;padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);font-weight:500;min-height:2.75rem;align-items:center;display:inline-flex;justify-content:center}:host button:focus:not(:focus-visible),:host a:focus:not(:focus-visible){box-shadow:none;outline:0}:host button:focus,:host button:focus-visible,:host a:focus,:host a:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media (max-width: 35.98em){:host button,:host a{min-width:100%}}@media screen and (-ms-high-contrast: active){:host button,:host a{border:2px solid currentcolor}}:host button.small,:host a.small{min-height:2rem;padding:.4375rem .75rem;line-height:1rem}:host button.large,:host a.large{min-height:4rem;padding:1rem 1.5rem;font-size:1.5rem;line-height:2rem}:host .primary{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:#007ac7;border-color:#007ac7;color:#fff;--color: #fff}:host .primary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: #199be3;--color: rgb(255, 255, 255);border-color:#199be3}:host .primary[aria-selected=true],:host .primary:active,:host .primary.active,:host .primary.active:hover,:host .primary:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .primary:focus-visible{background-color:#199be3;color:#fff;--background: #199be3;--color: rgb(255, 255, 255);border-color:#199be3!important}:host .primary:disabled,:host .primary.disabled,:host .primary[aria-disabled=true]{background:var(--form-control-primary-bg-disabled)!important;color:var(--text-primary-disabled-color)!important;border-color:var(--border-primary-disabled-color)!important;cursor:not-allowed}:host .primary:disabled::placeholder,:host .primary.disabled::placeholder,:host .primary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .secondary{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:transparent;border-color:#007ac7;color:#007ac7;--color: rgb(0, 122, 199)}:host .secondary:focus:not(:focus-visible){box-shadow:none;outline:0}:host .secondary:focus,:host .secondary:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .secondary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: #199be3;--color: rgb(255, 255, 255);border-color:#199be3}:host .secondary[aria-selected=true],:host .secondary:active,:host .secondary.active,:host .secondary.active:hover,:host .secondary:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .secondary:disabled,:host .secondary.disabled,:host .secondary[aria-disabled=true]{background:var(--sg-form-control-bg-disabled)!important;color:var(--text-disabled-color)!important;border-color:var(--border-disabled-color)!important;cursor:not-allowed}:host .secondary:disabled::placeholder,:host .secondary.disabled::placeholder,:host .secondary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .tertiary{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:transparent;border-color:transparent;color:#007ac7;--color: rgb(0, 122, 199)}:host .tertiary:focus:not(:focus-visible){box-shadow:none;outline:0}:host .tertiary:focus,:host .tertiary:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .tertiary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: #199be3;--color: rgb(255, 255, 255);border-color:#199be3}:host .tertiary[aria-selected=true],:host .tertiary:active,:host .tertiary.active,:host .tertiary.active:hover,:host .tertiary:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .tertiary:disabled,:host .tertiary.disabled,:host .tertiary[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 .tertiary:disabled::placeholder,:host .tertiary.disabled::placeholder,:host .tertiary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .ghost-light{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;border-color:#fff;color:#fff;--color: rgb(255, 255, 255)}:host .ghost-light:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#fff;color:#000;--background: rgb(255, 255, 255);--color: black;border-color:#fff}:host .ghost-light[aria-selected=true],:host .ghost-light:active,:host .ghost-light.active,:host .ghost-light.active:hover,:host .ghost-light:active:hover{background-color:#fff;color:#000;--background: rgb(255, 255, 255);--color: black;border-color:#fff}:host .ghost-light[aria-selected]:hover,:host .ghost-light.active:hover,:host .ghost-light:active:hover{opacity:.9}:host .ghost-light:focus-visible{background-color:#fff;color:#000;--background: rgb(255, 255, 255);--color: black;border-color:#fff!important}:host .ghost-light:disabled,:host .ghost-light.disabled,:host .ghost-light[aria-disabled=true]{color:var(--text-disabled-color)!important;border-color:var(--border-disabled-color)!important;cursor:not-allowed}:host .ghost-light:disabled::placeholder,:host .ghost-light.disabled::placeholder,:host .ghost-light[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .ghost{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;border-color:#333;color:#333;--color: rgb(51, 51, 51)}:host .ghost: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 .ghost[aria-selected=true],:host .ghost:active,:host .ghost.active,:host .ghost.active:hover,:host .ghost:active:hover{background-color:#333;color:#fff;--background: rgb(51, 51, 51);--color: rgb(255, 255, 255);border-color:#333}:host .ghost[aria-selected]:hover,:host .ghost.active:hover,:host .ghost:active:hover{opacity:.9}:host .ghost:focus-visible{background-color:#333;color:#fff;--background: rgb(51, 51, 51);--color: rgb(255, 255, 255);border-color:#333!important}:host .ghost:disabled,:host .ghost.disabled,:host .ghost[aria-disabled=true]{color:var(--text-disabled-color)!important;border-color:var(--border-disabled-color)!important;cursor:not-allowed}:host .ghost:disabled::placeholder,:host .ghost.disabled::placeholder,:host .ghost[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .danger.primary{background:#bb000c;border-color:#bb000c;color:#fff;--color: #fff;transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s}:host .danger.primary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#d81a1a;color:#fff;--background: rgb(216, 26, 26);--color: rgb(255, 255, 255);border-color:#d81a1a}:host .danger.primary[aria-selected=true],:host .danger.primary:active,:host .danger.primary.active,:host .danger.primary.active:hover,:host .danger.primary:active:hover{background-color:#bb000c;color:#fff;--background: rgb(187, 0, 12);--color: rgb(255, 255, 255);border-color:#bb000c}:host .danger.primary[aria-selected]:hover,:host .danger.primary.active:hover,:host .danger.primary:active:hover{opacity:.9}:host .danger.primary:focus:not(:focus-visible){box-shadow:none;outline:0}:host .danger.primary:focus,:host .danger.primary:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .danger.primary:disabled,:host .danger.primary.disabled,:host .danger.primary[aria-disabled=true]{background:var(--form-control-primary-bg-disabled)!important;color:var(--text-primary-disabled-color)!important;border-color:var(--border-primary-disabled-color)!important;cursor:not-allowed}:host .danger.primary:disabled::placeholder,:host .danger.primary.disabled::placeholder,:host .danger.primary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .danger:not(.primary){color:#bb000c;--color: rgb(187, 0, 12);border-color:transparent;transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s}:host .danger:not(.primary):not(:disabled,.disabled,[aria-disabled]):hover{background-color:#d81a1a;color:#fff;--background: rgb(216, 26, 26);--color: rgb(255, 255, 255);border-color:#d81a1a}:host .danger:not(.primary)[aria-selected=true],:host .danger:not(.primary):active,:host .danger:not(.primary).active,:host .danger:not(.primary).active:hover,:host .danger:not(.primary):active:hover{background-color:#bb000c;color:#fff;--background: rgb(187, 0, 12);--color: rgb(255, 255, 255);border-color:#bb000c}:host .danger:not(.primary)[aria-selected]:hover,:host .danger:not(.primary).active:hover,:host .danger:not(.primary):active:hover{opacity:.9}:host .danger:not(.primary):focus:not(:focus-visible){box-shadow:none;outline:0}:host .danger:not(.primary):focus,:host .danger:not(.primary):focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}\n"] }]
86
+ }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
87
+ type: Self
88
+ }, {
89
+ type: Optional
90
+ }] }, { type: undefined, decorators: [{
91
+ type: Optional
92
+ }, {
93
+ type: Inject,
94
+ args: [TRANSLOCO_SCOPE]
95
+ }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { thook: [{
96
+ type: HostBinding,
97
+ args: ['attr.data-thook']
98
+ }, {
99
+ type: Input
100
+ }], type: [{
101
+ type: Input
102
+ }], buttonStyle: [{
103
+ type: Input
104
+ }], small: [{
105
+ type: Input
106
+ }], href: [{
107
+ type: Input
108
+ }], ngvClick: [{
109
+ type: Output
110
+ }] } });
111
+
112
+ class NgvButtonModule {
113
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
114
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NgvButtonModule, declarations: [NgvButtonComponent], imports: [CommonModule, NgvExternalLinkDirectiveModule, RouterModule], exports: [NgvButtonComponent] }); }
115
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvButtonModule, imports: [CommonModule, NgvExternalLinkDirectiveModule, RouterModule] }); }
116
+ }
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvButtonModule, decorators: [{
118
+ type: NgModule,
119
+ args: [{
120
+ declarations: [NgvButtonComponent],
121
+ imports: [CommonModule, NgvExternalLinkDirectiveModule, RouterModule],
122
+ exports: [NgvButtonComponent],
123
+ }]
124
+ }] });
125
+
126
+ /**
127
+ * Generated bundle index. Do not edit.
128
+ */
129
+
130
+ export { ButtonStyle, NgvButtonComponent, NgvButtonModule };
131
+ //# sourceMappingURL=sebgroup-green-angular-src-v-angular-button.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sebgroup-green-angular-src-v-angular-button.mjs","sources":["../../../../libs/angular/src/v-angular/button/button.component.ts","../../../../libs/angular/src/v-angular/button/button.component.html","../../../../libs/angular/src/v-angular/button/button.module.ts","../../../../libs/angular/src/v-angular/button/sebgroup-green-angular-src-v-angular-button.ts"],"sourcesContent":["import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n InjectionToken,\n Input,\n OnChanges,\n OnInit,\n Optional,\n Output,\n Self,\n SimpleChanges,\n} from '@angular/core'\nimport { NgControl } from '@angular/forms'\nimport { TRANSLOCO_SCOPE, TranslocoScope } from '@ngneat/transloco'\nimport { NgvBaseControlValueAccessorComponent } from '@sebgroup/green-angular/src/v-angular/base-control-value-accessor'\n\nexport type ButtonTypes = 'button' | 'submit' | 'reset' | 'link'\n\nexport enum ButtonStyle {\n Primary,\n Secondary,\n Alternative,\n Delete,\n DeleteConfirm,\n Ghost,\n GhostDark,\n Link,\n}\n\n/**\n * Buttons allow users to take action with a single tap.\n * https://designlibrary.sebgroup.com/components/component-button\n */\n@Component({\n selector: 'ngv-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n})\nexport class NgvButtonComponent\n extends NgvBaseControlValueAccessorComponent\n implements OnInit, OnChanges\n{\n /** Special property used for selecting DOM elements during automated UI testing. */\n @HostBinding('attr.data-thook') @Input() thook = 'button'\n /** Type of button to one of button|submit|reset|link, where link creates an anchor tag. */\n @Input() type: ButtonTypes = 'button'\n /** Style of the button to one of Primary|Secondary|Alternative|Delete|DeleteConfirm|Ghost|GhostDark|Link. */\n @Input() buttonStyle: ButtonStyle =\n this.type === 'link' ? ButtonStyle.Link : ButtonStyle.Primary\n /** Size of the button to be smaller. */\n @Input() small = false\n /** Where the button should link to if {@link ButtonTypes} is set to link. */\n @Input() href?: string\n\n /** @internal Determines if the the href property should use internal routing. */\n external = false\n /** @internal The classes determined by the buttonStyle and small properties. */\n buttonClasses: { [className: string]: boolean } = {}\n\n /** Emits click events triggered by the button or link.\n * Use instead of click to avoid triggering events on disabled buttons and links.\n */\n @Output() ngvClick = new EventEmitter()\n\n constructor(\n @Self() @Optional() public ngControl: NgControl,\n @Optional()\n @Inject(TRANSLOCO_SCOPE)\n protected translocoScope: TranslocoScope,\n protected cdr: ChangeDetectorRef,\n ) {\n super(ngControl, translocoScope, cdr)\n }\n\n /** @internal */\n static buttonStyleClasses(type: ButtonStyle, small: boolean) {\n return {\n small: small,\n primary: type === ButtonStyle.Primary || type === ButtonStyle.Delete,\n secondary: type === ButtonStyle.Secondary,\n tertiary: type === ButtonStyle.Alternative || type === ButtonStyle.Link,\n danger: type === ButtonStyle.Delete || type === ButtonStyle.DeleteConfirm,\n ghost: type === ButtonStyle.GhostDark,\n 'ghost-light': type === ButtonStyle.Ghost,\n }\n }\n\n ngOnInit() {\n super.ngOnInit()\n if (this.href) this.external = /^\\w+:\\/\\/.+$/.test(this.href)\n this.buttonClasses = NgvButtonComponent.buttonStyleClasses(\n this.buttonStyle,\n this.small,\n )\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.buttonStyle || changes.small) {\n this.buttonClasses = NgvButtonComponent.buttonStyleClasses(\n this.buttonStyle,\n this.small,\n )\n }\n }\n\n /** @internal */\n onClick(event: Event) {\n if (this.disabled) return\n this.ngvClick.emit(event)\n }\n}\n","<button\n #input\n [ngClass]=\"buttonClasses\"\n [id]=\"id + '-button'\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [type]=\"type\"\n [autofocus]=\"autofocus\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"description\"\n (click)=\"onClick($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n *ngIf=\"type !== 'link'\"\n>\n <ng-container *ngTemplateOutlet=\"contentRef\"></ng-container>\n</button>\n\n<a\n #input\n [ngClass]=\"buttonClasses\"\n role=\"button\"\n [id]=\"id + '-link'\"\n [routerLink]=\"href\"\n [external]=\"external\"\n [attr.aria-label]=\"description\"\n (click)=\"onClick($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n *ngIf=\"type === 'link'\"\n>\n <ng-container *ngTemplateOutlet=\"contentRef\"></ng-container>\n</a>\n\n<ng-template #contentRef>\n <ng-content></ng-content>\n</ng-template>\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { RouterModule } from '@angular/router'\n\nimport { NgvButtonComponent } from './button.component'\nimport { NgvExternalLinkDirectiveModule } from '@sebgroup/green-angular/src/v-angular/external-link'\n\n@NgModule({\n declarations: [NgvButtonComponent],\n imports: [CommonModule, NgvExternalLinkDirectiveModule, RouterModule],\n exports: [NgvButtonComponent],\n})\nexport class NgvButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}