valtech-components 2.0.26 → 2.0.28

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 (308) hide show
  1. package/ng-package.json +10 -0
  2. package/package.json +12 -14
  3. package/src/lib/components/atoms/avatar/avatar.component.scss +20 -0
  4. package/src/lib/components/atoms/avatar/avatar.component.ts +29 -0
  5. package/src/lib/components/atoms/avatar/types.ts +6 -0
  6. package/src/lib/components/atoms/box/box.component.scss +57 -0
  7. package/src/lib/components/atoms/box/box.component.ts +38 -0
  8. package/src/lib/components/atoms/box/types.ts +8 -0
  9. package/src/lib/components/atoms/button/button.component.scss +5 -0
  10. package/src/lib/components/atoms/button/button.component.ts +53 -0
  11. package/src/lib/components/atoms/button/factory.ts +444 -0
  12. package/src/lib/components/atoms/display/display.component.scss +17 -0
  13. package/src/lib/components/atoms/display/display.component.ts +25 -0
  14. package/src/lib/components/atoms/display/types.ts +7 -0
  15. package/src/lib/components/atoms/divider/divider.component.scss +62 -0
  16. package/src/lib/components/atoms/divider/divider.component.ts +18 -0
  17. package/src/lib/components/atoms/divider/types.ts +5 -0
  18. package/src/lib/components/atoms/href/href.component.scss +25 -0
  19. package/src/lib/components/atoms/href/href.component.ts +43 -0
  20. package/src/lib/components/atoms/href/types.ts +10 -0
  21. package/src/lib/components/atoms/icon/icon.component.scss +33 -0
  22. package/src/lib/components/atoms/icon/icon.component.ts +20 -0
  23. package/src/lib/components/atoms/icon/types.ts +7 -0
  24. package/src/lib/components/atoms/image/image.component.scss +70 -0
  25. package/src/lib/components/atoms/image/image.component.ts +40 -0
  26. package/src/lib/components/atoms/image/types.ts +11 -0
  27. package/src/lib/components/atoms/progress-bar/progress-bar.component.scss +22 -0
  28. package/src/lib/components/atoms/progress-bar/progress-bar.component.ts +29 -0
  29. package/src/lib/components/atoms/progress-bar/types.ts +10 -0
  30. package/src/lib/components/atoms/text/text.component.scss +33 -0
  31. package/src/lib/components/atoms/text/text.component.ts +23 -0
  32. package/src/lib/components/atoms/text/types.ts +8 -0
  33. package/src/lib/components/atoms/title/title.component.scss +17 -0
  34. package/src/lib/components/atoms/title/title.component.ts +27 -0
  35. package/src/lib/components/atoms/title/types.ts +8 -0
  36. package/src/lib/components/molecules/alert-box/alert-box.component.scss +10 -0
  37. package/src/lib/components/molecules/alert-box/alert-box.component.ts +28 -0
  38. package/{lib/components/molecules/alert-box/types.d.ts → src/lib/components/molecules/alert-box/types.ts} +4 -3
  39. package/src/lib/components/molecules/button-group/button-group.component.scss +31 -0
  40. package/src/lib/components/molecules/button-group/button-group.component.ts +44 -0
  41. package/src/lib/components/molecules/button-group/types.ts +7 -0
  42. package/src/lib/components/molecules/card/card.component.scss +46 -0
  43. package/src/lib/components/molecules/card/card.component.ts +218 -0
  44. package/src/lib/components/molecules/card/types.ts +36 -0
  45. package/src/lib/components/molecules/check-input/check-input.component.scss +0 -0
  46. package/src/lib/components/molecules/check-input/check-input.component.ts +16 -0
  47. package/src/lib/components/molecules/comment-input/comment-input.component.scss +0 -0
  48. package/src/lib/components/molecules/comment-input/comment-input.component.ts +22 -0
  49. package/src/lib/components/molecules/content-loader/content-loader.component.scss +42 -0
  50. package/src/lib/components/molecules/content-loader/content-loader.component.ts +27 -0
  51. package/src/lib/components/molecules/content-loader/types.ts +8 -0
  52. package/src/lib/components/molecules/date-input/date-input.component.scss +11 -0
  53. package/src/lib/components/molecules/date-input/date-input.component.ts +47 -0
  54. package/src/lib/components/molecules/email-input/email-input.component.scss +0 -0
  55. package/src/lib/components/molecules/email-input/email-input.component.ts +20 -0
  56. package/src/lib/components/molecules/file-input/file-input.component.scss +11 -0
  57. package/src/lib/components/molecules/file-input/file-input.component.ts +56 -0
  58. package/src/lib/components/molecules/hint/hint.component.scss +5 -0
  59. package/src/lib/components/molecules/hint/hint.component.ts +42 -0
  60. package/src/lib/components/molecules/hour-input/hour-input.component.scss +0 -0
  61. package/src/lib/components/molecules/hour-input/hour-input.component.ts +19 -0
  62. package/src/lib/components/molecules/link/link.component.scss +5 -0
  63. package/src/lib/components/molecules/link/link.component.ts +52 -0
  64. package/src/lib/components/molecules/link/types.ts +10 -0
  65. package/src/lib/components/molecules/links-cake/links-cake.component.scss +9 -0
  66. package/src/lib/components/molecules/links-cake/links-cake.component.ts +30 -0
  67. package/{lib/components/molecules/links-cake/types.d.ts → src/lib/components/molecules/links-cake/types.ts} +4 -3
  68. package/src/lib/components/molecules/notes-box/notes-box.component.scss +5 -0
  69. package/src/lib/components/molecules/notes-box/notes-box.component.ts +28 -0
  70. package/src/lib/components/molecules/notes-box/types.ts +9 -0
  71. package/src/lib/components/molecules/number-input/number-input.component.scss +0 -0
  72. package/src/lib/components/molecules/number-input/number-input.component.ts +19 -0
  73. package/src/lib/components/molecules/password-input/password-input.component.scss +7 -0
  74. package/src/lib/components/molecules/password-input/password-input.component.ts +33 -0
  75. package/src/lib/components/molecules/pin-input/pin-input.component.scss +13 -0
  76. package/src/lib/components/molecules/pin-input/pin-input.component.ts +42 -0
  77. package/src/lib/components/molecules/progress-status/progress-status.component.scss +41 -0
  78. package/src/lib/components/molecules/progress-status/progress-status.component.ts +70 -0
  79. package/src/lib/components/molecules/progress-status/types.ts +11 -0
  80. package/src/lib/components/molecules/prompter/prompter.component.scss +34 -0
  81. package/src/lib/components/molecules/prompter/prompter.component.ts +58 -0
  82. package/{lib/components/molecules/prompter/types.d.ts → src/lib/components/molecules/prompter/types.ts} +7 -6
  83. package/src/lib/components/molecules/radio-input/radio-input.component.scss +0 -0
  84. package/src/lib/components/molecules/radio-input/radio-input.component.ts +27 -0
  85. package/src/lib/components/molecules/searchbar/searchbar.component.scss +9 -0
  86. package/src/lib/components/molecules/searchbar/searchbar.component.ts +47 -0
  87. package/src/lib/components/molecules/text-input/text-input.component.scss +1 -0
  88. package/src/lib/components/molecules/text-input/text-input.component.ts +19 -0
  89. package/src/lib/components/molecules/title-block/title-block.component.scss +36 -0
  90. package/src/lib/components/molecules/title-block/title-block.component.ts +50 -0
  91. package/src/lib/components/molecules/title-block/types.ts +14 -0
  92. package/src/lib/components/organisms/banner/banner.component.scss +45 -0
  93. package/src/lib/components/organisms/banner/banner.component.ts +57 -0
  94. package/src/lib/components/organisms/banner/types.ts +13 -0
  95. package/src/lib/components/organisms/footer/footer.component.scss +3 -0
  96. package/src/lib/components/organisms/footer/footer.component.ts +40 -0
  97. package/{lib/components/organisms/footer/types.d.ts → src/lib/components/organisms/footer/types.ts} +4 -3
  98. package/src/lib/components/organisms/form/factory.ts +11 -0
  99. package/src/lib/components/organisms/form/form-footer/form-footer.component.scss +0 -0
  100. package/src/lib/components/organisms/form/form-footer/form-footer.component.ts +63 -0
  101. package/src/lib/components/organisms/form/form.component.scss +16 -0
  102. package/src/lib/components/organisms/form/form.component.ts +183 -0
  103. package/src/lib/components/organisms/header/header.component.scss +0 -0
  104. package/src/lib/components/organisms/header/header.component.ts +32 -0
  105. package/{lib/components/organisms/header/types.d.ts → src/lib/components/organisms/header/types.ts} +4 -3
  106. package/src/lib/components/organisms/no-content/no-content.component.scss +11 -0
  107. package/src/lib/components/organisms/no-content/no-content.component.ts +32 -0
  108. package/{lib/components/organisms/no-content/types.d.ts → src/lib/components/organisms/no-content/types.ts} +3 -2
  109. package/src/lib/components/organisms/toolbar/toolbar.component.scss +13 -0
  110. package/src/lib/components/organisms/toolbar/toolbar.component.ts +119 -0
  111. package/src/lib/components/organisms/toolbar/types.ts +12 -0
  112. package/src/lib/components/organisms/wizard/types.ts +24 -0
  113. package/src/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.scss +0 -0
  114. package/src/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.ts +90 -0
  115. package/src/lib/components/organisms/wizard/wizard.component.scss +15 -0
  116. package/src/lib/components/organisms/wizard/wizard.component.ts +99 -0
  117. package/src/lib/components/templates/layout/layout.component.scss +22 -0
  118. package/src/lib/components/templates/layout/layout.component.ts +14 -0
  119. package/src/lib/components/templates/simple/simple.component.scss +30 -0
  120. package/src/lib/components/templates/simple/simple.component.ts +60 -0
  121. package/{lib/components/templates/simple/types.d.ts → src/lib/components/templates/simple/types.ts} +6 -5
  122. package/src/lib/components/types.ts +122 -0
  123. package/src/lib/services/download.service.ts +58 -0
  124. package/src/lib/services/in-app-browser.service.ts +19 -0
  125. package/src/lib/services/lang-provider/components/lang-settings.ts +14 -0
  126. package/src/lib/services/lang-provider/components/theme-settings.ts +16 -0
  127. package/src/lib/services/lang-provider/content.ts +14 -0
  128. package/src/lib/services/lang-provider/lang-provider.service.ts +38 -0
  129. package/src/lib/services/lang-provider/types.ts +25 -0
  130. package/src/lib/services/local-storage.service.ts +18 -0
  131. package/src/lib/services/navigation.service.ts +39 -0
  132. package/src/lib/services/theme.service.ts +102 -0
  133. package/{lib/services/types.d.ts → src/lib/services/types.ts} +4 -2
  134. package/src/lib/shared/constants/storage.ts +2 -0
  135. package/src/lib/shared/utils/dom.ts +19 -0
  136. package/{public-api.d.ts → src/public-api.ts} +13 -0
  137. package/tsconfig.lib.json +14 -0
  138. package/tsconfig.lib.prod.json +10 -0
  139. package/tsconfig.spec.json +14 -0
  140. package/esm2022/lib/components/atoms/avatar/avatar.component.mjs +0 -31
  141. package/esm2022/lib/components/atoms/avatar/types.mjs +0 -2
  142. package/esm2022/lib/components/atoms/box/box.component.mjs +0 -47
  143. package/esm2022/lib/components/atoms/box/types.mjs +0 -2
  144. package/esm2022/lib/components/atoms/button/button.component.mjs +0 -69
  145. package/esm2022/lib/components/atoms/button/factory.mjs +0 -217
  146. package/esm2022/lib/components/atoms/display/display.component.mjs +0 -28
  147. package/esm2022/lib/components/atoms/display/types.mjs +0 -2
  148. package/esm2022/lib/components/atoms/divider/divider.component.mjs +0 -17
  149. package/esm2022/lib/components/atoms/divider/types.mjs +0 -2
  150. package/esm2022/lib/components/atoms/href/href.component.mjs +0 -51
  151. package/esm2022/lib/components/atoms/href/types.mjs +0 -2
  152. package/esm2022/lib/components/atoms/icon/icon.component.mjs +0 -18
  153. package/esm2022/lib/components/atoms/icon/types.mjs +0 -2
  154. package/esm2022/lib/components/atoms/image/image.component.mjs +0 -50
  155. package/esm2022/lib/components/atoms/image/types.mjs +0 -2
  156. package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +0 -36
  157. package/esm2022/lib/components/atoms/progress-bar/types.mjs +0 -2
  158. package/esm2022/lib/components/atoms/text/text.component.mjs +0 -24
  159. package/esm2022/lib/components/atoms/text/types.mjs +0 -2
  160. package/esm2022/lib/components/atoms/title/title.component.mjs +0 -31
  161. package/esm2022/lib/components/atoms/title/types.mjs +0 -2
  162. package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +0 -32
  163. package/esm2022/lib/components/molecules/alert-box/types.mjs +0 -2
  164. package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +0 -49
  165. package/esm2022/lib/components/molecules/button-group/types.mjs +0 -2
  166. package/esm2022/lib/components/molecules/card/card.component.mjs +0 -369
  167. package/esm2022/lib/components/molecules/card/types.mjs +0 -16
  168. package/esm2022/lib/components/molecules/check-input/check-input.component.mjs +0 -15
  169. package/esm2022/lib/components/molecules/comment-input/comment-input.component.mjs +0 -23
  170. package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +0 -32
  171. package/esm2022/lib/components/molecules/content-loader/types.mjs +0 -2
  172. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +0 -73
  173. package/esm2022/lib/components/molecules/email-input/email-input.component.mjs +0 -19
  174. package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +0 -69
  175. package/esm2022/lib/components/molecules/hint/hint.component.mjs +0 -52
  176. package/esm2022/lib/components/molecules/hour-input/hour-input.component.mjs +0 -18
  177. package/esm2022/lib/components/molecules/link/link.component.mjs +0 -37
  178. package/esm2022/lib/components/molecules/link/types.mjs +0 -2
  179. package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +0 -37
  180. package/esm2022/lib/components/molecules/links-cake/types.mjs +0 -2
  181. package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +0 -33
  182. package/esm2022/lib/components/molecules/notes-box/types.mjs +0 -2
  183. package/esm2022/lib/components/molecules/number-input/number-input.component.mjs +0 -18
  184. package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +0 -44
  185. package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +0 -45
  186. package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +0 -94
  187. package/esm2022/lib/components/molecules/progress-status/types.mjs +0 -2
  188. package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +0 -84
  189. package/esm2022/lib/components/molecules/prompter/types.mjs +0 -2
  190. package/esm2022/lib/components/molecules/radio-input/radio-input.component.mjs +0 -33
  191. package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +0 -61
  192. package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +0 -18
  193. package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +0 -77
  194. package/esm2022/lib/components/molecules/title-block/types.mjs +0 -2
  195. package/esm2022/lib/components/organisms/banner/banner.component.mjs +0 -75
  196. package/esm2022/lib/components/organisms/banner/types.mjs +0 -2
  197. package/esm2022/lib/components/organisms/footer/footer.component.mjs +0 -50
  198. package/esm2022/lib/components/organisms/footer/types.mjs +0 -2
  199. package/esm2022/lib/components/organisms/form/factory.mjs +0 -8
  200. package/esm2022/lib/components/organisms/form/form-footer/form-footer.component.mjs +0 -76
  201. package/esm2022/lib/components/organisms/form/form.component.mjs +0 -230
  202. package/esm2022/lib/components/organisms/header/header.component.mjs +0 -33
  203. package/esm2022/lib/components/organisms/header/types.mjs +0 -2
  204. package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +0 -34
  205. package/esm2022/lib/components/organisms/no-content/types.mjs +0 -2
  206. package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +0 -168
  207. package/esm2022/lib/components/organisms/toolbar/types.mjs +0 -2
  208. package/esm2022/lib/components/organisms/wizard/types.mjs +0 -7
  209. package/esm2022/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.mjs +0 -107
  210. package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +0 -103
  211. package/esm2022/lib/components/templates/layout/layout.component.mjs +0 -19
  212. package/esm2022/lib/components/templates/simple/simple.component.mjs +0 -72
  213. package/esm2022/lib/components/templates/simple/types.mjs +0 -2
  214. package/esm2022/lib/components/types.mjs +0 -36
  215. package/esm2022/lib/services/download.service.mjs +0 -63
  216. package/esm2022/lib/services/lang-provider/components/lang-settings.mjs +0 -13
  217. package/esm2022/lib/services/lang-provider/components/theme-settings.mjs +0 -15
  218. package/esm2022/lib/services/lang-provider/content.mjs +0 -8
  219. package/esm2022/lib/services/lang-provider/lang-provider.service.mjs +0 -39
  220. package/esm2022/lib/services/lang-provider/types.mjs +0 -14
  221. package/esm2022/lib/services/local-storage.service.mjs +0 -16
  222. package/esm2022/lib/services/theme.service.mjs +0 -97
  223. package/esm2022/lib/services/types.mjs +0 -3
  224. package/esm2022/lib/shared/constants/storage.mjs +0 -3
  225. package/esm2022/lib/shared/utils/dom.mjs +0 -17
  226. package/esm2022/public-api.mjs +0 -88
  227. package/esm2022/valtech-components.mjs +0 -5
  228. package/fesm2022/valtech-components.mjs +0 -2987
  229. package/fesm2022/valtech-components.mjs.map +0 -1
  230. package/index.d.ts +0 -5
  231. package/lib/components/atoms/avatar/avatar.component.d.ts +0 -12
  232. package/lib/components/atoms/avatar/types.d.ts +0 -6
  233. package/lib/components/atoms/box/box.component.d.ts +0 -12
  234. package/lib/components/atoms/box/types.d.ts +0 -7
  235. package/lib/components/atoms/button/button.component.d.ts +0 -20
  236. package/lib/components/atoms/button/factory.d.ts +0 -71
  237. package/lib/components/atoms/display/display.component.d.ts +0 -10
  238. package/lib/components/atoms/display/types.d.ts +0 -6
  239. package/lib/components/atoms/divider/divider.component.d.ts +0 -10
  240. package/lib/components/atoms/divider/types.d.ts +0 -5
  241. package/lib/components/atoms/href/href.component.d.ts +0 -15
  242. package/lib/components/atoms/href/types.d.ts +0 -9
  243. package/lib/components/atoms/icon/icon.component.d.ts +0 -10
  244. package/lib/components/atoms/icon/types.d.ts +0 -6
  245. package/lib/components/atoms/image/image.component.d.ts +0 -12
  246. package/lib/components/atoms/image/types.d.ts +0 -11
  247. package/lib/components/atoms/progress-bar/progress-bar.component.d.ts +0 -10
  248. package/lib/components/atoms/progress-bar/types.d.ts +0 -9
  249. package/lib/components/atoms/text/text.component.d.ts +0 -10
  250. package/lib/components/atoms/text/types.d.ts +0 -7
  251. package/lib/components/atoms/title/title.component.d.ts +0 -10
  252. package/lib/components/atoms/title/types.d.ts +0 -7
  253. package/lib/components/molecules/alert-box/alert-box.component.d.ts +0 -10
  254. package/lib/components/molecules/button-group/button-group.component.d.ts +0 -13
  255. package/lib/components/molecules/button-group/types.d.ts +0 -6
  256. package/lib/components/molecules/card/card.component.d.ts +0 -16
  257. package/lib/components/molecules/card/types.d.ts +0 -32
  258. package/lib/components/molecules/check-input/check-input.component.d.ts +0 -8
  259. package/lib/components/molecules/comment-input/comment-input.component.d.ts +0 -10
  260. package/lib/components/molecules/content-loader/content-loader.component.d.ts +0 -10
  261. package/lib/components/molecules/content-loader/types.d.ts +0 -7
  262. package/lib/components/molecules/date-input/date-input.component.d.ts +0 -10
  263. package/lib/components/molecules/email-input/email-input.component.d.ts +0 -10
  264. package/lib/components/molecules/file-input/file-input.component.d.ts +0 -15
  265. package/lib/components/molecules/hint/hint.component.d.ts +0 -11
  266. package/lib/components/molecules/hour-input/hour-input.component.d.ts +0 -10
  267. package/lib/components/molecules/link/link.component.d.ts +0 -12
  268. package/lib/components/molecules/link/types.d.ts +0 -6
  269. package/lib/components/molecules/links-cake/links-cake.component.d.ts +0 -10
  270. package/lib/components/molecules/notes-box/notes-box.component.d.ts +0 -10
  271. package/lib/components/molecules/notes-box/types.d.ts +0 -8
  272. package/lib/components/molecules/number-input/number-input.component.d.ts +0 -10
  273. package/lib/components/molecules/password-input/password-input.component.d.ts +0 -11
  274. package/lib/components/molecules/pin-input/pin-input.component.d.ts +0 -15
  275. package/lib/components/molecules/progress-status/progress-status.component.d.ts +0 -14
  276. package/lib/components/molecules/progress-status/types.d.ts +0 -10
  277. package/lib/components/molecules/prompter/prompter.component.d.ts +0 -12
  278. package/lib/components/molecules/radio-input/radio-input.component.d.ts +0 -10
  279. package/lib/components/molecules/searchbar/searchbar.component.d.ts +0 -14
  280. package/lib/components/molecules/text-input/text-input.component.d.ts +0 -10
  281. package/lib/components/molecules/title-block/title-block.component.d.ts +0 -10
  282. package/lib/components/molecules/title-block/types.d.ts +0 -12
  283. package/lib/components/organisms/banner/banner.component.d.ts +0 -14
  284. package/lib/components/organisms/banner/types.d.ts +0 -12
  285. package/lib/components/organisms/footer/footer.component.d.ts +0 -12
  286. package/lib/components/organisms/form/factory.d.ts +0 -5
  287. package/lib/components/organisms/form/form-footer/form-footer.component.d.ts +0 -15
  288. package/lib/components/organisms/form/form.component.d.ts +0 -23
  289. package/lib/components/organisms/header/header.component.d.ts +0 -12
  290. package/lib/components/organisms/no-content/no-content.component.d.ts +0 -12
  291. package/lib/components/organisms/toolbar/toolbar.component.d.ts +0 -21
  292. package/lib/components/organisms/toolbar/types.d.ts +0 -11
  293. package/lib/components/organisms/wizard/types.d.ts +0 -20
  294. package/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.d.ts +0 -21
  295. package/lib/components/organisms/wizard/wizard.component.d.ts +0 -22
  296. package/lib/components/templates/layout/layout.component.d.ts +0 -5
  297. package/lib/components/templates/simple/simple.component.d.ts +0 -7
  298. package/lib/components/types.d.ts +0 -113
  299. package/lib/services/download.service.d.ts +0 -8
  300. package/lib/services/lang-provider/components/lang-settings.d.ts +0 -3
  301. package/lib/services/lang-provider/components/theme-settings.d.ts +0 -3
  302. package/lib/services/lang-provider/content.d.ts +0 -6
  303. package/lib/services/lang-provider/lang-provider.service.d.ts +0 -17
  304. package/lib/services/lang-provider/types.d.ts +0 -15
  305. package/lib/services/local-storage.service.d.ts +0 -6
  306. package/lib/services/theme.service.d.ts +0 -27
  307. package/lib/shared/constants/storage.d.ts +0 -2
  308. package/lib/shared/utils/dom.d.ts +0 -3
@@ -0,0 +1,9 @@
1
+ @import '../../styles/mixins.scss';
2
+
3
+ .title {
4
+ margin: pxToRem(16) 0;
5
+ }
6
+
7
+ .link {
8
+ margin-bottom: pxToRem(8);
9
+ }
@@ -0,0 +1,30 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input, OnInit } from '@angular/core';
3
+ import { HrefComponent } from '../../atoms/href/href.component';
4
+ import { TitleComponent } from '../../atoms/title/title.component';
5
+ import { LinkCakeMetadata } from './types';
6
+
7
+ @Component({
8
+ selector: 'val-links-cake',
9
+ standalone: true,
10
+ imports: [CommonModule, TitleComponent, HrefComponent],
11
+ template: `
12
+ <div>
13
+ <div class="title">
14
+ <val-title [props]="{ content: props.title, color: 'dark', bold: false, size: props.size }"></val-title>
15
+ </div>
16
+ <div class="link" *ngFor="let l of props.links">
17
+ <val-href [props]="l"></val-href>
18
+ </div>
19
+ </div>
20
+ `,
21
+ styleUrls: ['./links-cake.component.scss'],
22
+ })
23
+ export class LinksCakeComponent implements OnInit {
24
+ @Input()
25
+ props: LinkCakeMetadata;
26
+
27
+ constructor() {}
28
+
29
+ ngOnInit() {}
30
+ }
@@ -1,6 +1,7 @@
1
1
  import { HrefMetadata } from '../../atoms/href/types';
2
+
2
3
  export interface LinkCakeMetadata {
3
- title: string;
4
- links: HrefMetadata[];
5
- size: 'small' | 'medium' | 'large';
4
+ title: string;
5
+ links: HrefMetadata[];
6
+ size: 'small' | 'medium' | 'large';
6
7
  }
@@ -0,0 +1,5 @@
1
+ @import '../../styles/mixins.scss';
2
+
3
+ .content-container {
4
+ display: inline-grid;
5
+ }
@@ -0,0 +1,28 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input, OnInit } from '@angular/core';
3
+ import { BoxComponent } from '../../atoms/box/box.component';
4
+ import { TextComponent } from '../../atoms/text/text.component';
5
+ import { NotesBoxMetadata } from './types';
6
+
7
+ @Component({
8
+ selector: 'val-notes-box',
9
+ standalone: true,
10
+ imports: [CommonModule, BoxComponent, TextComponent],
11
+ template: `
12
+ <val-box [props]="{ icon: '', bordered: false, color: props.color, leftBorder: true }">
13
+ <div [ngClass]="['content-container', props.size]" body>
14
+ <val-text [props]="{ content: props.prefix, color: props.textColor, bold: true, size: props.size }"></val-text>
15
+ <val-text [props]="{ content: props.text, color: props.textColor, bold: false, size: props.size }"></val-text>
16
+ </div>
17
+ </val-box>
18
+ `,
19
+ styleUrls: ['./notes-box.component.scss'],
20
+ })
21
+ export class NotesBoxComponent implements OnInit {
22
+ @Input()
23
+ props: NotesBoxMetadata;
24
+
25
+ constructor() {}
26
+
27
+ ngOnInit() {}
28
+ }
@@ -0,0 +1,9 @@
1
+ import { Color } from '@ionic/core';
2
+
3
+ export interface NotesBoxMetadata {
4
+ color: Color;
5
+ textColor: Color;
6
+ prefix: string;
7
+ text: string;
8
+ size: 'small' | 'medium' | 'large' | 'xlarge';
9
+ }
@@ -0,0 +1,19 @@
1
+ import { Component, Input, OnInit } from '@angular/core';
2
+ import { ReactiveFormsModule } from '@angular/forms';
3
+ import { IonInput } from '@ionic/angular/standalone';
4
+ import { InputMetadata } from '../../types';
5
+
6
+ @Component({
7
+ selector: 'val-number-input',
8
+ standalone: true,
9
+ imports: [ReactiveFormsModule, IonInput],
10
+ template: ` <ion-input [formControl]="props.control" type="number" [placeholder]="props.placeholder"></ion-input> `,
11
+ styleUrls: ['./number-input.component.scss'],
12
+ })
13
+ export class NumberInputComponent implements OnInit {
14
+ @Input() props: InputMetadata;
15
+
16
+ constructor() {}
17
+
18
+ ngOnInit() {}
19
+ }
@@ -0,0 +1,7 @@
1
+ @import '../../organisms/form/form.component.scss';
2
+
3
+ .input-container {
4
+ display: flex;
5
+ align-items: center;
6
+ flex-direction: row;
7
+ }
@@ -0,0 +1,33 @@
1
+ import { Component, Input, OnInit } from '@angular/core';
2
+ import { ReactiveFormsModule } from '@angular/forms';
3
+ import { IonButton, IonIcon, IonInput } from '@ionic/angular/standalone';
4
+ import { InputMetadata } from '../../types';
5
+
6
+ @Component({
7
+ selector: 'val-password-input',
8
+ standalone: true,
9
+ imports: [ReactiveFormsModule, IonInput, IonButton, IonIcon],
10
+ template: `
11
+ <div class="input-container">
12
+ <ion-input
13
+ class="sign-in__input-password"
14
+ [formControl]="props.control"
15
+ [type]="hidePassword ? 'password' : 'text'"
16
+ [placeholder]="props.placeholder"
17
+ ></ion-input>
18
+ <ion-button color="dark" fill="clear" (click)="hidePassword = !hidePassword" size="small">
19
+ <ion-icon slot="icon-only" [name]="hidePassword ? 'eye-off-outline' : 'eye-outline'"></ion-icon>
20
+ </ion-button>
21
+ </div>
22
+ `,
23
+ styleUrls: ['./password-input.component.scss'],
24
+ })
25
+ export class PasswordInputComponent implements OnInit {
26
+ @Input() props: InputMetadata;
27
+
28
+ hidePassword = true;
29
+
30
+ constructor() {}
31
+
32
+ ngOnInit() {}
33
+ }
@@ -0,0 +1,13 @@
1
+ @import '../../organisms/form/form.component.scss';
2
+
3
+ .otp {
4
+ text-align: center;
5
+ margin-top: pxToRem(4);
6
+ font-family: var(--ion-default-font), Arial, sans-serif;
7
+ }
8
+
9
+ .otp-input-box {
10
+ &:focus {
11
+ border-color: aqua;
12
+ }
13
+ }
@@ -0,0 +1,42 @@
1
+ import { Component, Input, OnInit, ViewChild } from '@angular/core';
2
+ import { NgOtpInputComponent, NgOtpInputConfig, NgOtpInputModule } from 'ng-otp-input';
3
+ import { InputMetadata } from '../../types';
4
+
5
+ @Component({
6
+ selector: 'val-pin-input',
7
+ standalone: true,
8
+ imports: [NgOtpInputModule],
9
+ template: `
10
+ <div class="otp">
11
+ <ng-otp-input [formCtrl]="props.control" [config]="otpInputConfig"></ng-otp-input>
12
+ </div>
13
+ `,
14
+ styleUrls: ['./pin-input.component.scss'],
15
+ })
16
+ export class PinInputComponent implements OnInit {
17
+ @ViewChild(NgOtpInputComponent, { static: false }) pinCode: NgOtpInputComponent | undefined;
18
+
19
+ @Input() props: InputMetadata;
20
+
21
+ codeLength = 5;
22
+ otpInputConfig: NgOtpInputConfig = {
23
+ inputStyles: {
24
+ 'font-size': '36px',
25
+ width: '55px',
26
+ height: '55px',
27
+ },
28
+ inputClass: 'otp-input-box',
29
+ length: this.codeLength,
30
+ allowNumbersOnly: true,
31
+ };
32
+
33
+ constructor() {}
34
+
35
+ ngOnInit() {}
36
+
37
+ reset() {
38
+ if (this.pinCode) {
39
+ this.pinCode.setValue('');
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,41 @@
1
+ @import '../../styles/mixins.scss';
2
+
3
+ .status-container {
4
+ min-height: pxToRem(100);
5
+ margin: pxToRem(16) pxToRem(8);
6
+ }
7
+
8
+ .progress-bar-container {
9
+ max-width: 60%;
10
+ margin: 0 auto;
11
+ }
12
+
13
+ .title-container {
14
+ margin-bottom: pxToRem(8);
15
+ }
16
+
17
+ .subtitle-container {
18
+ width: 100%;
19
+ display: flex;
20
+ }
21
+
22
+ .subtitle {
23
+ padding: pxToRem(16);
24
+ margin: 0 auto;
25
+ height: pxToRem(16);
26
+ }
27
+
28
+ .blink {
29
+ animation: blink 1s infinite alternate ease-in;
30
+ }
31
+
32
+ @keyframes blink {
33
+ 0% {
34
+ opacity: 0;
35
+ margin-top: 6px;
36
+ }
37
+ 100% {
38
+ opacity: 1;
39
+ margin-top: 0;
40
+ }
41
+ }
@@ -0,0 +1,70 @@
1
+ import { Component, Input, OnInit } from '@angular/core';
2
+ import { ProgressBarComponent } from '../../atoms/progress-bar/progress-bar.component';
3
+ import { TextComponent } from '../../atoms/text/text.component';
4
+ import { TitleBlockComponent } from '../title-block/title-block.component';
5
+ import { ProgressStatusMetadata } from './types';
6
+
7
+ @Component({
8
+ selector: 'val-progress-status',
9
+ standalone: true,
10
+ imports: [TitleBlockComponent, ProgressBarComponent, TextComponent],
11
+ template: `
12
+ <div class="status-container">
13
+ <div class="title-container">
14
+ <val-title-block
15
+ [props]="{
16
+ position: 'center',
17
+ aboveTitle: props.titles.aboveTitle,
18
+ title: props.titles.title,
19
+ bellowTitle: props.titles.bellowTitle,
20
+ }"
21
+ ></val-title-block>
22
+ </div>
23
+ <div class="progress-bar-container">
24
+ <val-progress-bar
25
+ [props]="{
26
+ progress: props.progress,
27
+ size: 'xlarge',
28
+ color: props.color,
29
+ rounded: true,
30
+ type: 'determinate',
31
+ buffer: 1,
32
+ }"
33
+ ></val-progress-bar>
34
+ </div>
35
+ <div class="subtitle-container">
36
+ <div class="subtitle" [class.blink]="blinking">
37
+ <val-text [props]="{ content: Content, color: 'medium', bold: false, size: props.size }"></val-text>
38
+ </div>
39
+ </div>
40
+ </div>
41
+ `,
42
+ styleUrls: ['./progress-status.component.scss'],
43
+ })
44
+ export class ProgressStatusComponent implements OnInit {
45
+ @Input()
46
+ props: ProgressStatusMetadata;
47
+
48
+ currentIndex = 0;
49
+ blinking = false;
50
+
51
+ constructor() {}
52
+
53
+ ngOnInit() {
54
+ setInterval(() => {
55
+ this.blinking = !this.blinking;
56
+ }, 1000);
57
+
58
+ setInterval(() => {
59
+ this.getNextMessage();
60
+ }, 9000);
61
+ }
62
+
63
+ get Content(): string {
64
+ return this.props.messages[this.currentIndex];
65
+ }
66
+
67
+ getNextMessage(): void {
68
+ this.currentIndex = (this.currentIndex + 1) % this.props.messages.length;
69
+ }
70
+ }
@@ -0,0 +1,11 @@
1
+ import { Color } from '@ionic/core';
2
+ import { TitleBlockMetada } from '../title-block/types';
3
+
4
+ export type ProgressStatusMetadata = {
5
+ progress: number;
6
+ titles: TitleBlockMetada;
7
+ color: Color;
8
+ size?: 'small' | 'medium' | 'large' | 'xlarge';
9
+ type?: 'determinate' | 'indeterminate';
10
+ messages: string[];
11
+ };
@@ -0,0 +1,34 @@
1
+ @import '../../styles/mixins.scss';
2
+
3
+ .container {
4
+ display: flex;
5
+ align-items: center;
6
+ justify-content: center;
7
+ }
8
+
9
+ .teleprompter-container {
10
+ overflow: hidden;
11
+ width: 100%;
12
+ }
13
+
14
+ .teleprompter-content {
15
+ white-space: nowrap;
16
+ animation: scroll-left 15s linear infinite;
17
+ }
18
+
19
+ @keyframes scroll-left {
20
+ 0% {
21
+ transform: translateX(
22
+ 100%
23
+ ); /* Inicia la animación con el contenido desplazado completamente a la derecha */
24
+ }
25
+ 100% {
26
+ transform: translateX(
27
+ -100%
28
+ ); /* Termina la animación con el contenido desplazado completamente a la izquierda */
29
+ }
30
+ }
31
+
32
+ .link {
33
+ margin: 0 pxToRem(4);
34
+ }
@@ -0,0 +1,58 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
3
+ import { BoxComponent } from '../../atoms/box/box.component';
4
+ import { HrefComponent } from '../../atoms/href/href.component';
5
+ import { TextComponent } from '../../atoms/text/text.component';
6
+ import { ButtonGroupComponent } from '../button-group/button-group.component';
7
+ import { PrompterMetadata } from './types';
8
+
9
+ @Component({
10
+ selector: 'val-prompter',
11
+ standalone: true,
12
+ imports: [CommonModule, BoxComponent, ButtonGroupComponent, TextComponent, HrefComponent],
13
+ template: `
14
+ <val-box
15
+ class="teleprompter-container"
16
+ [props]="{ icon: '', bordered: props.bordered, color: props.color, leftBorder: false }"
17
+ >
18
+ <div class="container" [class.teleprompter-content]="props.teleprompter" body>
19
+ <div>
20
+ <val-text
21
+ [props]="{
22
+ content: props.content,
23
+ color: '',
24
+ bold: true,
25
+ size: 'large',
26
+ }"
27
+ ></val-text>
28
+ </div>
29
+ <div *ngIf="props.buttons">
30
+ <val-button-group
31
+ class="buttons-container"
32
+ [props]="{ buttons: props.buttons, position: 'left', columned: false }"
33
+ (onClick)="clickHandler($event)"
34
+ ></val-button-group>
35
+ </div>
36
+ <div *ngIf="props.hrefs">
37
+ <val-href class="link" *ngFor="let l of props.hrefs" [props]="l" (onClick)="clickHandler($event)"></val-href>
38
+ </div>
39
+ </div>
40
+ </val-box>
41
+ `,
42
+ styleUrls: ['./prompter.component.scss'],
43
+ })
44
+ export class PrompterComponent implements OnInit {
45
+ @Input()
46
+ props: PrompterMetadata;
47
+
48
+ @Output()
49
+ onClick = new EventEmitter<string>();
50
+
51
+ constructor() {}
52
+
53
+ ngOnInit() {}
54
+
55
+ clickHandler(token?: string) {
56
+ this.onClick.emit(token);
57
+ }
58
+ }
@@ -1,11 +1,12 @@
1
1
  import { Color } from '@ionic/core';
2
2
  import { HrefMetadata } from '../../atoms/href/types';
3
3
  import { ButtonMetadata } from '../../types';
4
+
4
5
  export type PrompterMetadata = {
5
- teleprompter: boolean;
6
- bordered: boolean;
7
- color?: Color;
8
- content: string;
9
- buttons?: ButtonMetadata[];
10
- hrefs?: HrefMetadata[];
6
+ teleprompter: boolean;
7
+ bordered: boolean;
8
+ color?: Color;
9
+ content: string;
10
+ buttons?: ButtonMetadata[];
11
+ hrefs?: HrefMetadata[];
11
12
  };
@@ -0,0 +1,27 @@
1
+ import { NgFor } from '@angular/common';
2
+ import { Component, Input, OnInit } from '@angular/core';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { IonRadio, IonRadioGroup } from '@ionic/angular/standalone';
5
+ import { InputMetadata } from '../../types';
6
+
7
+ @Component({
8
+ selector: 'val-radio-input',
9
+ standalone: true,
10
+ imports: [NgFor, ReactiveFormsModule, IonRadioGroup, IonRadio],
11
+ template: `
12
+ <ion-radio-group [allowEmptySelection]="true" [formControl]="props.control">
13
+ <ng-container *ngFor="let o of props.options">
14
+ <ion-radio [value]="o.id">{{ o.name }}</ion-radio>
15
+ <br />
16
+ </ng-container>
17
+ </ion-radio-group>
18
+ `,
19
+ styleUrls: ['./radio-input.component.scss'],
20
+ })
21
+ export class RadioInputComponent implements OnInit {
22
+ @Input() props: InputMetadata;
23
+
24
+ constructor() {}
25
+
26
+ ngOnInit() {}
27
+ }
@@ -0,0 +1,9 @@
1
+ @import '../../styles/variables.scss';
2
+ @import '../../styles/mixins.scss';
3
+
4
+ ion-searchbar {
5
+ --cancel-button-color: var(--ion-color-dark);
6
+ --background: var(--ion-color-light);
7
+
8
+ font-family: var(--ion-default-font), Arial, sans-serif;
9
+ }
@@ -0,0 +1,47 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { IonSearchbar } from '@ionic/angular/standalone';
3
+
4
+ @Component({
5
+ selector: 'app-searchbar',
6
+ standalone: true,
7
+ imports: [IonSearchbar],
8
+ template: `
9
+ <ion-searchbar
10
+ mode="ios"
11
+ debounce="500"
12
+ placeholder="Búsqueda"
13
+ [disabled]="disabled"
14
+ showCancelButton="focus"
15
+ cancelButtonText="Cancelar"
16
+ (ionInput)="onSearch($event)"
17
+ (ionBlur)="onBlur()"
18
+ (ionFocus)="onFocus()"
19
+ >
20
+ </ion-searchbar>
21
+ `,
22
+ styleUrls: ['./searchbar.component.scss'],
23
+ })
24
+ export class SearchbarComponent {
25
+ @Input() disabled: boolean;
26
+
27
+ @Output() focusEvent = new EventEmitter<void>();
28
+
29
+ @Output() blurEvent = new EventEmitter<void>();
30
+
31
+ @Output() filterEvent = new EventEmitter<string>();
32
+
33
+ constructor() {}
34
+
35
+ onSearch($event: any) {
36
+ const searchTerm = $event.detail.value;
37
+ this.filterEvent.emit(searchTerm);
38
+ }
39
+
40
+ onFocus() {
41
+ this.focusEvent.emit();
42
+ }
43
+
44
+ onBlur() {
45
+ this.blurEvent.emit();
46
+ }
47
+ }
@@ -0,0 +1 @@
1
+ @import '../../organisms/form/form.component.scss';
@@ -0,0 +1,19 @@
1
+ import { Component, Input, OnInit } from '@angular/core';
2
+ import { FormControl, ReactiveFormsModule } from '@angular/forms';
3
+ import { IonInput } from '@ionic/angular/standalone';
4
+ import { InputMetadata } from '../../types';
5
+
6
+ @Component({
7
+ selector: 'val-text-input',
8
+ standalone: true,
9
+ imports: [ReactiveFormsModule, IonInput],
10
+ template: ` <ion-input [formControl]="props.control" type="text" [placeholder]="props.placeholder"></ion-input> `,
11
+ styleUrls: ['./text-input.component.scss'],
12
+ })
13
+ export class TextInputComponent implements OnInit {
14
+ @Input() props: InputMetadata;
15
+
16
+ constructor() {}
17
+
18
+ ngOnInit() {}
19
+ }
@@ -0,0 +1,36 @@
1
+ @import '../../styles/mixins.scss';
2
+
3
+ val-button,
4
+ val-title,
5
+ val-display {
6
+ display: inline-block;
7
+ }
8
+
9
+ .titles-container {
10
+ width: 100%;
11
+ padding: pxToRem(4);
12
+ display: flex;
13
+ flex-direction: column;
14
+ flex-wrap: wrap;
15
+
16
+ &.left {
17
+ align-content: flex-start;
18
+ align-items: start;
19
+ }
20
+
21
+ &.center {
22
+ align-content: center;
23
+ align-items: center;
24
+ text-align: center;
25
+ }
26
+
27
+ &.right {
28
+ align-content: flex-end;
29
+ align-items: end;
30
+ text-align: end;
31
+ }
32
+
33
+ @include media-medium {
34
+ padding: pxToRem(8);
35
+ }
36
+ }
@@ -0,0 +1,50 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input, OnInit } from '@angular/core';
3
+ import { DisplayComponent } from '../../atoms/display/display.component';
4
+ import { TitleComponent } from '../../atoms/title/title.component';
5
+ import { TitleBlockMetada } from './types';
6
+
7
+ @Component({
8
+ selector: 'val-title-block',
9
+ standalone: true,
10
+ imports: [CommonModule, TitleComponent, DisplayComponent],
11
+ template: `
12
+ <div [ngClass]="['titles-container', props.position]">
13
+ <val-title
14
+ *ngIf="props.aboveTitle"
15
+ [props]="{
16
+ content: props.aboveTitle.text | uppercase,
17
+ color: props.aboveTitle.color,
18
+ bold: false,
19
+ size: props.aboveTitle.size,
20
+ }"
21
+ ></val-title>
22
+ <val-display
23
+ *ngIf="props.title"
24
+ [props]="{
25
+ content: props.title.text,
26
+ color: props.title.color,
27
+ size: props.title.size,
28
+ }"
29
+ ></val-display>
30
+ <val-title
31
+ *ngIf="props.bellowTitle"
32
+ [props]="{
33
+ content: props.bellowTitle.text,
34
+ color: props.bellowTitle.color,
35
+ bold: false,
36
+ size: props.bellowTitle.size,
37
+ }"
38
+ ></val-title>
39
+ </div>
40
+ `,
41
+ styleUrls: ['./title-block.component.scss'],
42
+ })
43
+ export class TitleBlockComponent implements OnInit {
44
+ @Input()
45
+ props: TitleBlockMetada;
46
+
47
+ constructor() {}
48
+
49
+ ngOnInit() {}
50
+ }
@@ -0,0 +1,14 @@
1
+ import { Color } from '@ionic/core';
2
+
3
+ export type TitleMetada = {
4
+ text: string;
5
+ color: Color;
6
+ size: 'small' | 'medium' | 'large' | 'xlarge';
7
+ };
8
+
9
+ export type TitleBlockMetada = {
10
+ position: 'center' | 'left' | 'right';
11
+ title?: TitleMetada;
12
+ aboveTitle?: TitleMetada;
13
+ bellowTitle?: TitleMetada;
14
+ };